[GELÖST] State() mit Delay in HM Script

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

Moderatoren: jmaus, Co-Administratoren

MichaelN
Beiträge: 424
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 39 Mal
Danksagung erhalten: 31 Mal

Re: [GELÖST] State() mit Delay in HM Script

Beitrag von MichaelN » 30.06.2020, 13:11

Da ich eine solche Funktion gerade gut gebrauhcen könnte:

kann man eigentlich abfragen, ob ein Delay gesetzt ist?

Konkret: ich schalte in einem Programm eine Variable verzögert von false auf true und möchte zwischendurch abfragen, ob diese Verzögerung noch läuft oder ob sie durch einen gegenläufigen Befehl (sofort auf false) gestoppt wurde.

Benutzeravatar
Black
Beiträge: 2970
Registriert: 12.09.2015, 22:31
System: Alternative CCU (RaspberryMatic etc.)
Wohnort: Wegberg
Hat sich bedankt: 44 Mal
Danksagung erhalten: 208 Mal
Kontaktdaten:

Re: [GELÖST] State() mit Delay in HM Script

Beitrag von Black » 30.06.2020, 13:35

MichaelN hat geschrieben:
30.06.2020, 13:11
Da ich eine solche Funktion gerade gut gebrauhcen könnte:

kann man eigentlich abfragen, ob ein Delay gesetzt ist?

Konkret: ich schalte in einem Programm eine Variable verzögert von false auf true und möchte zwischendurch abfragen, ob diese Verzögerung noch läuft oder ob sie durch einen gegenläufigen Befehl (sofort auf false) gestoppt wurde.
Noch nicht... ich habe aber Funktionen wie .IsScheduled() bzw .ClearDelay() schon bei Jens als Issue angemeldet

Stringfunktionen wie .EscapeString() bzw .UnEscapeString () wären auch sinnvoll nach dem breaking Change Erfahrungen . Den Pascal Quelltext dazu kann ich gerne zur Verfügung stellen.
Ebenso .StringBetween (linketextgreze,rechtetextgrenze)

Black
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.51.6.20200420 mit Groundplane Antennenmod
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 3.11.04 Scripteditor und Objektinspektor

technical contribution against annoying advertising

Benutzeravatar
jmaus
Beiträge: 5938
Registriert: 17.02.2015, 14:45
System: Alternative CCU (RaspberryMatic etc.)
Wohnort: Dresden
Hat sich bedankt: 14 Mal
Danksagung erhalten: 325 Mal
Kontaktdaten:

Re: [GELÖST] State() mit Delay in HM Script

Beitrag von jmaus » 30.06.2020, 14:50

jmaus hat geschrieben:
30.06.2020, 11:53
Ja, das ist es in der Tat und ich hab es auch schon reproduzieren können und ich denke auch schon den schuldigen gefunden. Der entscheidende Hinweis war dabei die folgende Fehlermeldung die kommt wenn man ein Delayed State() auf einen Kanal macht:

Code: Alles auswählen

