Home Status Firefox Extension

Hallo,

Auf der Suche nach neuen Kommunikationsmöglichkeiten mit IPS und um den WAF noch zu verbessern (einfache Bedienung), habe ich eine Extension für Firefox geschrieben, die den Status von beliebigen Variablen anzeigt (zur Zeit aber nur FHT und Anrufe).

Ein Browser ist ja immer irgendwo offen zu Hause oder bei der Arbeit und beim Surfen bleibt damit die Wohnung immer unter Kontrolle.

Die Extension liest die Variablen aus einem RSS Feed den ein IPS Script alle paar Minuten schreibt. Ich plane das XML auch zum Teil zu verschlüsseln. Ich habe bis jetzt keine einfache andere Möglichkeit als den RSS Feed gefunden, um auf die Variablen zuzugreifen. Besser wäre direkt auf die IPS Web Server Seite zuzugreifen. Dafür müsste es sich automatisch einloggen. Vielleicht habt Ihr da Ideen ?

Hier ein paar Screenshots. Die Extension gibt es sehr bald hier zum download.

Gruss,

home_status_ff_extension1.png

home_status_ff_extension2.png

home_status_ff_extension3.png

home_status_ff_extension4.png

Hallo zapp,

gratulation, ist einfach chic.

Ich finde es immer wieder faszinierend welche Möglichkeiten man mit IPS alles hat.

Sieht ganz nett aus und von der Idee hast du Recht… Der Browser ist fast immer offen.

Wie liest du die ganzen FHT’s ect aus? Hast du dir vielleicht mal die Methode angeguckt, wie es beim QuickSwitch im WIIPS gemacht ist? (Nebenbei: Vielleicht könnte ja jemand aus den Fitzbox Scripten ein WIIPS Modul machen)

Im WIIPS gibt es ja die ganze Benutzerverwaltung und Sachen wie wer darf was… Dort könnte sich die Extension ja einloggen, die SessionID holen und diese dann immer wieder verwenden, solange die Pollingzeit < Timeout ist.
Dann könnte man die XML auch direkt „OnRequest“ frisch erstellen.

Im Firefox gibt es ja bei den meisten Plugins die Möglichkeit diese zu verändern. Man kann einstellen welche Buttons sichtbar sind. Könnte man das selbe nicht für die FHT’s machen? Man bekommt eine Liste welche alle da sind, und wählt dann aus, welche angezeigt werden. Ich weiß nur nicht genau, wie aufwendig das zu programmieren wäre.

Btw. Die Shortcuts würde ich evtl direkt in den RRS Feed legen. Damit müsste man flexibler sein.

Grüße, paresy

Hallo,

coole Sache würde ich auch sofort nutzen.

Gruß
Oliver

In der aktuellen funktionierenden Version steht alles in der Feed Datei. Das IPS Script schreibt einfach alle FHT’s rein. Die Extension liest dann alle Items aus dem XML und entnimmt den Typ des Moduls aus dem Titel. Wenn z.B. im Titel FHT: Name steht, werden die Werte als FHT angezeigt mit Heizungs-icon.

Ich experimentiere gerade mit dem automatischen einloggen, so wie du es beschreibst. Das scheint bei mir zu funktionieren. Ich benütze aber meinen eigenen Webserver und da ist die login Prozedur nicht die selbe wie in WIIPS. Ich plane da aber mal reinzuschauen und es eventuell anzupassen.

Gute Idee. Ich hatte bisher angenommen, dass der User nur die FHTs in den Feed schreibt, die er auch sehen will. Es ist aber noch besser, wenn alles von der Extension aus eingestellt wird. Dann könnten von der IPS Seite automatisch alle Module in die Feed-Datei geschrieben werden, wie im QS von WIIPS. Vom Programmieraufwand ist das sicher weniger als das automatische einloggen.

So ist es eigentlich auch schon. Ich hatte da gedacht den link für das einloggen mit Username/passwort abzufragen. Aber du hast recht, diese Adresse könnte auch aus dem Feed gelesen werden.

Danke für den „Feedback“.

Gruss,

Zapp

Hallo zapp,

In QS wird nicht nur alles angezeigt, man kann auch zusaetzlich die verfuegbaren Instanzen ueber die QS Konfiguration ausblenden. Und man kann verschiedene Icons zur Anzeige benutzen.

