Programm mit Trigger auf Systemvariable löst bei Änderung via IOBroker nicht aus
Moderatoren: jmaus, Co-Administratoren
-
- Beiträge: 239
- Registriert: 07.11.2007, 15:27
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wien
- Hat sich bedankt: 1 Mal
Programm mit Trigger auf Systemvariable löst bei Änderung via IOBroker nicht aus
Hallo Leute,
seit Tagen beschäftigt mich ein Fehler:
Ich habe ein Programm auf der RM. (HW_RM_Prg.png). Hier sollte die Änderung einer Systemvariable (HZ_EG_WZ_SET_TEMP, Typ Zeichenkette) überwacht werden. Und bei Änderung ein Script gestartet werden.
Wenn ich die Systemvariable mittels eines Programms ändere - oder auch via HQ WebUI, dann läuft das Script (der den Wert in eine Heizungsgruppe überträgt).
Nun habe ich eine Visualisierung in IOBroker, welches die Systemvariable beschreibt. Der eingestellte Wert kommt in der Systemvariable an (auch das ACK in IO Broker ist zu sehen) aber das Programm triggert nicht.
Ich habe auch schon versucht die Systemvariable als Typ Zahl anzulegen und den Trigger auf größer als 0 mit "bei Änderung auslösen" - gleicher Effekt.
Auch habe ich schon versucht in beiden Varianten (Typ Zahl und Typ Zeichenkette) "bei Aktualisierung auslösen" zu verwenden - gleicher Effekt.
RM Version: 3.37.8.20181026
IoBRoker: alle Adapter auf der aktuellsten Version
Kennt diesen Effekt wer?
Danke für Eure Hilfe.
seit Tagen beschäftigt mich ein Fehler:
Ich habe ein Programm auf der RM. (HW_RM_Prg.png). Hier sollte die Änderung einer Systemvariable (HZ_EG_WZ_SET_TEMP, Typ Zeichenkette) überwacht werden. Und bei Änderung ein Script gestartet werden.
Wenn ich die Systemvariable mittels eines Programms ändere - oder auch via HQ WebUI, dann läuft das Script (der den Wert in eine Heizungsgruppe überträgt).
Nun habe ich eine Visualisierung in IOBroker, welches die Systemvariable beschreibt. Der eingestellte Wert kommt in der Systemvariable an (auch das ACK in IO Broker ist zu sehen) aber das Programm triggert nicht.
Ich habe auch schon versucht die Systemvariable als Typ Zahl anzulegen und den Trigger auf größer als 0 mit "bei Änderung auslösen" - gleicher Effekt.
Auch habe ich schon versucht in beiden Varianten (Typ Zahl und Typ Zeichenkette) "bei Aktualisierung auslösen" zu verwenden - gleicher Effekt.
RM Version: 3.37.8.20181026
IoBRoker: alle Adapter auf der aktuellsten Version
Kennt diesen Effekt wer?
Danke für Eure Hilfe.
---------------------------------------------
Auf mehrfachen Wunsch hier keine Inventur meiner Homematic mehr... Viele Komponenten in BEtrieb
Auf mehrfachen Wunsch hier keine Inventur meiner Homematic mehr... Viele Komponenten in BEtrieb
- Black
- Beiträge: 5483
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 424 Mal
- Danksagung erhalten: 1074 Mal
- Kontaktdaten:
Re: Programm mit Trigger auf Systemvariable löst bei Änderung via IOBroker nicht aus
zeichenkette kannst du nur sinnig auf aktualisierung triggern in der ccu, nicht auf änderung.
also im iobroker so schrieben, das die systemvariable nur geändert wird bei änderung oder script in der ccu anpassen, dass dort auf änderung geprüft wird nach dem triggeraufruf.
Black
also im iobroker so schrieben, das die systemvariable nur geändert wird bei änderung oder script in der ccu anpassen, dass dort auf änderung geprüft wird nach dem triggeraufruf.
Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 239
- Registriert: 07.11.2007, 15:27
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wien
- Hat sich bedankt: 1 Mal
Re: Programm mit Trigger auf Systemvariable löst bei Änderung via IOBroker nicht aus
Danke für die Antwort - wie in meinem ersten Post geschon geschrieben ändert sich das Verhalten nicht, wenn ich den Programmtrigger auf "bei Aktualisierung" ändere. Verhalten gleich: Änderunge in IOBRoker - kein Trigger, Änderung via HQWebUI oder Programm - Trigger. Auch das gleiche Verhalten bei Typ Zahl der Systemvariablen.Black hat geschrieben: ↑31.10.2018, 08:37zeichenkette kannst du nur sinnig auf aktualisierung triggern in der ccu, nicht auf änderung.
also im iobroker so schrieben, das die systemvariable nur geändert wird bei änderung oder script in der ccu anpassen, dass dort auf änderung geprüft wird nach dem triggeraufruf.
Black
lg
---------------------------------------------
Auf mehrfachen Wunsch hier keine Inventur meiner Homematic mehr... Viele Komponenten in BEtrieb
Auf mehrfachen Wunsch hier keine Inventur meiner Homematic mehr... Viele Komponenten in BEtrieb
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Programm mit Trigger auf Systemvariable löst bei Änderung via IOBroker nicht aus
Doppeltes gleiches WENN anlegen in dem du es veroderst bei Zeichenkettenvergleich.
Grundverraussetzung ist aber das Ändern der Systemvariablen mittels. State()
Beim Ändern des Typs einer Systemvariablen, welche schon in einem Programm als Trigger verwendet wird, kann es auch Sinn machen das komplette Programm NEU anzulegen.
Alchy
Grundverraussetzung ist aber das Ändern der Systemvariablen mittels. State()
Beim Ändern des Typs einer Systemvariablen, welche schon in einem Programm als Trigger verwendet wird, kann es auch Sinn machen das komplette Programm NEU anzulegen.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
- jmaus
- Beiträge: 9865
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 464 Mal
- Danksagung erhalten: 1883 Mal
- Kontaktdaten:
Re: Programm mit Trigger auf Systemvariable löst bei Änderung via IOBroker nicht aus
Ist das wirklich so? Dann könnte man das mal ReGAHss ticket im RaspberryMatic GitHub reporten, dann kann ich mir das mal in ReGa näher anschauen wenn ich die Zeit dazu finde. Sollte sich ja ändern/reparieren lassen wenn man nen gut beschriebenen Testcase dazu hat.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
- Black
- Beiträge: 5483
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 424 Mal
- Danksagung erhalten: 1074 Mal
- Kontaktdaten:
Re: Programm mit Trigger auf Systemvariable löst bei Änderung via IOBroker nicht aus
sehr suspekt... (solche sachen laufen auf meinen beiden systemen ohne probleme bisher)
ok...
speicher dir das script mal auf deinem PC ab.
dann lösch das programm
leg neues programm an
systemzustand deine systemvariable, auf aktualiserung
dann
script
dom.GetObject("CUxD.CUX2801001:1.SYSLOG").State("Habe getriggert");
wenn das programm getriggert wird schreibt es dir einen Eintrag ins CUXd Syslog...
(Es braucht ein CUXd Exec Gerät)
Black
ok...
speicher dir das script mal auf deinem PC ab.
dann lösch das programm
leg neues programm an
systemzustand deine systemvariable, auf aktualiserung
dann
script
dom.GetObject("CUxD.CUX2801001:1.SYSLOG").State("Habe getriggert");
wenn das programm getriggert wird schreibt es dir einen Eintrag ins CUXd Syslog...
(Es braucht ein CUXd Exec Gerät)
Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 239
- Registriert: 07.11.2007, 15:27
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wien
- Hat sich bedankt: 1 Mal
Re: Programm mit Trigger auf Systemvariable löst bei Änderung via IOBroker nicht aus
Gerne logge ich mal alle Dinge diesbezüglich und schicke Dir den Case....jmaus hat geschrieben: ↑31.10.2018, 09:29Ist das wirklich so? Dann könnte man das mal ReGAHss ticket im RaspberryMatic GitHub reporten, dann kann ich mir das mal in ReGa näher anschauen wenn ich die Zeit dazu finde. Sollte sich ja ändern/reparieren lassen wenn man nen gut beschriebenen Testcase dazu hat.
danke
---------------------------------------------
Auf mehrfachen Wunsch hier keine Inventur meiner Homematic mehr... Viele Komponenten in BEtrieb
Auf mehrfachen Wunsch hier keine Inventur meiner Homematic mehr... Viele Komponenten in BEtrieb
-
- Beiträge: 239
- Registriert: 07.11.2007, 15:27
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wien
- Hat sich bedankt: 1 Mal
Re: Programm mit Trigger auf Systemvariable löst bei Änderung via IOBroker nicht aus
Die Änderung kommt von IoBroker - das ACK kommt auch an. Wenn ich es auf der CCU ändere (Clicky-Bunty Programm oder Scipt mit .State()) geht es - auch mit der HQWebUI. Nur bei der Änderung von IoBroker nicht.
Das Testweise Ändern der Systemvariable hatte immer folgende Schritte:
- Löschen des Programms
- Löschen der Systemvariable
- Neuanlegen der Systemvariable (mit neuem Typ)
- Neuanlegen des Programms
leider jeweils ohne Effekt.
Aber danke für die Inputs - jeder kann mal was übersehen - und ich habe es jetzt gerade nochmal geprüft - mit o.a. Procedure...
Danke Alchy
---------------------------------------------
Auf mehrfachen Wunsch hier keine Inventur meiner Homematic mehr... Viele Komponenten in BEtrieb
Auf mehrfachen Wunsch hier keine Inventur meiner Homematic mehr... Viele Komponenten in BEtrieb
-
- Beiträge: 239
- Registriert: 07.11.2007, 15:27
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wien
- Hat sich bedankt: 1 Mal
Re: Programm mit Trigger auf Systemvariable löst bei Änderung via IOBroker nicht aus
Für meine Tests, schreibe ich natürlich ins Syslog - triggert einfach nicht bei der Änderung von IoBroker.Black hat geschrieben: ↑31.10.2018, 09:30
speicher dir das script mal auf deinem PC ab.
dann lösch das programm
leg neues programm an
systemzustand deine systemvariable, auf aktualiserung
dann
script
dom.GetObject("CUxD.CUX2801001:1.SYSLOG").State("Habe getriggert");
wenn das programm getriggert wird schreibt es dir einen Eintrag ins CUXd Syslog...
(Es braucht ein CUXd Exec Gerät)
Black
Auch schon mehrfach, alles "from the Scratch" neu angelegt...
Danke Dir aber für die Inputs...
---------------------------------------------
Auf mehrfachen Wunsch hier keine Inventur meiner Homematic mehr... Viele Komponenten in BEtrieb
Auf mehrfachen Wunsch hier keine Inventur meiner Homematic mehr... Viele Komponenten in BEtrieb
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Programm mit Trigger auf Systemvariable löst bei Änderung via IOBroker nicht aus
Wenn du den Rest von mir bedacht hast, dann bleibt noch die Grundvoraussetzung. Ändern mittels. State() das Ändern mittels. Variable() ändert zwar den Wert der Systemvariable, wird aber als Trigger nicht beachtet.
@jmaus
Was brauchst für meine Aussage für ein Testcase?
Alchy
@jmaus
Was brauchst für meine Aussage für ein Testcase?
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.