Seite 1 von 1

CUxD Timer, zuverlässiges Timer_Event per virtueller Fernbedienung

Verfasst: 07.04.2022, 09:39
von rentier-s
Falls es jemand gebrauchen kann:

Ich habe zwei Programme, die ich per CUxD Timer auslöse. Die Programme sind so aufgebaut, dass ich wirklich ein Ereignis als Auslöser brauche. TIMER_GET=0 oder TIMER_NUM haben das Problem, dass sie auch wahr sind, wenn das Programm durch einen anderen Auslöser getriggert wird, und so der falsche Programmteil ausgeführt wird.

Auf meiner alten PivCCU3 habe ich dafür das TIMER_EVENT genutzt, was entgegen dem Hinweis in der Doku immer zuverlässig funktioniert hat. Nach einer frischen Neu-Installation (wegen eines unlösbaren Bugs) musste ich feststellen, dass das TIMER_EVENT so gut wie gar nicht mehr auslöst. Experimente mit Multi-Timern und TIMER_NUM=1 haben so halb geklappt.

Nachdem ich für ähnlich gelagerte Szenarien schon die virtuelle Fernbedienung nutze, lag es nahe das auch in diesem Fall zu tun. Erst habe ich dazu ein Programm angelegt,
Wenn TIMER_GET=0 bei Aktualisierung auslösen => virtuelle Fernbedienung Tastendruck
Der Tastendruck dient wiederum als Auslöser für das "große" Programm.

Nach etwas Suchen, wie das ohne zweites Programm gehen könnte, bin ich auf das timer.tcl Skript gestoßen. In den Einstellungen des Timers habe ich nun als CMD_EXEC das Kommando

Code: Alles auswählen

/usr/local/addons/cuxd/extra/timer.tcl HmIP-RF.HmIP-RCV-1:27.PRESS_SHORT 1 1
eingetragen. Damit drückt der Timer bei Ablauf um eine Sekunde verzögert (das ist für mich zu verschmerzen) die Taste 27 der virtuellen Fernbedienung2.

Vielleicht ginge es auch noch eleganter, aber diese Lösung funktioniert bislang absolut zuverlässig, ich habe ein echtes Event als Programmauslöser, das den jeweiligen Programmzweig auch wirklich nur bei Ablauf des Timers auslöst, und brauche nicht noch ein zusätzliches Programm.

Re: CUxD Timer, zuverlässiges Timer_Event per virtueller Fernbedienung

Verfasst: 07.04.2022, 10:19
von uwe111
rentier-s hat geschrieben:
07.04.2022, 09:39
Nach etwas Suchen, wie das ohne zweites Programm gehen könnte, bin ich auf das timer.tcl Skript gestoßen. In den Einstellungen des Timers habe ich nun als CMD_EXEC das Kommando

Code: Alles auswählen

/usr/local/addons/cuxd/extra/timer.tcl HmIP-RF.HmIP-RCV-1:27.PRESS_SHORT 1 1
eingetragen. Damit drückt der Timer bei Ablauf um eine Sekunde verzögert (das ist für mich zu verschmerzen) die Taste 27 der virtuellen Fernbedienung2.
Warum verzögerst Du den Aufruf überhaupt um 1s?

Viele Grüße

Uwe

Re: CUxD Timer, zuverlässiges Timer_Event per virtueller Fernbedienung

Verfasst: 07.04.2022, 10:23
von Baxxy
Interessanter Ansatz.
Die TIMER_EVENT Problematik steht aktuell auf meiner "To do Liste.
Momentan sind wir an der unzuverlässigen TIMER_GET Geschichte dran. viewtopic.php?f=37&t=72982#p708376
Das läuft aber inzwischen mit der letzten CUxD Testversion dank Uwe's Workaround "rock stable".

TIMER_EVENT funktioniert bei mir aktuell genau 1x nach Zentralenstart, danach nicht mehr

Re: CUxD Timer, zuverlässiges Timer_Event per virtueller Fernbedienung

Verfasst: 07.04.2022, 10:30
von rentier-s
uwe111 hat geschrieben:
07.04.2022, 10:19
Warum verzögerst Du den Aufruf überhaupt um 1s?
Ehrlich gesagt weil ich dachte, man muss dem TCL eine Verzögerung mitgeben. Den Parameter einfach 0 zu setzen habe ich nicht probiert. Außerdem spielt die eine Sekunde in meinem Falle keine Rolle.

Re: CUxD Timer, zuverlässiges Timer_Event per virtueller Fernbedienung

Verfasst: 07.04.2022, 10:46
von uwe111
rentier-s hat geschrieben:
07.04.2022, 10:30
weil ich dachte, man muss dem TCL eine Verzögerung mitgeben. Den Parameter einfach 0 zu setzen habe ich nicht probiert.
Du kannst den letzten Parameter einfach weglassen. Auch den Programmpfad kannst Du kürzen.
Der Aufruf würde dann so aussehen:

Code: Alles auswählen

extra/timer.tcl HmIP-RF.HmIP-RCV-1:27.PRESS_SHORT 1
Viele Grüße

Uwe