TIMER_GET und TIMER_STOP Problem

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
Gerti
Beiträge: 3035
Registriert: 28.01.2016, 18:06
System: CCU
Wohnort: Hürth
Hat sich bedankt: 16 Mal
Danksagung erhalten: 274 Mal

TIMER_GET und TIMER_STOP Problem

Beitrag von Gerti » 08.08.2016, 07:15

Hi!

Habe in meinen Programmen bisher immer auf TIMER_EVENT getriggert und das funktionierte soweit auch. Nun las ich kürzlich, dass besser TIMER_GET verwendet werden sollte.
In meinem Programm prüfe ich, ob TIMER_GET kleiner oder gleich 0 ist und löse bei Änderung aus (bei prüfen auf Aktualisierung tritt aber dasselbe Problem auf).
Das ausgelöste Programm hat zwei Zweige. Im ersten Zweig wird eine Aktion durchgeführt und der Timer neu gesetzt, im zweiten Zweig (abhängig von einer anderen Bedingung soll diese den wiederholenden Ablauf stoppen) stoppe ich den Timer mit TIMER_STOP.
Dadurch scheint sich aber TIMER_GET auch wieder neu zu triggern, obwohl es inzwischen den Wert 0 hat (und ich genau auf diese Änderung prüfe).
Das Programm läuft also Amok und ruft sich immer wieder selber auf.

Wie erreiche ich also, dass ich TIMER_GET verwenden kann und ein TIMER_STOP dieses nicht erneut triggert, wenn der Timer bereits bei 0 steht?

Gruß
Gerti

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: TIMER_GET und TIMER_STOP Problem

Beitrag von Herbert_Testmann » 08.08.2016, 08:16

Hallo

in dem Du bei Timer Stop noch ein
nur prüfen ob timer get = 1
einfügst.
Wenn timer get = 0 dann wird nicht gestoppt

Aber ich vermute mal, dass es da noch einen einfacheren Weg gibt :)
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

Benutzeravatar
AndiN
Beiträge: 2621
Registriert: 10.06.2015, 08:54
Wohnort: Hennef
Hat sich bedankt: 10 Mal
Danksagung erhalten: 28 Mal

Re: TIMER_GET und TIMER_STOP Problem

Beitrag von AndiN » 08.08.2016, 08:19

Hallo Gerti,

es ist immer leichter etwas zu sehen. Daher wäre es sehr gut ein Screenshot Deines Programms zu sehen. (falls Du nicht weißt wie das geht: DRUCK Taste, Bildbearbeitungsprogramm (bsp: Paint) öffnen und dann dort über die Option einfügen das Bidl einfügen. Speichern und hier hochladen). Falls Du schon wusstest wie das geht ignorier meine Erklärung ;-)

Was passiert, wenn Du auf Schaltzustand EIN / Aktualiserung änderst?

Andi
Andi (Greenhorn)

Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control
- Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links

Cash
Beiträge: 1184
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: TIMER_GET und TIMER_STOP Problem

Beitrag von Cash » 08.08.2016, 08:42

Warum änderst Du es von Event auf Timer_Get?

Never touch a running System. Ich nutze auch Event und es läuft. Ich weiß laut Handbuch ist es nicht zuverlässig und man sollte die anderen beiden Varianten nutzen aber wie schon geschrieben bei mir funktioniert es sehr zuverlässig also sehe ich keinen Grund es nicht zu nutzen. Wenn es nicht läuft weiß ich woran es liegen könnte und würde ggf umstellen. Dann aber bitte auf "Aktualisieren" denn so steht es im Handbuch...

Die Nachteile der anderen beiden Varianten sind halt die ganzen Stolpersteine die man mit Zusatzbefehlen umgehen muss damit es sauber läuft.

Gerti
Beiträge: 3035
Registriert: 28.01.2016, 18:06
System: CCU
Wohnort: Hürth
Hat sich bedankt: 16 Mal
Danksagung erhalten: 274 Mal

Re: TIMER_GET und TIMER_STOP Problem

Beitrag von Gerti » 08.08.2016, 08:54

Hi!

Ich habe gestern einen Timer angelegt, der alle paar Minuten laufen soll.
Da der es mit Timer_Event nicht tat, habe ich diesen auf Timer_Get umgestellt und damit läuft er.
Daher hatte ich mir vorgestellt, auch einfach die anderen umzustellen, was aber genanntes Problem zur Folge hat.
Der Tip von Herbert_Testmann ist grundsätzlich nicht schlecht, würde aber auch nur bedingt helfen (habe inzwischen ja weiter experimentiert), da der Cux Timer zusammen mit einer anderen Bedingung Oder-Verknüpft auslöst und es dadurch leider noch immer zu einem ungewollten Auslösen kommt (wenn auch nur einmal), da der Cux Timer auf 0 steht (beim Get), aber nicht mehr auf Timer_Event.
Ich lasse es daher am Besten wohl doch mal so, wie es ist.

Einen Screenshot wollte ich erst anhängen, ging auf dem Tablet aber etwas schwer, da das Programm größer als der Screen war.

Gruß,
Gerti

Benutzeravatar
AndiN
Beiträge: 2621
Registriert: 10.06.2015, 08:54
Wohnort: Hennef
Hat sich bedankt: 10 Mal
Danksagung erhalten: 28 Mal

Re: TIMER_GET und TIMER_STOP Problem

Beitrag von AndiN » 08.08.2016, 09:11

Da würde ich mal "Schaltzustand EIN" bei "Aktualisierung" probieren.

Schau mal hier. Vielleicht hilft Dir das

Andi
Andi (Greenhorn)

Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control
- Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links

Antworten

Zurück zu „CUxD“