Zeitstempel Programme: "letzte Ausführung"

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Antworten
jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Zeitstempel Programme: "letzte Ausführung"

Beitrag von jp112sdl » 16.07.2018, 08:50

Guten Morgen!

Ich habe ein sehr einfaches Programm, das bei Änderung der Helligkeit (oder abends 23:00 Uhr) ein paar Lampen ausschalten soll.
Das Programm funktioniert einwandfrei!
Bildschirmfoto 2018-07-16 um 08.38.53.png
Was ich nicht verstehe:
In "Status und Bedienung" -> "Programme" ändert sich der Zeitstempel in der Spalte "letzte Ausführung" alle 30 Sekunden - in dem Intervall, in dem die Variable "HelligkeitAvg", auf dessen Änderung > 2000 ich reagieren möchte, aktualisiert wird.

Aber warum ändert sich der Zeitstempel der Ausführung des Programms, wo es doch bei Änderung (und nicht bei Aktualisierung) getriggert wird?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Benutzeravatar
Black
Beiträge: 5480
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: Zeitstempel Programme: "letzte Ausführung"

Beitrag von Black » 16.07.2018, 09:18

der trigger ist immer eine Änderung an der triggervariablen (bei dir alle 30 Sekunden).

dadurch wird das programm aufgerufen (siehe am Zeitstempel) und die Bedingungen geprüft. Dabei stellt dann die rega fest, ok,keine ÄNDERUNG stattgefunden, also kein "Bedingung Erfüllt" des Condition Blocks. Bedingung nicht erfüllt führt auch zu nicht ausführen des Aktionsteiles. Somit hast du einen Zeitstempel aber keine Aktion.

Black

davon abgesehen würde ich mit mal deinen sensor mit 30 sekunden anschauen. erstmal haut sowas auf den DC und es ist mir in diesem Universum hier nicht bekannt, dann ein sonnen auf / untergang binnen 30 Sekunden stattfindet. Davon abgesehen programmiert man eher eine zeitliche verzögerung und glättung mit ein, um mal wolken ausfiltern zu können.
Zuletzt geändert von Black am 16.07.2018, 09:25, insgesamt 3-mal geändert.
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Benutzeravatar
JRiemann
Beiträge: 3903
Registriert: 12.11.2015, 21:05
Wohnort: Aurich
Danksagung erhalten: 3 Mal

Re: Zeitstempel Programme: "letzte Ausführung"

Beitrag von JRiemann » 16.07.2018, 09:20

Das mit dem Zeitstempel ist so eine Sache...
Grundsätzlich sollte der Zeitstempel die letzte Ausführung des Programms anzeigen. Und damit ist gemeint das ein DANN/SONST ausgeführt wurde.
Aber es hat sich gezeigt das diese Information warum auch immer sehr unzuverlässig ist und der Zeitstempel sich auch aktualisiert wenn lediglich das Programm durchlauf wurde.
Ich habe beispielsweise mehrere von der Logik identische Programme die auf die Außentemperatur reagieren und bei Bedarf Aktionen ausführen.
Hier ist es so das bei einigen Programm der Zeitstempel sich ändert sobald eine Aktion ausgeführt wurde, bei einzelnen anderen wird der Stempel aber im Rhythmus der zyklischen Statusmeldungen des Temp-Sensors gesetzt obwohl definitiv keine Aktion ausgeführt wurde.
Dieses "Fehlverhalten" wurde hier auch schon öfter diskutiert ohne das man auf eine verlässliche Begründung gestoßen wäre.

Es könnte sein das der Stempel falsch gesetzt wird weil intern etwas schief läuft.
Oder aber die CCU verwechselt im Programm "Änderung" mit "Aktualisierung" und durchläuft das Programm wirklich. In diesem Fall müsste es dann aber auch oft zu unnötigen Schaltbefehlen kommen.
Du solltest also jetzt prüfen ob nicht doch ständig das Licht ausgeschaltet wird obwohl es bereits aus ist.
jp112sdl hat geschrieben:
16.07.2018, 08:50
alle 30 Sekunden - in dem Intervall, in dem die Variable "HelligkeitAvg", auf dessen Änderung > 2000 ich reagieren möchte, aktualisiert wird.
Bei dieser Aussage kann ich nur staunen. Was macht es bitte nötig eine Variable alle 30 Sekunden zu aktualisieren? Jetzt sag bitte nich das Du 24 Stunden am Tag alle 30 Sekunden auch noch ein Skript laufen lässt um 1x abends 2 Lampen auszuschalten.
Viele Grüße!
Jörg

Benutzeravatar
JRiemann
Beiträge: 3903
Registriert: 12.11.2015, 21:05
Wohnort: Aurich
Danksagung erhalten: 3 Mal

Re: Zeitstempel Programme: "letzte Ausführung"

Beitrag von JRiemann » 16.07.2018, 09:33

