[GELÖST] Programm wird nicht durch Event getriggered

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Antworten
srunschke
Beiträge: 213
Registriert: 10.01.2018, 12:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 13 Mal

[GELÖST] Programm wird nicht durch Event getriggered

Beitrag von srunschke » 02.07.2019, 16:24

Hallo zusammen,

ich habe ein kleines Problem und sehe irgendwie den Wald vor Bäumen nicht.

Ich experimentiere gerade etwas mit meiner Beschattung und habe mir für den ersten Test etwas gebastelt:
2019-07-02 16_14_03-Window.png
Kurze Legende:
"CCU_in_Reboot" sollte klar sein, umgebaute Anwesenheit SysVar
Zeitsteuerung ist 07.00 - 14.00 täglich
Wetterstation ist eine HmIP-SWO-PL
"Sonnenschein seit" ist eine SysVar, die ich dynamisch in einem Script berechne
Thermostat Wohnzimmer und Badezimmer sind HmIP-BWTH

Leider wird dieser Block nie getriggered und ich verstehe nicht warum.
Aber: führe ich das Programm manuell aus, dann funktioniert der Block.

Die einzige Theorie, die mir überhaupt noch einfällt, wäre dass der Trigger "bei Aktualisierung" bei SysVars nicht auslöst, wenn diese in einem Script über dom.GetObject('Sonnenschein seit').State(); gesetzt wird - aber das kann ich mir ehrlich gesagt bei besten Willen nicht vorstellen...

Hat jemand eine Idee?
Zuletzt geändert von srunschke am 04.07.2019, 23:42, insgesamt 2-mal geändert.

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: Programm wird nicht durch Event getriggered

Beitrag von manfredh » 02.07.2019, 16:47

1. Ein manuell ausgeführtes Programm prüft keine Bedingungen sondern führt immer das erste DANN aus.

2. Was soll der letze Block mit zweimal identischer Bedingung?

3. Ein Block triggert nicht das Programm sondern eine einzelne Zeile tut das. In deinem Fall wären das die Zeilen 3 oder 4 - die einzigen, die triggern könnten.

4. Erst beim Ausführen (nicht manuell!) werden die Bedingungen geprüft - und zwar im kompletten Block. Um das Dann auszuführen müssten dann also ALLE Zeilen wahr sein (weil verUNDet).

Dazu kommt, dass das Programm möglicherweise korrupt ist. Das passiert, wenn du nach Programmerstellung an der Konfiguration der SVen rumfummelst.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

srunschke
Beiträge: 213
Registriert: 10.01.2018, 12:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 13 Mal

Re: Programm wird nicht durch Event getriggered

Beitrag von srunschke » 02.07.2019, 18:25

manfredh hat geschrieben:
02.07.2019, 16:47
1. Ein manuell ausgeführtes Programm prüft keine Bedingungen sondern führt immer das erste DANN aus.
Ah ok, das war mir so gar nicht bewusst...
2. Was soll der letze Block mit zweimal identischer Bedingung?
Der soll das machen, was da steht. Denn die Bedingungen sind nicht identisch...
3. Ein Block triggert nicht das Programm sondern eine einzelne Zeile tut das. In deinem Fall wären das die Zeilen 3 oder 4 - die einzigen, die triggern könnten.
So soll es auch sein. Das sind Bedingungen, die von der Wetterstation im Schnitt alle 3 Minuten gesendet werden - und somit auch aktualisiert. Das sollte meiner Meinung nach als Trigger ausreichen - wenn die Wetterstation nicht mehr senden sollte, kann ich mich auch sowieso nicht mehr auf die Daten verlassen und will das Programm nicht mehr ausgeführt haben.
4. Erst beim Ausführen (nicht manuell!) werden die Bedingungen geprüft - und zwar im kompletten Block. Um das Dann auszuführen müssten dann also ALLE Zeilen wahr sein (weil verUNDet).
Ja, so soll es ja auch sein.
Block 1 stellt nur die Grundvoraussetzungen: Zeitspanne 7-14 Uhr, soll nicht beim Reboot der CCU laufen
Block 2 enthält die Trigger, wodurch das Programm seine Parameter erhält und auch regelmäßig durch die Aktualisierung ausgelöst werden sollte. Ich weiß, dass ich Block 1&2 auch in einen hätte packen können, mache das aber der Übersichtlichkeit wegen gerne so.
Block 3 enthält zwei Bedingungen, von denen mindestens eine wahr sein sollte - denn beide sollte mehr oder weniger gleich sein.
Dazu kommt, dass das Programm möglicherweise korrupt ist. Das passiert, wenn du nach Programmerstellung an der Konfiguration der SVen rumfummelst.
Ich benutze ja nur 2 SysVars. Die eine existiert schon ewig und die andere habe ich seit dem Anlegen auch nicht verändert.

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: Programm wird nicht durch Event getriggered

