Waschmaschine, Trockner und Spülmaschine steuern

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Benutzeravatar
Baxxy
Beiträge: 10789
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2209 Mal

Re: Waschmaschine, Trockner und Spülmaschine steuern

Beitrag von Baxxy » 27.07.2022, 10:53

Xel66 hat geschrieben:
27.07.2022, 10:17
könnte dieses eben viele wartende Threads im System hinterlassen, die dann alle nach ihrerem Ablauf ausgeführt werden. Diese Timer werden im Gegensatz zum gegensinnigen Setzen einer Systemvariable nicht gelöscht. Setzt man dann im Script Schaltbefehle ab, werden diese im Takt der ursprünglichen Tiggerung (mit der programmierten Zeitverzögerung) alle nacheinander ausgeführt.
Sorry Xel, aber das ist nicht ganz korrekt.

Eine laufende Verzögerung hängt als "Merker" am Objekt. Ob das Objekt nun eine SysVar, ein Datenpunkt oder ein Script ist spielt erstmal keine Rolle.
Daher ist es problemlos möglich im DANN ein Script "verzögert um x" zu retriggern. Dabei entstehen kein x wartenden Threads und das Script wird auch nur dann (einmalig) ausgeführt wenn die Verzögerungszeit nach der letzten Triggerung des Programmes abgelaufen ist.

Komplett abbrechen lässt sich die Verzögerung (z.B. über das Sonst) aber nicht.
Der Grund ist simpel. Erzeugt man im Sonst ein "Leerscript" hat es eine andere ID wie das Script im DANN. Die beiden Scripte sind also nicht die gleichen Objekte und daher kann die Verzögerung (des "DANN-Script's") nicht abgebrochen werden.

Tyfys
Beiträge: 544
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 123 Mal

Re: Waschmaschine, Trockner und Spülmaschine steuern

Beitrag von Tyfys » 27.07.2022, 11:18

Xel66 hat geschrieben:
27.07.2022, 10:17
ist aber eher kein Beitrag zur initialen Problemlösung
Sorry, dass ich die komplette Problemlösung nicht habe.
Gruß
Harry

Xel66
Beiträge: 14149
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: Waschmaschine, Trockner und Spülmaschine steuern

Beitrag von Xel66 » 27.07.2022, 12:45

Baxxy hat geschrieben:
27.07.2022, 10:53
Eine laufende Verzögerung hängt als "Merker" am Objekt.
...
Dabei entstehen kein x wartenden Threads und das Script wird auch nur dann (einmalig) ausgeführt wenn die Verzögerungszeit nach der letzten Triggerung des Programmes abgelaufen ist.
Ja, und da bin ich mir bezüglich Scripts nicht ganz so sicher. Da gab es auch mal eine nette Beschreibung der internen Abläufe mit den Merker und "Zettelchen". Es spielt meiner Meinung eine Rolle, ob das Zielobjekt mit dem laufenden Verzögerungstimer ein Datenpunkt, Systemvariable oder Script ist. In den ersten beiden Fällen werden laufende Verzögerungstimer durch einen gegensinnigen Befehl gelöscht (als eine Verzögerung einer Systemvariable auf WAHR zu setzen wird durch ein nachfolgendes Setzen auf FALSCH gelöscht = der Merker entfernt, wenn die entsprechende Option in der WebUI angehakt ist). Im Gegensatz zu Datenpunkten und Systemvariablen gibt es beim Script aber nun mal keinen "gegensätzlichen" Befehl. Ich habe das damals so verstanden und so abgespeichert, dass dann ein zweiter Merker gesetzt wird und so ein Script dann nach Ablauf jeder Verzögerungszeit neu ausgeführt wird. Müsste ich mal testen, habe aber im Moment keine Zeit, da ich gleich los muss, meine Brötchen zu verdienen.
Die beiden Scripte sind also nicht die gleichen Objekte und daher kann die Verzögerung (des "DANN-Script's") nicht abgebrochen werden.
Genau so. Genau diese Stelle meine ich.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Benutzeravatar
Baxxy
Beiträge: 10789
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2209 Mal

Re: Waschmaschine, Trockner und Spülmaschine steuern

Beitrag von Baxxy » 27.07.2022, 13:30

Ich hatte das "Script-retriggern" vorhin noch getestet.
Logik-SysVar auf "true" bei Änderung
DANN
Alchy's Auslöserscript verzögert um 1min

In der einen Minute hatte ich die Logik-SysVar mehrfach zwischen true/false geändert und als letztes wieder auf "true".
Es gab nur einen Protokolleintrag, exakt 1min nach dem letzten "true".
Das passt schon. :wink:

Zum Abbrechen von Verzögerungen bei Datenpunkten und SysVars (die in Programmen gesetzt wurden) per Script hatte ich ja letztens schon was irgendwo geschrieben. Auch das geht, indem man einfach eine neue Verzögerung von (nicht merkbarer) 1ms setzt (und somit die aktuell laufende Verzögerung überschreibt) und seinen Befehl dranhängt.
Eher Workaround als korrektes Abbrechen, aber funktioniert. Vielleicht macht's die WebUI intern ja genauso, das weiß ich aber nicht.

Was bleibt ist die nicht abbrechbare laufende Verzögerung eines Scriptes. Irgendwann kommt's zur Ausführung, es sei denn man fährt die Zentrale rechtzeitig herunter. :wink:

Xel66
Beiträge: 14149
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: Waschmaschine, Trockner und Spülmaschine steuern

Beitrag von Xel66 » 27.07.2022, 16:36

Baxxy hat geschrieben:
27.07.2022, 13:30
Das passt schon. :wink:
OK, THX. Abgespeichert. :lol:
Baxxy hat geschrieben:
27.07.2022, 13:30
Was bleibt ist die nicht abbrechbare laufende Verzögerung eines Scriptes. Irgendwann kommt's zur Ausführung...
100% ACK. Das muss man eben behandeln. Sollte in diesem Falle aber kein Problem darstellen.
Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Manuel.P
Beiträge: 296
Registriert: 13.12.2015, 14:04
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Waschmaschine, Trockner und Spülmaschine steuern

Beitrag von Manuel.P » 27.07.2022, 20:25

Hallo,


also ich habe es mit dem Skript gemacht und es klappt bis jetzt super... vielen Dank noch mal für die Hilfe

Antworten

Zurück zu „HomeMatic allgemein“