Jun 30 09:07:43 homematic-raspi local0.err ReGaHss: ERROR: dp pointer is null - id= 1679 [ExecuteWriteJob():iseRTScheduler.cpp:641]
Der Scheduler der das State ja dann nach der angegebenen Delayzeit ausführen soll kann bis jetzt eben nur mit DPs umgehen und verweigt mit dieser Fehlermeldung auch ein State() auf einem Kanal auszuführen (was prinzipiell geht wenn es einen DefaultDP für einen Kanal gibt. Sollte sich recht einfach reparieren lassen.
So, ab der kommenden R1.00.0388.0220 sollte das nun gehen. Und noch mehr, denn mir war auch gleich noch aufgefallen das das delayed State() auch nicht für OT_PROGRAM funktioniert hat. Damit sollte das delayed State() in der kommenden ReGa version dann für alle Objekttypen gehen auf die man ein State() anwenden kann (ausser natürlich ich hab einen übersehen :)
RaspberryMatic 3.51.6.20200621 @ ESXi mit ~180 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

Benutzeravatar
jmaus
Beiträge: 5938
Registriert: 17.02.2015, 14:45
System: Alternative CCU (RaspberryMatic etc.)
Wohnort: Dresden
Hat sich bedankt: 14 Mal
Danksagung erhalten: 325 Mal
Kontaktdaten:

Re: [GELÖST] State() mit Delay in HM Script

Beitrag von jmaus » 04.07.2020, 09:54

So, noch kurz nachgeliefert: Im aktuellsten nightly Snapshot von RaspberryMatic ist jetzt die neueste ReGaHss Betaversion mit dabei bei der nun das delayed State() auch für OT_CHANNEL und OT_PROGRAM funktionieren sollte. Interessierte Tester können das gerne mal selber testen und hier berichten. Danke nochmal an alchy für den Hinweis!
RaspberryMatic 3.51.6.20200621 @ ESXi mit ~180 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

Benutzeravatar
Black
Beiträge: 2970
Registriert: 12.09.2015, 22:31
System: Alternative CCU (RaspberryMatic etc.)
Wohnort: Wegberg
Hat sich bedankt: 44 Mal
Danksagung erhalten: 208 Mal
Kontaktdaten:

Re: [GELÖST] State() mit Delay in HM Script

Beitrag von Black » 04.07.2020, 13:54

Gib mir mal bitte einen Use case für den state bzw statedelay eines OT_PROGRAM Objektes.

Thnx Black
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.51.6.20200420 mit Groundplane Antennenmod
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 3.11.04 Scripteditor und Objektinspektor

technical contribution against annoying advertising

alchy
Beiträge: 9644
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 18 Mal
Danksagung erhalten: 235 Mal

Re: [GELÖST] State() mit Delay in HM Script

Beitrag von alchy » 04.07.2020, 17:11

.State(1) oder auch true oder Los triggert ein Programm sofern es aktiv ist in es werden die Bedingungen geprüft im Gegensatz zu execute.
Das hat aber nichts mit der Rapi zu tun. Das ist schon länger so wurde jetzt nur verraten.
Der delay würde es dann verzögern auf der raspi.

Alchy

.................... 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.

Benutzeravatar
Black
Beiträge: 2970
Registriert: 12.09.2015, 22:31
System: Alternative CCU (RaspberryMatic etc.)
Wohnort: Wegberg
Hat sich bedankt: 44 Mal
Danksagung erhalten: 208 Mal
Kontaktdaten:

Re: [GELÖST] State() mit Delay in HM Script

Beitrag von Black » 04.07.2020, 17:20

Thnx, interessanter Ansatz der sich da eröffnet.

Black
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.51.6.20200420 mit Groundplane Antennenmod
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 3.11.04 Scripteditor und Objektinspektor

technical contribution against annoying advertising

Benutzeravatar
jmaus
Beiträge: 5938
Registriert: 17.02.2015, 14:45
System: Alternative CCU (RaspberryMatic etc.)
Wohnort: Dresden
Hat sich bedankt: 14 Mal
Danksagung erhalten: 325 Mal
Kontaktdaten:

Re: [GELÖST] State() mit Delay in HM Script

Beitrag von jmaus » 04.07.2020, 18:25

Black hat geschrieben:
04.07.2020, 17:20
Thnx, interessanter Ansatz der sich da eröffnet.
Genau, das eröffnet z.b. den interessanten Ansatz in einem Program1 in einem Skript das zweite Program2 aufzurufen das wiederrun Program1 aufruft und somit mitunter dazu führt das die ReGa irgendwann tot am Boden liegt vor lauter Rekursionen ;) Also einfach damit nun ein wenig sparsam umgehen damit man sich nicht irgendwann damit böse in den Fuß schießt ;)
Aber ansonsten ist das wie alchy sagt nichts wirklich neues. Neu ist nur das man das State() jetzt auch mit einem Delay ausführen lassen kann.
RaspberryMatic 3.51.6.20200621 @ ESXi mit ~180 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

Benutzeravatar
Black
Beiträge: 2970
Registriert: 12.09.2015, 22:31
System: Alternative CCU (RaspberryMatic etc.)
Wohnort: Wegberg
Hat sich bedankt: 44 Mal
Danksagung erhalten: 208 Mal
Kontaktdaten:

Re: [GELÖST] State() mit Delay in HM Script

Beitrag von Black » 04.07.2020, 18:36

da gibts noch ganz andere möglichkeiten, um die rega ins nirvana zu setzen. generell ist es aber ein interessanter ansatz, für den es mit sicherheit auch die ein oder andere vernünftige Anwendung gibt

Black
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.51.6.20200420 mit Groundplane Antennenmod
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 3.11.04 Scripteditor und Objektinspektor

technical contribution against annoying advertising

Antworten

Zurück zu „RaspberryMatic“