Systemvariable bei CCU Neustart falscher Status
Moderator: Co-Administratoren
-
- Beiträge: 9686
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1627 Mal
Re: Systemvariable bei CCU Neustart falscher Status
Es wird jedes Programm ausgeführt, dessen Bedingungen zum Start Zeitpunkt wahr ergeben.
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 +++
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 +++
-
- Beiträge: 14170
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 587 Mal
- Danksagung erhalten: 1501 Mal
Re: Programme mit Zeitsteuerung
Abhängig von der programmierten Startzeit. Bei Startzeit zur vollen Stunde dann eben x:00, x:05, x: 10, x:15 usw.Werner74579 hat geschrieben: ↑23.01.2024, 22:59..., also die beispielsweise alle 5 Minuten mal starten.
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
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
-
- Beiträge: 69
- Registriert: 08.12.2022, 15:44
- System: CCU
- Hat sich bedankt: 20 Mal
Programmstart bei Zeitsteuerung
Danke @Xel66. Bei mir ist beispielsweise der Startzeitpunkt einfach "20.11.2023".
Dann würde also das Programm, wie von dir beschrieben, x:00, x:05, x:10, x:15 usw. starten. Also wenn der System-Neustart gerade um 10:05 ist, startet das Programm weitestgehend sofort - oder?
Dann würde also das Programm, wie von dir beschrieben, x:00, x:05, x:10, x:15 usw. starten. Also wenn der System-Neustart gerade um 10:05 ist, startet das Programm weitestgehend sofort - oder?
-
- Beiträge: 14170
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 587 Mal
- Danksagung erhalten: 1501 Mal
Re: Systemvariable bei CCU Neustart falscher Status
Du gibst für das zyklische Triggern einen Uhrzeitbereich an (ganztägig beginnt um 0:00 Uhr). Der ist relevant. Wenn Du da "krumme Zeiten anlegst, kannst Du auch um x:03, x:08 usw. triggern.
Gruß Xel66
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
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
-
- Beiträge: 69
- Registriert: 08.12.2022, 15:44
- System: CCU
- Hat sich bedankt: 20 Mal
Konkreter Ablauf beim System-Neustart
Hallo @Xel66, ich komme mal auf diesen Satz von dir zurück:
[Zeitsteuerung] Periodisch Ganztägig beginnend am 20.11.2023 [zu Zeitpunkten auslösen]
(und diese Zeitpunkte sind alle 5 Minuten)
noch ein UND einfügen mit
[Systemzustand] Anwesenheit bei [nicht anwesend] [nur prüfen]
Wenn ich das richtig verstanden habe ist ja Anwesenheit beim Neustart immer WAHR und somit müsste ich mit obiger Methode verhindert haben, dass das Zeitprogramm startet.
Dann erstelle ich ein zweites Programm ohne irgendeine Wenn-Bedingung. Dieses Programm rufe ich nie auf, weil ich es nur beim System-Neustart benötige. Aber ohne Wenn-Bedingung müsste dieses Programm ja beim System-Neustart aufgerufen werden. In diesem Programm nehme ich einige Initialisierungen vor, die notwendig geworden sein könnten, weil während des Systemausfalls einige Sensoren und äußere Hardware nicht mehr mit den internen Systemvariablen zusammenpassen. Wenn alles wieder Ok ist, setze ich am Ende dieses Programms
dom.GetObject("Anwesenheit").State(false);
und dann müsste ja mein obiges zeitgesteuerte Programm wieder normal alle 5 Minuten starten, da ja
[Systemzustand] Anwesenheit bei [nicht anwesend] [nur prüfen]
jetzt Wahr ist.
Das ist mein Plan. Könnte das so klappen?
Ich möchte gerne vermeiden, dass das oben erwähnte zeitgesteuerte Programm bei einem System-Neustart ausgeführt wird. Ich will dazu in die Wenn-Bedingung nach meiner Zeitsteuerung
[Zeitsteuerung] Periodisch Ganztägig beginnend am 20.11.2023 [zu Zeitpunkten auslösen]
(und diese Zeitpunkte sind alle 5 Minuten)
noch ein UND einfügen mit
[Systemzustand] Anwesenheit bei [nicht anwesend] [nur prüfen]
Wenn ich das richtig verstanden habe ist ja Anwesenheit beim Neustart immer WAHR und somit müsste ich mit obiger Methode verhindert haben, dass das Zeitprogramm startet.
Dann erstelle ich ein zweites Programm ohne irgendeine Wenn-Bedingung. Dieses Programm rufe ich nie auf, weil ich es nur beim System-Neustart benötige. Aber ohne Wenn-Bedingung müsste dieses Programm ja beim System-Neustart aufgerufen werden. In diesem Programm nehme ich einige Initialisierungen vor, die notwendig geworden sein könnten, weil während des Systemausfalls einige Sensoren und äußere Hardware nicht mehr mit den internen Systemvariablen zusammenpassen. Wenn alles wieder Ok ist, setze ich am Ende dieses Programms
dom.GetObject("Anwesenheit").State(false);
und dann müsste ja mein obiges zeitgesteuerte Programm wieder normal alle 5 Minuten starten, da ja
[Systemzustand] Anwesenheit bei [nicht anwesend] [nur prüfen]
jetzt Wahr ist.
Das ist mein Plan. Könnte das so klappen?
- Baxxy
- Beiträge: 10850
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 610 Mal
- Danksagung erhalten: 2230 Mal
Re: Systemvariable bei CCU Neustart falscher Status
Man kann Systemvariablen auch ganz einfach im Programm setzen, da brauchts kein Script.
Aber ja, das ist der "Programme sollen bei Zentralenstart nicht ausgeführt werden" - Workaround.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 9686
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1627 Mal
Re: Systemvariable bei CCU Neustart falscher Status
Ist aber unnötig, weil extern unwahrscheinlich, dass du genau zu dem periodisch anstehenden Zeitpunkt neu bootest.
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 +++
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 +++
-
- Beiträge: 69
- Registriert: 08.12.2022, 15:44
- System: CCU
- Hat sich bedankt: 20 Mal
Das ist nicht das Problem
Hey @MichaelN,
danke für deinen Einwand.
Das ist aber nicht das Problem. Sondern ich sollte mein zeitgesteuertes Programm überhaupt nicht laufen lassen, solange ich Inkonsistenten zwischen meinen internen Systemvariablen und der äußeren Hardware habe und das könnte während eines Systemausfalls durchaus vorkommen. Daher ist der Zeitpunkt des System-Neustarts nicht relevant, wichtig ist diese Inkonsistenz erst zu bearbeiten und zu beseitigen und dann erst mit dem normalen Programmablauf, das heißt mit der normalen regelmäßigen Zeitsteuerung weiterzumachen.
danke für deinen Einwand.
Das ist aber nicht das Problem. Sondern ich sollte mein zeitgesteuertes Programm überhaupt nicht laufen lassen, solange ich Inkonsistenten zwischen meinen internen Systemvariablen und der äußeren Hardware habe und das könnte während eines Systemausfalls durchaus vorkommen. Daher ist der Zeitpunkt des System-Neustarts nicht relevant, wichtig ist diese Inkonsistenz erst zu bearbeiten und zu beseitigen und dann erst mit dem normalen Programmablauf, das heißt mit der normalen regelmäßigen Zeitsteuerung weiterzumachen.
-
- Beiträge: 69
- Registriert: 08.12.2022, 15:44
- System: CCU
- Hat sich bedankt: 20 Mal
Scheint bei mir nicht zu funktionieren
Ich hab's jetzt mal getestet...
Wenn bei mir "Anwesenheit" auf "nicht anwesend" gesetzt ist, dann kann ich die CCU3 ausschalten, indem ich einfach den Strom abstelle.
Nach dem System-Neustart ist dann "Anwesenheit" immer noch "nicht anwesend".
Hmmm... keine Ahnung warum das hier nicht klappt.
Und wenn "Anwesenheit" auf "anwesend" ist, dann ist auch nach einem System-Neustart noch "Anwesenheit" auf "anwesend".
Mach ich was falsch?
Ich bin etwas verwirrt!
Wenn bei mir "Anwesenheit" auf "nicht anwesend" gesetzt ist, dann kann ich die CCU3 ausschalten, indem ich einfach den Strom abstelle.
Nach dem System-Neustart ist dann "Anwesenheit" immer noch "nicht anwesend".
Hmmm... keine Ahnung warum das hier nicht klappt.
Und wenn "Anwesenheit" auf "anwesend" ist, dann ist auch nach einem System-Neustart noch "Anwesenheit" auf "anwesend".
Mach ich was falsch?
Ich bin etwas verwirrt!
- Baxxy
- Beiträge: 10850
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 610 Mal
- Danksagung erhalten: 2230 Mal
Re: Systemvariable bei CCU Neustart falscher Status
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen