Funktionsumfang
Abfragen von Systemvariablen inkl. Profilen und Werten von der CCU.
Schreiben von Werten der Systemvariablen zur CCU.
Standard Actionhandler für die Bedienung der Systemvariablen aus dem IPS-Webfront.
Abfragen der auf der CCU vorhandenen HM-Programme.
Ausführen der HM-Programme auf der CCU.
Standard Actionhandler für die Bedienung der HM-Programme aus dem IPS-Webfront.
Abfragen des Summenzählers der Schaltaktoren mit Leistungsmessung aus der CCU.
XML-API-Patch wird nicht benötigt.
Unterstützung von mehreren CCUs.
Einfache Einrichtung und Handhabung.
PHP-Befehle entsprechen dem vorhanden Standard von IPS.
Lauffähig unter Windows IPS 3.x
Und bevor einer fragt 'Warum ein Modul, wenn wir doch funktionsfähige PHP-Scripte haben? ',
hatte ich mehrere Gründe diese Modul zu schreiben.
[ul]
[li]Die bisherigen Scripte unterstützen den Schaltaktor mit Leistungsmessung nur bedingt.[/li][li]Die Profile aus der CCU wurden nicht automatisch gelesen.[/li][li]Um Variablen aus dem WF heraus zu bedienen mußte noch viel per Hand erledigt werden.[/li][li]Einsteiger haben häufig Probleme mit der Einrichtung von PHP-Scripten und dem Verknüpfen mit den entsprechenden Variablen und Aktionen.[/li][li]Für mich selbst war es ein Projekt um weitere Erfahrungen mit dem SDK, Delphi und INDY zu sammeln. [/li][li]Außerdem bin ich der Meinung, dass wenn Hardware (hier die CCU) schon nativ von IPS unterstützt wird; dann bitte auch so komplett und umfangreich wie möglich. Und da gehören die Systemvariablen dazu.[/li][/ul]
Da ich das Modul selbst einsetze, werde ich bei IPS-Updates Diese auch neu einstellen, sobald das jeweilige SDK released wurde.
Bei der CCU1 bitte unter Vorbehalt nutzen und testen ob das WebUI der CCU noch erreichbar ist. Leider habe ich auch nach einen Test mit einer CCU1 keine ‚nachvollziehbare‘ Ursache finden können.
ChangeLog: 1.5:
CCU-Programme eingebunden. 1.3:
XML Verarbeitung überarbeitet. - Bei Verwendung des Powermeter-Moduls wurde beim Shutdown ein Fehler erzeugt, welcher diesen Shutdown abbrach (Referenzzähler > 1 (=3) für Instanz #xxxxx). Dieser Fehler ist nun behoben.
Beim Start vom IPS-Dienst konnte unter bestimmten Umständen eine Zugriffsverletzung der Systemvariablen-Instanz auftreten.
Fehlermeldungen der Instanzen beim Starten des IPS-Dienst behoben. 1.1:
Exception handling der XML Verarbeitung verbessert.
Umstellung von HTTP Ver.1.0 auf 1.1
Timeout angepaßt.
Exception handling des HTTP-Client verbessert.
Stress-Test mit CCU1 Vers. 1.514 verlief Erfolgreich. WebUI der CCU1 noch immer erreichbar, kein Reset feststellbar. (Einschränkung: Die CCU1 war komplett ‚nackt‘ durch einen Werksreset.)
Hinweise zum erfolgten Stress-Test:
Die CCU1 und die CCU2 können über den Remote-HM-Script Webserver max. 6 gleichzeitige Verbindungen. Nachdem ich jede CCU über 10min. lang erfolgreich 1x/5 sek abfragen konnte, habe ich mich für einen Stress-Test entschieden um nachzustellen was passiert wenn diese 6 Verbindungen überschritten werden. Also habe ich jede CCU mal mit 6Abfragen/sek befeuert. Außer dass einige Antworten aufgrund des Verbindungslimit nicht beantwortet wurden (TCP Verbindungen auf- und abbauen kostet Zeit, darum wurde das Limit manchmal überschritten), konnte ich auf beiden CCUs keine negativen Außwirkungen feststellen.
Michael
PS: Wenn Interesse besteht, kann ich das Modul noch um das Auslesen von CCU-Programmen und ausführen derselben erweitern (Version 1.5 ist online). Oder um eine native HM-Script Schnittstelle aus den PHP-Scripten von IPS.
auch wenn ich kein Freund von 3rd-Party-Modulen bin, wir wurden in der Vergangenheit immer wieder überrascht, finde ich dieses Modul außerordentlich gut.
Prinzipiell sollte das vom IPS-HQ direkt in den Kern übernommen werden.
Und zu deiner Interessenanfrage. Mehr ist immer gut
ich habe das Modul auch mal eingebaut und es funzt bestes - vielen Dank!
NUR - jetzt komme ich auf einmal nicht mehr auf meine CCU per WEB-Browser - ist das Zufall, oder vielleicht doch ein kleines Problem hervorgerufen durch das Modul?
Es sagt die Homematic CCU wäre nicht bereit und ich soll warten (auf was bitte )
Die Meldung kenne ich nur wenn Sie gerade neu startet.
Da ich beim Testen auch immer auf der WebUi war, kann ich das so jetzt nicht nachvollziehen.
Im Debug kannst du die Kommunikation zwischen IPS und CCU sehen.
Sind dort Fehler ?
Fragst du per Intervall ab ? CCU 1/2 ?
Vielleicht ist deine CCU auch überfordert, wenn der Intervall zu klein ist.
Michael
Für IPS habe ich da noch was in Arbeit, ist aber eher universal einsetztbar.
Was sollte man da verändern ?
HM_ReadServiceMessages ist doch ab Werk dabei ?
Dieses Array jetzt fix in eine HTMLbox schreiben ist nicht hilfreich, da doch jeder sein eigenes Design bevorzugt.
Michael
Nicht seltsam, das war abzusehen
Werde mal die Dokumentation anpassen.
Die 2er schafft das, aber die 1er ist mit einem so kleinen Intervall völlig überfordert.
Kleinster Intervall sollten 5sek sein, werde das mal fest einbauen.
Da dass Abfragen auch ca. 800 bis 3000 ms dauert (je nach CCU und Anzahl der Variablen), könnte es sonst zu Überschneidungen kommen.
Ich empfehle ein Programm auf der CCU welches das Abfragen startet. (Siehe Wiki)
Habe einen Trigger ausgewählt und den Intervall dann auf 0 (vermute das heißt Intervall ist aus)
bekomme auch im Browser dann die Meldung „Die HomeMatic CCU ist noch nicht bereitBitte warten Sie. Sie werden automatisch auf die Startseite weitergeleitet.“
Funktionierte bei mir etwa 15-20 Minuten, danach sah ich die Feldermeldung bei den Meldungen „CCU nicht erreichbar“
Verdammte…:eek:
Alle zu testen hatten eine CCU2…
Und eine 1er habe ich nicht hier.
Könnte jemand mir bitte eine Debug der Instanz und sein IPS Log per PN senden ?
Michael
Habe mal die Version 1.1 Build 46 im ersten Post hochgeladen.
Neu: Timer-Intervall <5 Sekunden ist nicht mehr möglich.
Und ich habe die Abfrage für die CCU1 mal angepaßt.
Bitte testet mal, ob die Abfragen im Debug nicht mehr mit failed zurückkommen.
habe bei mir die CCU1 komplett neustarten müssen (Strom weg, Batterien raus)…
Version 1.1 vom Modul getestet… geht leider immer noch nicht.
Auszug aus dem log:
27.04.2014 18:45:04.312 | 58341 | WARNING | HomeMatic Systemvariablen | CCU unreachable
27.04.2014 18:45:04.312 | 0 | ERROR | InstanceManager | Fehler beim Verarbeiten von Nachricht: VM_UPDATE, Instanz 58341, Nachricht: Ein XML-Dokument muss ein Element der obersten Ebene enthalten.
Linie: 0
schicke dir mal den dump vom debug-Fenster per Mail
Toll… wenn die CCU nicht erreicht wird, sollte er eigentlich gar nicht bis zum XMLParser kommen. Das ist ein Käfer.
Was mir aber eben noch eingefallen ist.
In der CCU muß die Firewall auch entsprechend eingerichtet sein:
Einstellungen -> Systemsteuerung -> Firewall
Bei ‚Remote HomeMatic-Script API‘ muß entweder
-Vollzugriff
oder
Eingeschränkt und dann unter ‚IP-Adressen für eingeschränken Zugriff‘ euer LAN eingegeben sein (z.B. 192.168.178.0/24 => /xx ist die Subnet für das Netzwerk. Bei 255.255.255.0 ist das 24 bei 255.255.0.0. ist es 16)
Habe mal im ersten Post die neue Version (1.1.8.13) hochgeladen und das Ergebnis meines gestrigen Tests mit einer CCU1 ergänzt.
Leider unbefriedigend, da ich keine erklärbare Ursache finden konnte und kann.
Die Test-CCU1 hat sich nicht aufgehängt, egal was ich getrieben habe.
Allerdings war die CCU1 (V1.514) jungfräulich (Werksreset) leer.
Außerdem wurde die Netzlast an der CCU entzerrt da ich die Test-CCU1 über das Internet angesprochen habe (Kollege MCS-51 hast seine ‚Alte‘ mal eben zur Verfügung gestellt. Danke dafür.).
Also bei Lust und Gelegenheit bitte mal (an)testen.
Aufgrund kleiner Bugfixes empfehle ich das Update auch für die CCU2 nutzer.