NEWS
Wie logge ich eine Programmausführung der CCU mit dem sql Adapter
-
Hallo,
die Suche hat nichts ergeben, daher meine Frage:
Wie logge ich die Ausführung eines Programms (9984 ist das gewünschte Programm)?
Ich sehe unter hm-rega.0.9984.ProgramExecute die Rolle "action.execute" mit einen Wert "false", erscheint mir logisch und ok,
das Programm läuft ja jetzt gerade nicht.
Im SQL-Adapter habe ich aktiviert, es entsteht der erste Eintrag mit "false", soweit ok.
Wenn ich das Programm manuell starte oder das Programm etwa durch das Zeitmodul abläuft sehe ich in der HM-WebUI die geänderte
"Letzte Ausführung". Allerdings gibt es keinen Eintrag im SQL-Adapter.
Ich habe schon mit "nur Änderungen" und der "Entprellzeit" experimentiert, leider ohne Erfolg.
Natürlich könnte ich für jedes Programm eine Systemvariable erstellen, die ich zusätzlich zum Programmstart setze und nach 10 Sekunden zurücksetze,
aber das erscheint mir bei > 30 Programmen irgendwie overkill zu sein und hilft nicht ber Lesbarkeit oder dem Variablenverbrauch.
Hat Jemand noch eine andere Idee?
Vielen Dank
Harvey
-
Ändert sich denn der Status in ioBroker überhaupt?
Soweit ich mich erinnere bekommt ioBroker davon nicht mit. Diese Datenpunkte sind dazu da um von ioBroker aus das programm auszuführen (zu starten). auf "true" setzen und dann sollte es in der CCU loslaufen.
Ich denke der Weg den Du willst funktioniert nicht.
-
Hi @ apollon77,
es ist so, wie Du sagst, das Setzen der Variable auf "true" startet das Programm auf der ccu. Dnach kann/muss man die Variable
manuell wieder auf "false" setzen", da nur der Übergang false->true das Program auslöst.
Leider aber nicht das, was ich suche.
Ich möchte ja die Ausführung eines Programms protokollieren, um etwa den Ausführungszeitpunkt (etwa eines Tastendrucks)
zu sammeln und mit anderen Variablen grafisch darzustellen. Super wäre auch, Programmstart UND Programmende (bzw Laufzeit)
zu protokollieren.
Für ein einzelnes Programm ist es möglich, eine besondere Variable zu setzen und eine Sekunde später zurückzusetzen.
Das hilft mir in einem konkreten Fall wohl schon. Ist aber "im Prinzip" unschön, wegen vielen Variablen und Programmspaghetti.
Vielleicht ist Thema "Loggen eines Programmablaufs" auch für andere interessant. Es erscheint mir so, als würde eigentlich alles
fast schon fertig sein (Anbindung rega an sql/history, für Variable gehts es schon immer zu loggen).
Über die XML-Api wird zumindest der timestamp des letzten Programmlauf zurückgegeben.
<program id="9984" active="true" timestamp="1517857567" name="RolloManuellReset" description="...." visible="true" operate="true"></program>
Vielen Dank
cu
Harvey