Hauptmenü

Befehl nur 1x ausführen.

Begonnen von satprofi, 30 August 2016, 19:02:01

Vorheriges Thema - Nächstes Thema

satprofi

Hallo.
Möchte eine Luftpumpe beim ersten Ladevorgang pro Tag laufen lassen. Wie Stelle ich es an, dass beim weiteren Ladevorgang, weil genug Power vorhanden, die Pumpe nicht mehr startet?

send from OP3

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

schka17

Ich habe auch ein paar solcher Anwendungsfälle, ich habs folgendermassen gelöst, das erste Ereigniss triggert ein notify dass die gewünschte Funktion auslöst, bei mir z.b. Eine AlarmSMS, danach wird das notify deaktiviert und alle nachfolgende Ereignisse nicht mehr gemeldet. Über ein at z.b. Um 8:00, aktiviere ich das notify wieder und beim ersten Ereignis wird das notify wieder getriggert. Man kann das aber genauso auch über watchdog erreichen, gibt sicher auch noch andere Wege, aber diese beiden verwende ich.


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Ellert

Mit DOIF etwa so:
([Ladevorgang] eq "on" and ![$SELF:erster]) (setreading $SELF erster 1, set Luftpumpe on, <weitere Befehle>)
DOELSEIF ([Ladevorgang] eq "on" and [$SELF:erster]) (<Befehle>)
DOELSEIF ([00:00]) (setreading $SELF erster 0)


und ggf. das Attribut do auf always setzen.

Ungetestet.

satprofi

Aha,danke. Aber was bedeutet $SELF. ?

send from OP3

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

kumue

commandref DOIF
Zitat$SELF
    für den Gerätenamen des DOIF

satprofi

#5
Aha.

Wäre es so richtig?

DOIF ([Ueberschuss:state:d] > 1000 and ![$Batterieladung:erster]) (set Batterielader_aus off,set Luftpumpe on,setreading $Batterieladung erster 1 )
DOELSEIF ([Ueberschuss:state:d] <1 and [$Batterieladung:erster]) (set Batterielader_aus on)
DOELSEIF ([00:00]) (setreading $Batterieladung erster 0)
[code]

Muss ich ein Reading erster anlegen?

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Ellert

Wenn es nicht funktioniert, könntest Du $SELF verwenden.