Black hat geschrieben:
16.07.2018, 09:18
der trigger ist immer eine Änderung an der triggervariablen (bei dir alle 30 Sekunden).
Das sehe ich anders! Der Trigger ist die Änderung des Wahrheitsgehaltes der Variable, und nicht einfach nur des Inhalts allgemein. Regulär muss der Wert die Schwelle 2000 in irgendeine Richtung überspringen damit der Trigger auf "Änderung" regiert.
Wäre es so wie Du schreibst würde jede Aktualisierung des Variablenwertes im Bereich über 2000 zum ausführen des DANN führen weil die Bedingung größer 2000 bei jedem Durchlauf erfüllt ist. Aber genau das passiert eben nur wenn auch die Auslöseoption "bei Aktualisierung" gewählt wurde.

Wenn Deine Aussage richtig wäre würden die meisten meiner Programme ständig den Stempel wechseln obwohl keine Aktion ausgeführt wurde. Das ist aber definitiv nicht so. Einige Stempel wurden schon mehrere Tage nicht geändert obwohl der Inhalt der Variablen, die als Trigger dient, sich häufig aktualisiert. Ich bin mir auch 100% sicher das diese Programme mehrfach angestoßen und geprüft wurden ohne das daraufhin der Stempel verändert wurde.
Viele Grüße!
Jörg

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: Zeitstempel Programme: "letzte Ausführung"

Beitrag von jp112sdl » 16.07.2018, 09:48

Black hat geschrieben:
16.07.2018, 09:18
davon abgesehen würde ich mit mal deinen sensor mit 30 sekunden anschauen. erstmal haut sowas auf den DC und es ist mir in diesem Universum hier nicht bekannt, dann ein sonnen auf / untergang binnen 30 Sekunden stattfindet. Davon abgesehen programmiert man eher eine zeitliche verzögerung und glättung mit ein, um mal wolken ausfiltern zu können.
Also kurz zur Erklärung:
Der Helligkeitssensor schickt alle 30 Sekunden seinen Wertzur RaspberryMatic.
Dieser Wert landet in einer Werteliste von 20 Werten ganz hinten. Der erste Wert fliegt bei dieser Aktualisierung immer raus... eine Art Ringpuffer.
Aus diesen 20 Werten bilde ich den Mittelwert (Avg).
So habe ich eine wunderbar glatte Kurve, ohne Wolken 8) aus den Werten der letzten 10 Minuten (weiße Linie).
Bildschirmfoto 2018-07-16 um 09.47.23.png
Mein DC liegt bei 6%. Der Sensor schickt seine Werte per Broadcast. Da wird nix quittiert, was den DC stressen könnte.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Benutzeravatar
JRiemann
Beiträge: 3903
Registriert: 12.11.2015, 21:05
Wohnort: Aurich
Danksagung erhalten: 3 Mal

Re: Zeitstempel Programme: "letzte Ausführung"

Beitrag von JRiemann » 16.07.2018, 09:52

Was ist das denn für ein Sensor der alle 30 Sek. sendet?
Ein originaler HM kann das nicht sein. Sendezyklen unter 3 Minuten waren mir bisher unbekannt.
Viele Grüße!
Jörg

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: Zeitstempel Programme: "letzte Ausführung"

Beitrag von jp112sdl » 16.07.2018, 09:54

JRiemann hat geschrieben:
16.07.2018, 09:20
Das mit dem Zeitstempel ist so eine Sache...
Grundsätzlich sollte der Zeitstempel die letzte Ausführung des Programms anzeigen. Und damit ist gemeint das ein DANN/SONST ausgeführt wurde.
Aber es hat sich gezeigt das diese Information warum auch immer sehr unzuverlässig ist und der Zeitstempel sich auch aktualisiert wenn lediglich das Programm durchlauf wurde.
Ja ok, also sollte ich wirklich nicht viel drauf geben.
Manchmal ist der Zeitstempel hilfreich, wenn man sich "verzettelt" hat und man herausfinden möchte, welches Programm denn gerade gelaufen ist, weil dieses oder jenes passiert ist.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: Zeitstempel Programme: "letzte Ausführung"

Beitrag von jp112sdl » 16.07.2018, 09:55

JRiemann hat geschrieben:
16.07.2018, 09:52
Was ist das denn für ein Sensor der alle 30 Sek. sendet?
Ein originaler HM kann das nicht sein. Sendezyklen unter 3 Minuten waren mir bisher unbekannt.
Ein netzbetriebener Eigenbau. Mit Batterien wäre das wohl in der Tat nicht möglich.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Benutzeravatar
JRiemann
Beiträge: 3903
Registriert: 12.11.2015, 21:05
Wohnort: Aurich
Danksagung erhalten: 3 Mal

Re: Zeitstempel Programme: "letzte Ausführung"

Beitrag von JRiemann » 16.07.2018, 09:56

Wenn Du 100% sicher bist das das Programm nicht durchlaufen und ausgeführt wird würde ich nichts auf den Stempel geben.
Viele Grüße!
Jörg

Benutzeravatar
Black
Beiträge: 5480
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: Zeitstempel Programme: "letzte Ausführung"

Beitrag von Black » 16.07.2018, 10:19

das ist nicht ganz eindeutig, damit gebe ich dir recht.

ich hab programme, da ist es so oder auch so. genau wie du es beschreibst. Bei systemvariablen als trigger eher mein verhalten, bei sensoren als trigger eher dein verhalten. aber nix eindeutiges.

um wirklich aktionen u wissenschreibeich über kleinesscript immereintrag ins systemlog.
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Antworten

Zurück zu „HomeMatic allgemein“