attr wait 0,0,x... aus DOIF heraus setzen?

Begonnen von chunter1, 29 Dezember 2015, 14:01:12

Vorheriges Thema - Nächstes Thema

chunter1

Wie kann ich in folgendem code die Werte von "wait" mittels Komma setzen?
Problem ist, dass die Kommas zwischen den einzelnen Werten nicht übernommen werden.


define REGLER DOIF ([+5])
(set testA {([Tist] - 23)})
(attr REGLER wait [b]0,0,0,{([Tist] - 23))}[/b])
(set testB on)
(set testB off)

Otto123

Steht in der Commandref, Du musst doppelte Klammern setzen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

chunter1

Habs jetzt mal so probiert:


(attr REGLER wait (0,0,0,{([Tist] - 23)}))


Im attr wait steht dann allerdings nur "(0" drin.

Otto123

#3
Ich würde es so probieren:
((attr REGLER wait [b]0,0,0,{([Tist] - 23))}[/b]))
ich habe aber nicht über Deinen Code nachgedacht. Aber die Anweisung muss einfach in zwei Klammern.

ZitatAngaben im Ausführungsteil:
Der Ausführungsteil wird immer, wie die Bedingung, in runden Klammern angegeben. Es werden standardmäßig FHEM-Befehle angegeben, wie z. B.: ...(set lamp on)
Sollen mehrere FHEM-Befehle ausgeführt werden, so werden sie mit Komma statt mit Semikolon angegeben ... (set lamp1 on, set lamp2 off)
Falls ein Komma nicht als Trennzeichen zwischen FHEM-Befehlen gelten soll, so muss der FHEM-Ausdruck zusätzlich in runde Klammern gesetzt werden: ...((set lamp1,lamp2 on),set switch on)
Perlbefehle müssen zusätzlich in geschweifte Klammern gesetzt werden: ... ({system ("wmail Peter is at home")})
Mehrere Perlbefehle hintereinander werden im DEF-Editor mit zwei Semikolons angegeben: ...({system ("wmail Peter is at home");;system ("wmail Marry is at home")})
FHEM-Befehle lassen sich mit Perl-Befehlen kombinieren: ... ({system ("wmail Peter is at home")}, set lamp on)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

chunter1

Vielen Dank!!
Jetzt kanns weiter gehn mit der Heizungsregelung ;)


([+5])
(set testA {([Tist] - 23)})
((attr REGLER wait 0,0,0,{([Tist] - 23)}))
(set testB on)
(set testB off)

Otto123

Noch ein Hinweis:
Wenn Du per Code im FHEM eine Definition änderst, dass tust Du quasi mit dem attr Befehl in Deinem DOIF, bekommst Du hinterher das rote Fragezeichen, dass Du diese Änderung nicht gespeichert hast.
Oder anders: Wenn Du FHEM an beliebiger Stelle neu startest, möchtest Du ja gern den alten Zustand. Der Zustand der attr Änderung wird aber nicht automatisch gespeichert.
Wenn es Dich stört (?) oder Du den Zustand gesichert haben möchtest, musst Du ein save danach absetzen, also ins DOIF einbauen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

chunter1

Super!
Danke für den Hinweis!!
... hab mich schon gefragt warum das rote Fragezeichen immer aufgetaucht ist.