Gruss Torro

Hallo,

Ich habe paresy’s Vorschläge zum Teil eingebaut. Hier schon mal eine Version zum downloaden mit dem aktuellen Stand. Nachdem die Extension installiert ist, prüft der Firefox regelmässig ob es Updates gibt (wenn in den Einstellungen so angegeben). Die lädt er sich dann vom Server runter.

Die Extension liest die Variablen aus einem RSS Feed, der mit dieser IPS FeedGenerator Klasse gebaut werden kann. Diese Klasse kann die Variablen für alle vorhandenen FHT, HMS (Temp/Feuchte) und FS20TX Module schreiben. Der XMLParser von WIIPS wird benötigt. Das FeedGenerator Script in das IPS Script Verzeichniss kopieren und folgendes Sript schreiben mit Trigger alle paar Minuten:


require "./FeedGenerator.ips.php";
require "../web/base/xmlparser.ips.php";

$rssFilePath = __myWebHome."\\rss\\feed.xml";

// Using the IPS_RSSFeedGenerator
$ipsFeed = new IPS_RSSFeedGenerator("IPS news", "test news from IPS");
// Links-click auf dem Info button öffnet diese Seite:  
$ipsFeed->setLink("http://www.domain.com:8000/");
// Schreibt alle FHT Module in den Feed
$ipsFeed->addModulesItems("FHT", "www.domain.com/fht/");
$ipsFeed->addModulesItems("HMSRX", "www.domain.com/hms/");
$ipsFeed->addModulesItems("FS20TX", "www.domain.com/fs20tx/");

// Add any additional Custom Item (for example ISDN Calls)
$itemISDN = new FeedItem();
$itemISDN->title = "ISDN: Calls";
$itemISDN->link = "www.domain.net";
$itemISDN->description = getNewCalls();
$itemISDN->date = date("d M Y H:i");
$ipsFeed->addItem($itemISDN);
// Feed speichern
$ipsFeed->saveFeed("RSS2.0", $rssFilePath);


Die Extension (beta) gibt es hier für Firefox ab Version 1.5. Die Installation müsste automatisch starten. Firefox wird aber womöglich verlangen, dass die domain Adresse vorher auf der Liste der berechtigten Adressen hinzugefügt wird („Edit Options“ auf der gelben Warnungs-Leiste).
Nach der Installation (und Neustart) öffnet ein rechter Maus-Klick auf dem Info Button in der Statusleiste das Einstellungsfenster. „Mehr>>“ öffnet dann ein Fenster für die Auswahl der Module.

Viel Spass,

Zapp

home_status_ff_extension5.png

Hallo zapp… Den RSS Feed habe ich ohne Probleme einrichten können :slight_smile:

Nur klappt das mit der Extension nicht.

  1. Mag mein Firefox deinen Downloadlink nicht. Er sagt immer Fertig und zeigt eine weisse Seite an.

  2. Wenn ich es manuell runterlade und mit Firefox installiere, wird es in den Extension zwar richtig angezeigt, es gibt aber folgenden Fehler :frowning:

Vielleicht hast du ja eine Idee. Habe Firefox 1.5.0.7

paresy

Hallo paresy,

Auf zwei PCs zu Hause hat er richtig installiert aber jetzt auf dem Arbeits-PC habe ich genau das selbe Problem. Alternative ist es den Link oben mit Rechts-Klick zu speichern und in .xpi umzubenennen. Dann mit Firefox wie eine gewöhnliche Datei öffnen.

Da bin ich ratlos. Auf dem Arbeits-PC habe ich auch Firefox 1.5.0.7 (zu Hause 2.0) und die Installation hat gut funktioniert. Nach der Installation zeigt die Statusleiste des Browsers eine Info-Icon und eine Progress bar, solange bis mit den Einstellungen der link zum RSS feed angegeben wird.

statusbar_after_install.PNG

Ich finde auch in der XUL Datei, in der der Fehler laut deiner Meldung sein soll kein Problem.
Kannst du das Dialog Fenster mit den Einstellungen von der Extensions Liste aus öffnen ?

ff_extensions.PNG

