Hauptmenü

Frage zum Sleep Befehl

Begonnen von SmartFan, 12 April 2015, 14:18:04

Vorheriges Thema - Nächstes Thema

SmartFan

Hallo allerseits,

ich möchte in einem notify den FHEM-Befehl "sleep" verwenden um nach einer Zeit x einen Wert zurückzusetzen. Dieses funktioniert soweit auch gut.

fhem("set Wert1Std $x; sleep 120; set WertStd 0");;

Wenn nun aber während der sleep-Zeit von 120sec das notify erneut anspricht, wird der sleep nicht neu gesetzt, sondern es laufen zuerst dei 120sec ab, bevor es wieder neu gesetzt wird.

Das ist bei "at" anders.

Kann mir jemand sagen, ob ich das richtig sehe und ob es Abhilfe gibt.

Danke und Gruß
Michael

2x Raspberry Pi2 B+
Enocean Pi
8x Thermokon SR04, SR04PT, SR04PST, 3x SAB02, 1xMD15
dblog

justme1968

es wird nicht 'neu' gesetzt sonder es gibt dann zwei unabhängige sleep und es wird zwei mal auf 0 gesetzt. nach ablauf der ersten und nach ablauf des zweiten sleep.

die beiden 'wissen' nichts voneinander.

bei at ohne besondere maßnahmen gibt es nur das erste at weil das zweite nicht definiert wird sondern mit einem fehler das es schon ein device mit gleichem namen gibt abgebrochen wird.

du kannst vor dem define prüfen ob es das erste at schon gibt und es mit modify ändern wenn es das verhalten ist das du möchtes.

eventuell ist aber auch ein ganz andeter mechanismus wie z.b. watchdog besser geeignet für das was du vor hast.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

SmartFan

Hallo Andre,

danke Dir für die schnelle Antwort. Dein 3. Absatz ist genau das, warum ich sleep einsetzen wollte. Die Fehlermelung nervt nämlich.

Ich habe leider noch nix gefunden wie ich das Existierten des eines "at" abfragen und modifizieren (modify) kann. Kann Du mir ein Code dafür geben.

Danke und Gruss
Michael
2x Raspberry Pi2 B+
Enocean Pi
8x Thermokon SR04, SR04PT, SR04PST, 3x SAB02, 1xMD15
dblog

justme1968

siehe z.b. hier: http://forum.fhem.de/index.php?topic=27084.msg200249#msg200249.

statt modify kannst du auch einfach mit delete löschen wenn schon vorhanden und neu anlegen. das macht den verlauf eventuell übersichtlicher.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

SmartFan

Danke Dir, denke, damit komme ich weiter.

ja, so hatte ich es erst gemacht. Aber durch das delete und neu anlegen sind im Laufe von 3 Monat ca. 1 Mio Log-Einträge in der DB entstanden und das möchte ich ändern.

Gruß Michael
2x Raspberry Pi2 B+
Enocean Pi
8x Thermokon SR04, SR04PT, SR04PST, 3x SAB02, 1xMD15
dblog

justme1968

wie gesagt nur löschen wenn es das at auch gibt.

aber vielleicht solltest du trotzdem noch mal schauen ob dein ansatz wirklich optimal ist. 3mio einträge in drei monaten sind 20-30 pro minute. das klingt schon sehr nach überflüssiger auslastung deines systems. erst recht wenn diese kollision nicht die regel ist.

schau mal ob es nicht bessere mechanismen gibt das umzusetzen was du vor hast.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968