So, hier die aktuellen Plugwise Skripte mit Autoinstaller und Gesamtverbrauch.
Updates
Version 0.6 vom 05.05.2012:
- Gesamtverbrauch wird jetzt über Buffer ausgelesen (siehe Anleitung weiter unten)
- es wird in allen Skripten durchgängig Idents verwendet
- mehrere kleinere Bugs behoben
- Variablentyp für LogAddress von String auf Integer umgestellt
Wer von Version 0.5 kommt, der muß alle Variablen LogAddress löschen - wird dann als Integer automatisch neu angelegt.
Version 0.5 vom 22.04.:
- Typo bei Gesamtverbrauch korrigiert
- Skripten .ips.php angehangen
- Variable State in Status umbenannt
- Variable Watt in Leistug umbenannt
Installation
Voraussetzungen:
- ein funktionierendes Plugwise Netzwerk, welches bspw. mit der mitgelieferten Software ‚Source‘ eingerichtet wurde.
- eingerichteter Serial Port (Baudrate 115200!)
- Cutter anlegen - linkes Trennzeichen „05 05 03 03“ (Hex), Rechtes 0D (Hex), Übergeordnete Instanz: Serial Port.
- installierter IPSInstaller - siehe http://www.ip-symcon.de/forum/f74/ipsinstaller-einige-hilfreiche-scripts-autom-installation-13228/
Installation:
- Struktur anlegen, also eine Kategorie für Plugwise (siehe Screenshot anbei)
- Skripts entpacken und in der Kategorie einbinden
- die physischen Dateinamen dürfen nicht verändert werden, insb. „PW_Include.ips.php“
- in PW_Include.ips.php in Zeile 5 muß noch die ID der RegVar angepaßt werden (welche in Schritt 7 angelegt wird)
- Registervariable anlegen, Zielskript: PW_Controller, Übergeordnete Instanz: Cutter
Tipp: man kann die Skripts jederzeit in eine andere Kategorie zum testen legen. Nur das Zielskript der Registervariable muß auf die entsprechende PW_Controller verweisen. Ich schiebe dazu einfach die Skripts und RegVar zwischen Test- und Produktiv-Umgebung hin- und her.
- Einmalig PW_Install ausführen
Jetzt wird pro gefundenes Circle eine (Dummy) Instanz mit allen Variablen angelegt. Die Fehler im Log kann man ignorieren, erscheinen in Folge nicht mehr.
Die Instanzen sind nach der MAC des Circles benannt und können jetzt nach Belieben umbenannt werden.
- Zyklisches Ereignis für PW_Controller anlegen, am besten minütlich auf x:xx:00. Wer nicht so oft abfragen möchte, aber Gesamtverbrauch ermitteln will, der muß zumindest ein stündliches Ereignis für x:59:00 anlegen (damit die LogAddress beim abfragen stimmt).
Damit wird Status und akt. Leistung der Circles abgefragt
-
Zum Schalten am besten eine Struktur im Webfront (bzw. iOS) mit Links zu den Variablen Status anlegen. Ich hab das bei mir in Dummy-Instanzen logisch gruppiert (Küche, Heizen & Kühlen, Waschen etc.).
-
Wer Variablen loggen möchte, der kann das pro Variable auf dem normalen Weg explizit einschalten. Gesamtverbrauch sollte Typ Zähler sein.
-
Einmalig PW_SetTime ausführen, am besten durch Ereignis ein mal nächtlich ausführen.
Achtung: die Circles werden dadurch eine Minute vorgestellt. Damit legen die Circles die Werte schon vor der vollen Stunde in den Buffer ab und kann dort abgefragt und von IPS der richtigen Stunde zugeordnet werden.
Achtung 2: Die Source stellt die Uhrzeit wieder richtig. Nachdem man also Source gestartet hat, muß man wieder die Zeit eine Minute vorstellen.
- PW_ReadBuffer einbinden und stündliches Ereignis anlegen auf x:59:30.
Damit wird schlussendlich der Gesamtverbrauch abgefragt. Das Timing des Ereignis ist wichtig, sonst funktioniert es nicht!
Tipps:
Schalten per Skript geht so:
include("PW_Include.ips.php");
PW_SwitchMode(47610 /*[System\Plugwise\Circles\Drucker]*/, 1);
Ich habe drumherum noch einige Logik-Skripts (bspw. Drucker bei Druckauftrag einschalten und nach 15 Min. wieder ausschalten), Auswerte-Skripts (bspw. Waschmaschine fertig) und Tipps zur Visualisierung. Diese werde ich separat posten…
Noch zu lösende Probleme der Plugwise-Skripte:
- Anlegen des Netzwerks immer noch mit der ‚Source‘ (hab keine Zeit zum testen)
- Einbindung in IPSLibrary
- Ablegen des Gesamtverbrauchs (Buffer-Werte) in externe Datenbank
- Auswerten der Sequenznummer (Nice to have)
Ich hoffe ich hab an alles gedacht und wünsche euch viel Spaß beim testen!
Danke & Gruß,
Axel


Plugwise 0.6.zip (7.86 KB)