Beitrag von manfredh » 02.07.2019, 19:22

Okay, das mit den verschiedenen Räumen im letzten Block hatte ich übersehen - sorry.

Jetzt würde ich mal folgendes machen:

1. Die Sysvars manuell verändern. Geht leider nicht per WebUi. Entweder über ein Addon TinyMatic kann das z.B.) oder ein kleines Hilfsprogramm, das die SV anfasst.

2. Einen zusätzlichen Trigger zum Testen einbauen.

3. Die beiden Zeilen löschen und neu anlegen.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

Linnet998
Beiträge: 110
Registriert: 04.07.2018, 21:46
Danksagung erhalten: 2 Mal

Re: Programm wird nicht durch Event getriggered

Beitrag von Linnet998 » 02.07.2019, 21:34

manfredh hat geschrieben:
02.07.2019, 19:22

1. Die Sysvars manuell verändern. Geht leider nicht per WebUi. Entweder über ein Addon TinyMatic kann das z.B.) oder ein kleines Hilfsprogramm, das die SV anfasst..
Geht schon über die webui... einfach über script testen

Code: Alles auswählen

dom.GetObject("Name der variable").State( gewünschter Wert der variable);
Und wenn du es gleich überprüfen willst dann

Code: Alles auswählen

var a = dom.GetObject("Name der variable").Value();
dom.GetObject("Name der variable").State(gewünschter wert);
WriteLine(a);

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: Programm wird nicht durch Event getriggered

Beitrag von manfredh » 03.07.2019, 09:49

Linnet998 hat geschrieben:
02.07.2019, 21:34
Geht schon über die webui... einfach über script testen
In Homematic kann man scripten? :shock:

Ernsthaft: ich habe hier inzwischen ein sehr komplexes Smart Home System. Neben der CCU läuft noch ioBroker als VM auf einem NUC mit 28 Adapterinstanzen. Aber trotzdem (oder eher gerade deshalb) bleibt Scripting in der CCU für mich XXX. :wink:
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

Linnet998
Beiträge: 110
Registriert: 04.07.2018, 21:46
Danksagung erhalten: 2 Mal

Re: Programm wird nicht durch Event getriggered

Beitrag von Linnet998 » 03.07.2019, 10:04

du meintest nur es geht nicht... da wollte ich wiedersprechen :lol: :D

srunschke
Beiträge: 213
Registriert: 10.01.2018, 12:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 13 Mal

Re: Programm wird nicht durch Event getriggered

Beitrag von srunschke » 04.07.2019, 23:41

So, ich habe jetzt mal alles durchprobiert und die einzige Lösung war dann am Ende das Programm zu löschen und exakt genau so wieder neu zu bauen - dann ging es...

Irgendwie ein bisschen traurig, dass EQ3 das nicht in den Griff kriegt...

Danke an alle, die geholfen haben.

S

Antworten

Zurück zu „RaspberryMatic“