Ansteuerung der Homematic Statusanzeige HM-OU-LED16

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

rewe0815
Beiträge: 176
Registriert: 30.09.2010, 09:40
Hat sich bedankt: 1 Mal
Danksagung erhalten: 3 Mal

Ansteuerung der Homematic Statusanzeige HM-OU-LED16

Beitrag von rewe0815 » 16.06.2014, 20:21

Im Zuge aktueller Bereinigungsarbeiten und angeregt durch aktuelle Diskussionen im Forum habe ich die Ansteuerung meiner Statusanzeige nochmal überarbeitet und das Ganze zu Papier gebracht.
Vielleicht kann es dem Einen oder Anderen helfen das Teil in den Griff zu bekommen. :mrgreen:

Hier nur kurz wo die Tücken liegen und wie ichs gelöst habe. Den Rest findet (wens interessiert) in der PDF.

Probleme bei der Benutzung der Statusanzeige
- Die Statusanzeige hat sich als recht empfindlich in der Funkkommunikation erwiesen. Gelegentliche diesbezügliche Fehlermeldungen sind die Folge. In diesem Fall kann es sein, dass die Statusanzeige nicht die korrekten Werte anzeigt, weil sie halt eine Änderung nicht mitbekommen hat. Das ist sehr ärgerlich, zumal es keine einfache Möglichkeit gibt, den betreffenden Aktor-Kanal erneut zu setzen.
- Wird die Anzeige vom Netz getrennt, so werden die LED-Zustände nicht restauriert, wenn die Anzeige wieder am Netz ist.

Zielsetzung
- Die aktuellen SOLL - LED-Zustände der Aktoren sollen jederzeit korrekt in der CCU zur Verfügung stehen
- Bei aufgetretenen Kommunikationsproblemen oder Netztrennung der Anzeige sollen die SOLL - Zustände der Aktor-Kanäle jederzeit per Programm/Knopfdruck an die Anzeige übergeben werden.
- Um den Funkverkehr zwischen CCU und Statusanzeige zu minimieren sollen nur die Änderungen der tatsächlich zu ändernden Aktor-Kanäle gesendet werden.
- Der programmatische Aufwand soll minimal, übersichtlich und einfach um weitere Statusanzeigen erweiterbar gehalten werden.
Ansteuerung der Homematic Statusanzeige HM-OU-LED16.pdf
(963.3 KiB) 6430-mal heruntergeladen
rewe0815

oe3arc
Beiträge: 62
Registriert: 21.04.2014, 07:55

Re: Ansteuerung der Homematic Statusanzeige HM-OU-LED16

Beitrag von oe3arc » 06.08.2014, 22:06

Vielen Dank dafür, ich habe mir das jetzt abgekupfert und es scheint zu funktionieren. Was ich nicht verstehe ist, warum im Programm zum Prüfen der Systemvariablen (SetLedAnzeigeAuto) die Bedingungen der 16 Variablen jeweils mit "bei Aktualisierung auslösen" und nicht mit "bei Änderung auslösen" gesetzt werden müssen. Es funktioniert nur mit "bei Aktualisierung auslösen", aber ich würde es gerne verstehen :-)

lg
Andy

rewe0815
Beiträge: 176
Registriert: 30.09.2010, 09:40
Hat sich bedankt: 1 Mal
Danksagung erhalten: 3 Mal

Re: Ansteuerung der Homematic Statusanzeige HM-OU-LED16

Beitrag von rewe0815 » 08.08.2014, 03:03

oe3arc hat geschrieben:Was ich nicht verstehe ist, warum im Programm zum Prüfen der Systemvariablen (SetLedAnzeigeAuto) die Bedingungen der 16 Variablen jeweils mit "bei Aktualisierung auslösen" und nicht mit "bei Änderung auslösen" gesetzt werden müssen. Es funktioniert nur mit "bei Aktualisierung auslösen", aber ich würde es gerne verstehen
Bei Variablen gibt es ja eigentlich keine Aktualisierung in dem Sinne, man würde eher vermuten das sich da was ändert.
Hab das Verhalten bei Systemvariablen eher zufällig gefunden.
Änderung wird hier ausgelöst, wenn der Wertebereich verlassen wird.
Also bei einer Zahl im Wertebereich größer oder gleich 5 auf Änderung
Triggert wenn die Zahl <5 wird. Also den Wertebereich verlässt

Bei einer Zahl im Wertebereich größer oder gleich 5 auf Aktualisierung
Triggert, wenn sich die Zahl innerhalb des Werftenbereichs ändert. z.B. von 6 auf 7

Allerdings ist das recht inkonsistent implementiert. Bei Wertesten konnte ich das nicht feststellen.

gruss rewe0815

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Ansteuerung der Homematic Statusanzeige HM-OU-LED16

Beitrag von buempi » 08.08.2014, 07:20

rewe0815 hat geschrieben:Allerdings ist das recht inkonsistent implementiert.
... nicht unbedingt inkonsistent aber nach einer etwas speziellen "Logik". Mehr dazu hier: http://homematic-forum.de/forum/viewtop ... =31&t=4251

In diesem Zusammenhang sehr gefährlich ist die Auslösung auf Aktualisierung. Das führt bei häufigen Aktualisierungen (z.B. Temperatursensoren) dazu, dass bei jedem Programmdurchgang (also alle 2-3 Minuten) gesendet wird. Bei mehreren solchen Auslösern kann schnell mal die maximal zulässige Sendezeit der CCU (Duty-Cycle) überschritten sein und dann geht NICHTS mehr! Auch keine Sendungen mehr an andere Aktoren.