Einziger Unterschied scheint zu sein, dass bei dir die Deutsche Version installiert wird. Ich sehe mir das mal an. Leider bin ich in den nächsten zwei Tagen unterwegs und kann es erst am Wochenende richtig testen.

Zapp

Genau so habe ich es gemacht. :slight_smile:

Da bin ich ratlos. Auf dem Arbeits-PC habe ich auch Firefox 1.5.0.7 (zu Hause 2.0) und die Installation hat gut funktioniert. Nach der Installation zeigt die Statusleiste des Browsers eine Info-Icon und eine Progress bar, solange bis mit den Einstellungen der link zum RSS feed angegeben wird.

Ich finde auch in der XUL Datei, in der der Fehler laut deiner Meldung sein soll kein Problem.
Kannst du das Dialog Fenster mit den Einstellungen von der Extensions Liste aus öffnen ?

Genau von dort habe ich den Screenshot oben. Egal ob Einstellungsseite oder unten. Es erscheint immer der selbe Fehler.

Ich lade gerade erstma den Fuchs in der Version 2.0 runter. Vielleicht hilft das ja.

paresy

Mit dem Englischen Fuchs klappt alles prima. Der Deutsche egal ob 1.5 oder 2.0 gibt die o.g. Fehler.

paresy

Super. Danke für die Info. Ich schau mir das am Wochenende an.

Zapp

Hallo,

Ein nicht kodierter Umlaut hatte sich in der deutschen Version eingeschlichen. Ist jetzt gefixt.

Weitere Änderungen:

[ul]
[li]FS20TX Anzeige
[/li][li]Batterie Icon wird angezeigt wenn FHT oder HMS Batterie lehr
[/li][/ul]

home_status_ff_extension6.png

Zum installieren entweder im Firefox nach Updates prüfen oder hier (eventuell speichern und in .xpi umbenennen)

Zapp

Hallo zapp,

geht der Download Link im Moment nicht? Im Firefox erscheint bei mir eine weisse Seite…

Gruss Torro

… IE funktioniert …

Nun… Eine Firefox Extension mit dem IE runterzuladen? Irgendwie komisch…

:slight_smile:

Der Firefox erlaubt nicht die automatische Installation einer Extension von einer anderen Adresse als die offizielle Mozilla Downloads Adresse. Ist auch aus Sicherheitsgründen OK so. Und XPI Dateien will er gleich installieren und nicht runterladen.

Das Problem ist aber, dass er unterschiedlich reagiert. Wenn ich von meiner Home Page auf den Link klicke, funktioniert es. Mit einem externen Link vom IPS Forum aus reagiert er mit einer weißen Seite :confused:.

Ich suche gerade nach einem Weg, dass zu verhindern. Momentan kann wie gesagt der Link lokal gespeichert werden und die php Datei in .xpi umbenannt werden. Wenn er ein mal installiert ist, geht es über die Firefox updates ohne Probleme.

Zapp

Hallo Zapp, super Extension,
aber bei mir werden alle Heizungen mit „FHT: Heizung“ dargestellt, man kann also nicht unterscheiden um welche Heizung es sich handelt. Wo muss ich das einstellen, bzw. wo liest der Generator dies aus? Vielen Dank

René

Hallo René,

Guter Punkt. Der Name der FHT wird anhand der Location / Category in IPS ermittelt. Ich habe dabei angenommen, dass jede FHT einem Zimmer zugeordnet ist. Bei dir sind aber alle FHTs in einer Heizung Category.

Ich habe den FeedGenerator geändert. Mit einem zusätzlichen Parameter kann jetzt gesetzt werden, ob Category oder Name benützt wird. dafür muss aber jede FHT einen Namen haben.


// Using the IPS_RSSFeedGenerator
$ipsFeed = new IPS_RSSFeedGenerator("IPS news", "test news from IPS");
$ipsFeed->setLink("http://www.domain.com");
// Add FHT Modules, set true if Names should be used. Otherwise Locations are used. Default is false.
$ipsFeed->addModulesItems("FHT", "www.domain.com/fht/", true);

Gruss,

Zapp

Hallo Zapp,

spitze, jetzt funktioniert es wie gewünscht, danke sehr. :slight_smile:

Gruß René