Programm bei Änderung einer Variablen ausführen.

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
schnabel80
Beiträge: 15
Registriert: 11.06.2016, 13:21
Danksagung erhalten: 1 Mal

Programm bei Änderung einer Variablen ausführen.

Beitrag von schnabel80 » 20.02.2018, 10:20

Hallo zusammen,

ich habe das Problem, das ein Programm nicht läuft wenn die bedingte Variable sich ändert. Wenn ich es manuell starte läuft es problemlos.

Hier die Bedingung für das Setzen der Variable.
Bild

Und hier der Programm Code des Abfragenden Programms.

Bild

Die Variable „Anwesenheit“ ist natürlich gesetzt.

Hat jemand eine Idee?

Danke und Viele Grüße
Christian


Gesendet von iPhone mit Tapatalk

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

Re: Programm bei Änderung einer Variablen ausführen.

Beitrag von alchy » 20.02.2018, 10:33

Wenn das erste Programm die Variable setzt und das 2. Programm dann nicht reagiert, das 2. Programm noch mal komplett neu anlegen.
btw: Ein manuelles Ausführen eines Programms führt IMMER das DANN aus.

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.

schnabel80
Beiträge: 15
Registriert: 11.06.2016, 13:21
Danksagung erhalten: 1 Mal

Re: Programm bei Änderung einer Variablen ausführen.

Beitrag von schnabel80 » 20.02.2018, 10:35

Hallo Alchy, ok super das werde ich testen!


Gesendet von iPhone mit Tapatalk

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Programm bei Änderung einer Variablen ausführen.

Beitrag von DrTob » 20.02.2018, 10:41

Leider sieht man in dem Screenshot von PocketControl nicht genau wie der Auslöser definiert ist. Du musst bei der Bedingung „bei Änderung auslösen“ wählen, sonst wird nicht nicht ausgelöst.

Außerdem bezieht sich das „bei Änderung“ immer auf die Bedingung, und nicht auf die Variable!
Es wird also nicht bei Änderung der Variablen ausgelöst, sondern bei Änderung des Bedingungsergebnis.

Wenn Variable = 3 (bei Änderung)

Löst nicht aus, wenn sich der Wert der Variablen von 1 auf 2 Ändert. (Denn der Bedingungswert ändert sich dabei nicht. Er ist in beiden Fällen falsch)

schnabel80
Beiträge: 15
Registriert: 11.06.2016, 13:21
Danksagung erhalten: 1 Mal

Re: Programm bei Änderung einer Variablen ausführen.

Beitrag von schnabel80 » 20.02.2018, 12:30

Also Nacht steht auf Änderung auslösen und Anwesenheit nur auf prüfen.
Aber was meinst du mit Bedingungsergebnis?


Gesendet von iPhone mit Tapatalk

schnabel80
Beiträge: 15
Registriert: 11.06.2016, 13:21
Danksagung erhalten: 1 Mal

Re: Programm bei Änderung einer Variablen ausführen.

Beitrag von schnabel80 » 20.02.2018, 12:31

Ah jetzt sehe ich. Also die Variable kennt nur den Zustand Tag und Nacht. Ich erwarte, dass wenn sie auf Nacht wechselt und Anwesenheit gesetzt ist, der Code ausgeführt wird.


Gesendet von iPhone mit Tapatalk

schnabel80
Beiträge: 15
Registriert: 11.06.2016, 13:21
Danksagung erhalten: 1 Mal

Re: Programm bei Änderung einer Variablen ausführen.

Beitrag von schnabel80 » 27.02.2018, 06:23

Hallo zusammen,

erstmal nochmal Danke für Eure Unterstützung. Das Problem war ganz einfach...

Die Variable Tag/Nacht sollte immer 30Minuten vor Sonnenaufgang auf Tag gesetzt werden. Hat auch immer funktioniert, bis das Programm gebaut habe das Nacht 30Minuten verzögert setzt und dann die laufenden Timer resetet habe. Mir ist aber dann abends nie aufgefallen, dass es nie mehr Tag wird. Aber jetzt hat die dunkle Zeit ein Ende und alles funktioniert [emoji2]
Viele Grüße
Christian


Gesendet von iPhone mit Tapatalk

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“