In den meisten Fällen, wo LEDs angesprochen werden, genügt "Aktualisierung bei Änderung". Das bedeutet, dass das Programm ausgeführt wird, wenn die auslösende Bedingung von WAHR auf FALSCH wechselt oder umgekehrt. Muss aus einem speziellen Grund auf Aktualisierung ausgelöst werden, sollte zusätzlich geprüft werden, ob der anzusprechende Aktor (oder hier die LED) nicht schon den angestrebten Zustand (Farbe) hat, und nur eine Aktion ausgelöst werden, wenn diese nicht der Fall ist.

Viele Grüsse
Bümpi

oe3arc
Beiträge: 62
Registriert: 21.04.2014, 07:55

Re: Ansteuerung der Homematic Statusanzeige HM-OU-LED16

Beitrag von oe3arc » 08.08.2014, 07:51

Danke für den Querverweis dessen Inhalt für mich nachvollziehbar ist. Hier geht's um das Auslösen auf eine Änderung einer Systemvariable - und das Verhalten dabei scheint mir jetzt auch nach einigem Probieren nicht nachvollziehbar. Zumindest bei einer Integer Systemvariablen finde ich nicht raus, wann sich die aktualisiert und wann sie sich ändert. So gesehen bin ich gerade am gleichen Erkenntnisstand wie rewe0815 - es scheint mir inkonsistent zu sein ...
Eigentlich möchte ich bei einer Änderung auf einem Wert > 0 etwas tun und bei einer Änderung nach 0 etwas anderes. Irgendwie schaffe ich das nicht.

lg
Andy

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Ansteuerung der Homematic Statusanzeige HM-OU-LED16

Beitrag von buempi » 08.08.2014, 08:11

Hallo Andy

Systemvariablen aktualisierst du ja selbst; meist in irgend einem anderen Programm. Den Zeitpunkt der letzten Aktualisierung kannst du sehen, wenn du dir die Variable über Status und Bedienung anzeigen lässt. Der Zeitstempel unter "Letzte Änderung" zeigt die letzte Änderung bzw. Aktualisierung an.

Viele Grüsse
Bümpi

oe3arc
Beiträge: 62
Registriert: 21.04.2014, 07:55

Re: Ansteuerung der Homematic Statusanzeige HM-OU-LED16

Beitrag von oe3arc » 08.08.2014, 08:27

Servus Bümpi,

ich ändere die betroffenen Systemvariablen aus einem Script (welches die Anzahl der aktiven Lichter in einem Raum zählt). Da habe ich den Eindruck, dass in Status und Bedienung nur der Zeitpunkt angezeigt wird, an dem ich die Variable (Name, Beschreibung) editiert habe und nicht an dem ihr Wert geändert wurde. Nach einem Reboot sind alle Timestamps auf den Reboot Zeitpunkt gesetzt.
Vielleicht liegt das eigenartige Verhalten auch daran, dass ich die Variable via Skript setze und nicht aus einem zusammengeklickten Programm. Ich forsche dann mal weiter.

lg
Andy

oe3arc
Beiträge: 62
Registriert: 21.04.2014, 07:55

Re: Ansteuerung der Homematic Statusanzeige HM-OU-LED16

Beitrag von oe3arc » 08.08.2014, 08:42

Ich antworte mir gleich selbst:

Wenn die Systemvariable aus dem Skript gesetzt wird kann man nicht darauf triggern, auch wird ihr Wert wenn man ihn in einem Favoriten anzeigt nicht im Browser automatisch refresht (der Wert ändert sich allerdings, wenn man die Anzeige refresht).

Wenn man die Systemvariable aus einem geklickten Programm setzt, wird sie im Browser refresht und man kann "auf Änderung" triggern.

Schaut mir stark nach einem Bug aus.

lg
Andy

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Ansteuerung der Homematic Statusanzeige HM-OU-LED16

Beitrag von buempi » 08.08.2014, 09:14

Hallo Andy

Bist du sicher, dass das Script auch ausgeführt wird? Ich habe eben den Versuch gemacht, über "Script testen" die Anwesenheits-Variable hin und her zu schalten. Gleichzeitig habe ich sie (in einer 2. Instanz des Browsers) in den Favoriten beobachtet. Der Wert wurde immer nach spätestens 2 Sekunden aktualisiert; auch der Zeitstempel, auch wenn keine Änderung erfolgte.

Viele Grüsse
Bümpi

oe3arc
Beiträge: 62
Registriert: 21.04.2014, 07:55

Re: Ansteuerung der Homematic Statusanzeige HM-OU-LED16

Beitrag von oe3arc » 08.08.2014, 09:21

Hallo Bümpi
buempi hat geschrieben: Bist du sicher, dass das Script auch ausgeführt wird?
Bümpi
Ja, weil sich der Wert durch nochmaliges Reinklicken z.B. in die Favoriten oder Systemvariablenanzeige dann schon updated. In diesem Fall halt durch manuellen Refresh.
Vielleicht verhalten sich auch bool und integer Systemvariablen unterschiedlich.

lg
Andy
Zuletzt geändert von oe3arc am 08.08.2014, 09:46, insgesamt 2-mal geändert.

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“