Programmauslösung nur bei Änderung der Systemvariable

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

BurgCCU
Beiträge: 11
Registriert: 17.02.2020, 18:46
System: CCU
Wohnort: Querfurt
Hat sich bedankt: 6 Mal

Programmauslösung nur bei Änderung der Systemvariable

Beitrag von BurgCCU » 17.01.2024, 13:23

Ich möchte das ein Programm nur durch die Änderung oder Aktualisierung einer Systemvariable (ohne Bezug auf den Inhalt) ausgelöst wird?
Wie kann man diesen Sachverhalt umsetzten?

Bild
Dateianhänge
ugiugiu1.jpg

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

Re: Programmauslösung nur bei Änderung der Systemvariable

Beitrag von Xel66 » 17.01.2024, 21:04

Die Variable auf einen Inhalt, den sie nie haben kann, prüfen bei Aktualisierung und die auszuführende Aktion im SONST hinterlegen. Ich prüfe bei mir auf die Zeichenkette "leer".

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

[sprotte80]
Beiträge: 339
Registriert: 05.10.2020, 18:37
System: CCU
Hat sich bedankt: 30 Mal
Danksagung erhalten: 25 Mal

Re: Programmauslösung nur bei Änderung der Systemvariable

Beitrag von [sprotte80] » 17.01.2024, 21:57

Hi
BurgCCU hat geschrieben:
17.01.2024, 13:23
Ich möchte das ein Programm nur durch die Änderung oder Aktualisierung einer Systemvariable (ohne Bezug auf den Inhalt) ausgelöst wird?
Würde Xels Vorschlag nich umsetzen wo da zu viele Nachteile.
Geht so besser:

Code: Alles auswählen

WENN
    Systemvariable Batterieabfrage   "" bei Aktuallisierung ausführen
    ODER
    Zeitmodul  Zeitspanne = ganztägig + Serienmuster = Täglich jeden Tag  === nur prüfen
DANN
   mach was
So brauchste kein Sonst und is ganz egal was in der Zeichenkette drin ist.
Und noch nen Vorteil: funzt auch beim Prog starten in der WebUI und bei Reboot.

Thomas
Wenn du keine App zur Bedienung brauchst, dann hast du kein Smarthome, sondern nur eine angefangene Baustelle, oder nur ein unsmartes Autohome.

Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.

Silverstar
Beiträge: 377
Registriert: 11.02.2020, 12:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 99 Mal
Danksagung erhalten: 68 Mal

Re: Programmauslösung nur bei Änderung der Systemvariable

Beitrag von Silverstar » 18.01.2024, 15:55

[sprotte80] hat geschrieben:
17.01.2024, 21:57
[...]
Würde Xels Vorschlag nich umsetzen wo da zu viele Nachteile.
[...]
Welche?
Ich mache das z.T. auch so.

Matsch
Beiträge: 5602
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 120 Mal
Danksagung erhalten: 768 Mal

Re: Programmauslösung nur bei Änderung der Systemvariable

Beitrag von Matsch » 18.01.2024, 16:15

Dito


MichaelN
Beiträge: 9850
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 712 Mal
Danksagung erhalten: 1671 Mal

Re: Programmauslösung nur bei Änderung der Systemvariable

Beitrag von MichaelN » 18.01.2024, 17:29

Hat bestimmt auch viele Nachteile
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++


BurgCCU
Beiträge: 11
Registriert: 17.02.2020, 18:46
System: CCU
Wohnort: Querfurt
Hat sich bedankt: 6 Mal

Re: Programmauslösung nur bei Änderung der Systemvariable

Beitrag von BurgCCU » 18.01.2024, 18:16

[sprotte80] hat geschrieben:
17.01.2024, 21:57
Hi
BurgCCU hat geschrieben:
17.01.2024, 13:23
Ich möchte das ein Programm nur durch die Änderung oder Aktualisierung einer Systemvariable (ohne Bezug auf den Inhalt) ausgelöst wird?
Würde Xels Vorschlag nich umsetzen wo da zu viele Nachteile.
Geht so besser:

Code: Alles auswählen

WENN
    Systemvariable Batterieabfrage   "" bei Aktuallisierung ausführen
    ODER
    Zeitmodul  Zeitspanne = ganztägig + Serienmuster = Täglich jeden Tag  === nur prüfen
DANN
   mach was
So brauchste kein Sonst und is ganz egal was in der Zeichenkette drin ist.
Und noch nen Vorteil: funzt auch beim Prog starten in der WebUI und bei Reboot.

Thomas
Danke Thomas,
dein Ansatz hat die Sache zum laufen gebracht. Was bewirkt aber die zusätzliche Zeitprüfung im Logikverlauf?

Raik

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

Re: Programmauslösung nur bei Änderung der Systemvariable

Beitrag von Xel66 » 18.01.2024, 18:32

BurgCCU hat geschrieben:
18.01.2024, 18:16
Was bewirkt aber die zusätzliche Zeitprüfung im Logikverlauf?
Ich bin zwar nicht der Angesprochene und habe auch den Beitrag bisher nicht gelesen, aber kann keinen Nachteil der von mir vorgestellten Lösung gegenüber der angeführten entdecken. Eher im Gegenteil.

Das Zeitmodul sorgt für eine WAHRe Bedingung, wenn durch die Aktualisierung der Systemvariable die Bedingungsprüfung des Programms getriggert wird und sorgt für die Ausführung des DANN. Gründe findest Du im WebUI-Handbuch zum Triggern und Abarbeiten von Programmen.

Das ist m.E. auch der große Nachteil der Lösung, die unverständlicherweise als Vorteil (Ausführung bei Systemstart) dargestellt wird. Dadurch wird ggf. der bestehende (veraltete) Inhalt der Systemvariable versandt. Dieser hat vielleicht schon längst vor dem Reboot für das Triggern des Programms gesorgt. Meist werden durch solche Konstrukte ja Push, Mail- oder TTS-Programme getriggert. Aber jeder wie er will.

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

Antworten

Zurück zu „HomeMatic allgemein“