Setzen einer Systemvariablen wird "verschluckt" (bei verlangsamter Programmausführung)
Moderator: Co-Administratoren
-
- Beiträge: 9679
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1626 Mal
Re: Setzen einer Systemvariablen wird "verschluckt" (bei verlangsamter Programmausführung)
Das einfachste wäre ja den störrischen Aktor ans Ende der Abarbeitung zu stellen und zu schauen ob das Problem dann weg ist. Kostet 5 Sekunden.
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: 14165
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 585 Mal
- Danksagung erhalten: 1500 Mal
Re: Setzen einer Systemvariablen wird "verschluckt" (bei verlangsamter Programmausführung)
Da die Originalprogramme nicht sichtbar sind (Wink mit dem Zaunfeld), ist es eigentlich müßig, darüber zu diskutieren, denn man kann über die Ursache nur spekulieren und die Glaskugel bemühen. Vermutlich werden aber die Rückmeldungen des triggernden Aktors verzögert, weil in dieser Zeit das Funkmodul versucht, den nicht vorhandenen Aktor zu kontaktieren (listen before talk). Diese fehlenden Rückmeldungen verursachen dann vermutlich die verzögerte Abarbeitung des Prozesses. Auch halte ich die gleichzeitige Ansteuerung mehrerer Aktoren per "sofort" in Deinem Beispielprogramm für nicht funktionssicher. Grundsätzlich sollte die CCU das gerade im Falle von HmIP handlen können, aber im Falle von schwer oder nicht erreichbaren Aktoren kann das LBT (listen before talk) ein Bein stellen. Bei klassischem Homematic würden die Aktoren schlichtweg nicht reagieren und die CCU eine Kommunikationsstörungsmeldung werfen.
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
- Baxxy
- Beiträge: 10836
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 608 Mal
- Danksagung erhalten: 2228 Mal
Re: Setzen einer Systemvariablen wird "verschluckt" (bei verlangsamter Programmausführung)
Ich finde es interessant das ein unerreichbarer Aktor den "Programmdurchlauf" zum stocken bringt. Hatte ich bisher noch nichts von gehört/gelesen.
Dachte bisher das die ReGa die Befehle stur an den entsprechenden Dienst (rfd, HM/HmIP-Server) weitergibt und nicht auf Rückmeldung wartet.
Das muss ich mal testen. Gibt's da irgendwas wie man die Laufzeit eines Programmes bestimmen kann?
Dachte bisher das die ReGa die Befehle stur an den entsprechenden Dienst (rfd, HM/HmIP-Server) weitergibt und nicht auf Rückmeldung wartet.
Das muss ich mal testen. Gibt's da irgendwas wie man die Laufzeit eines Programmes bestimmen kann?
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
- shartelt
- Beiträge: 7421
- Registriert: 14.01.2015, 14:59
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 524 Mal
- Danksagung erhalten: 753 Mal
Re: Setzen einer Systemvariablen wird "verschluckt" (bei verlangsamter Programmausführung)
speicher Dir Werte in ne DB, dann siehstes am Timestamp?
-
- Beiträge: 9679
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1626 Mal
Re: Setzen einer Systemvariablen wird "verschluckt" (bei verlangsamter Programmausführung)
Skript als ersten Und letzen Befehl und dort einen Eintrag ins Fehlerprotokoll schreiben
Aber ich glaube mittlerweile, daß wir nicht das vollständige Bild sehen, denn:
Ich vermute mal sehr stark, daß der störrischen Aktor auch Effekte auf die eingesetzte Middleware hat und diese ggf. Die CCU mit Anfragen "bombardiert" und damit zeitweise ausser Gefecht setzt. Sowas haben wir ja schon öfter hier gesehen.
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: 14165
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 585 Mal
- Danksagung erhalten: 1500 Mal
Re: Setzen einer Systemvariablen wird "verschluckt" (bei verlangsamter Programmausführung)
Das wird wohl auch so sein, aber das andere Programm wird ja wohl (Glaskugel) durch die vollzogene Rückmeldung eines anderen Aktors getriggert und diese Rückmeldung kommt wahrscheinlich nicht zum Zug, weil der damit Aktor wartet, bis die CCU ausgefunkt hat. Ist aber alles Spekulation. Kann man sicher mit "alles loggen" herausbekommen.
Mir ist auch nicht verständlich, warum man Aktoren in einem Programm anspricht, von denen man weiß, dass sie sich nicht im System befinden. Gerade bei Weihnachtsbeleuchtung könnte man ein entsprechendes Programm machen, welches diese Aktoren anspricht und durch Setzen einer Saisonvariable unwirksam gesetzt werden kann, solange man die Funktion nicht benötigt.
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: 1169
- Registriert: 06.07.2010, 00:24
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 35 Mal
Re: Setzen einer Systemvariablen wird "verschluckt" (bei verlangsamter Programmausführung)
Deine Glaskugel hat recht. Hierzu hatte ich nichts weitergeschrieben und auch nicht die Programme gepostet, da es in diesem Thread ja nicht um die Verzögerung/Verlangsamung gehen sollte.Xel66 hat geschrieben: ↑30.06.2022, 14:02Das wird wohl auch so sein, aber das andere Programm wird ja wohl (Glaskugel) durch die vollzogene Rückmeldung eines anderen Aktors getriggert und diese Rückmeldung kommt wahrscheinlich nicht zum Zug, weil der damit Aktor wartet, bis die CCU ausgefunkt hat. Ist aber alles Spekulation. Kann man sicher mit "alles loggen" herausbekommen.
Da bin ich voll bei Dir und das Ganze ist auch schon längst geändert. Ich hätte allerdings auch nicht mit derartig starken Verzögerungen gerechnet (man sieht ja im zu Anfangs geposteten Systemprotokoll, dass das Ganze bei ca. 22 Sekunden liegt), da mir ein derartiges Verhalten bis dato nicht bekannt war und anscheinend anderen hier auch nicht.Xel66 hat geschrieben: ↑30.06.2022, 14:02Mir ist auch nicht verständlich, warum man Aktoren in einem Programm anspricht, von denen man weiß, dass sie sich nicht im System befinden. Gerade bei Weihnachtsbeleuchtung könnte man ein entsprechendes Programm machen, welches diese Aktoren anspricht und durch Setzen einer Saisonvariable unwirksam gesetzt werden kann, solange man die Funktion nicht benötigt.
Aktuelle Projekte:
Direkter SMS-Versand und -Empfang über CCU2&Raspberrymatic ohne Cloud:
viewtopic.php?f=31&t=39483
Automower (G2) steuern über Homematic per WLAN:
viewtopic.php?f=31&t=7295
Direkter SMS-Versand und -Empfang über CCU2&Raspberrymatic ohne Cloud:
viewtopic.php?f=31&t=39483
Automower (G2) steuern über Homematic per WLAN:
viewtopic.php?f=31&t=7295
-
- Beiträge: 1169
- Registriert: 06.07.2010, 00:24
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 35 Mal
Re: Setzen einer Systemvariablen wird "verschluckt" (bei verlangsamter Programmausführung)
Das hier geschilderte Problem war ein kleiner Teil von meiner Beleuchtungssteuerung, welche wiederum verknüpft ist mit der Rolladensteuerung. Die Rolladensteuerung läuft seit geraumer Zeit als eigen entwickelter TCL-Prozess mit parametriebaren Logikbausteinen und Ansteuerung von Somfy-Rolläden (hatte ich hier im Forum auch irgendwann mal veröffentlicht). Dies würde hier den Rahmen aber komplett sprengen. Da ich eh komplett von HM-Script und HM-GUI weg will werde ich auch die Beleuchtungssteuerung komplett neu und mit anderen Programmiermitteln umsetzen.
Nein, da ich die Logik dann komplett anders umsetzen werde und dies inklusive der Möglichkeit HM-Komponenten bewusst zu "deaktivieren", so dass diese gar nicht mehr angesteuert werden. So etwas Ähnliches habe ich für mich schon im Bereich von Servicemeldungen vor etlichen Jahren umgesetzt.
Aber wie schon geschrieben: Es geht mir hier nicht darum eine Problemlösung für meinen konkreten Anwendungsfall zu finden (da weiß ich mir schon zu helfen und habe mir hier auch schon geholfen), sondern dem Grund für das merkwürdige Verhalten auf die Schliche zu kommen, so dass ggf. andere nicht in die Falle tappen oder (falls überhaupt möglich) das Problem (wenn es denn nicht so bewusst designed ist) zu beheben.
Aktuelle Projekte:
Direkter SMS-Versand und -Empfang über CCU2&Raspberrymatic ohne Cloud:
viewtopic.php?f=31&t=39483
Automower (G2) steuern über Homematic per WLAN:
viewtopic.php?f=31&t=7295
Direkter SMS-Versand und -Empfang über CCU2&Raspberrymatic ohne Cloud:
viewtopic.php?f=31&t=39483
Automower (G2) steuern über Homematic per WLAN:
viewtopic.php?f=31&t=7295
-
- Beiträge: 1169
- Registriert: 06.07.2010, 00:24
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 35 Mal
Re: Setzen einer Systemvariablen wird "verschluckt" (bei verlangsamter Programmausführung)
Ansonsten: Erst einmal Danke an Alle für die Diskussion.
ich werde hoffentlich am Wochenende die Zeit finden die Doku zur Reproduktion des Themas auf das Wesentliche zusammenzufassen und dann erneut hier mit Programmen und entsprechenden Screenshots zu posten.
ich werde hoffentlich am Wochenende die Zeit finden die Doku zur Reproduktion des Themas auf das Wesentliche zusammenzufassen und dann erneut hier mit Programmen und entsprechenden Screenshots zu posten.
Zuletzt geändert von mule am 30.06.2022, 14:40, insgesamt 1-mal geändert.
Aktuelle Projekte:
Direkter SMS-Versand und -Empfang über CCU2&Raspberrymatic ohne Cloud:
viewtopic.php?f=31&t=39483
Automower (G2) steuern über Homematic per WLAN:
viewtopic.php?f=31&t=7295
Direkter SMS-Versand und -Empfang über CCU2&Raspberrymatic ohne Cloud:
viewtopic.php?f=31&t=39483
Automower (G2) steuern über Homematic per WLAN:
viewtopic.php?f=31&t=7295
-
- Beiträge: 14165
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 585 Mal
- Danksagung erhalten: 1500 Mal
Re: Setzen einer Systemvariablen wird "verschluckt" (bei verlangsamter Programmausführung)
Für mich ist der Grund laut der Symptombeschreibung (und Glaskugel) das LBT (listen before talk).
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