dummy wert mit setreading zuweisen

Begonnen von MichlB, 04 März 2020, 20:35:14

Vorheriges Thema - Nächstes Thema

MichlB

#15
heureka! das funktioniert...
was ich nicht versteh ist das

if ($EVTPART1) {fhem("set BadRoom desired-temp 16")} else {fhem("set BadRoom desired-temp [MAX_1a7298:desiredTemperature:i]")}

bei $EVTPART1 kommt entweder 0 oder 1.... aber bei der IF abfrage fehlt mir die bedingung... so was wie $EVTPART1 = 1 dann...
kannst mir das ein bisschen verständlicher erklären??? da blick ich nicht durch und ich versteh gern dinge die ich mache...

und das ...:desiredTemperature:i versteh ich auch nicht so recht... was bedeutet das "i" und kommt das direkt mit der dezimalformattierung mit 1 kommastelle?

ich werde dennoch die fenster einzeln "notify-en" sonst könnt mir das zu kompliziert werden, ich versuchs gern einfach zu halten... wie gesagt, ich versuch die dinge immer zu verstehen...

danke und lg.
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

Otto123

#16
if () - testet den Ausdruck in der Klammer auf wahr(true) oder falsch(false) Diese Werte sind eigentlich nur ein Synonym für 0 und 1
true = 1
false = 0

Genau genommen wird sogar meist nur die 0 ausgewertet und alles andere als null wird als true gewertet. Insofern ist mein Konstrukt minimalistisch aber in diesem Fall ziemlich korrekt ;)

Du kannst natürlich gern auch ($EVTPART1 == 1) schreiben

Das andere Kontsrukt hatte ich aber extra als Erklärung verlinkt, hast Du auch übersehen?
https://fhem.de/commandref_DE.html#set
Zitat[device:name] mit dem Wert des Readings, Internals oder Attributes für device, falls sowohl device, als auch Reading, Internal oder Attribut existiert, und nicht leer ist.
Man kann einen der Präfixe r:, i: oder a: verwenden, um die Suche einzuschränken, genau wie im devspec.
...
Das Suffix :i extrahiert die erste Zahl als Ganzzahl.

Zitat... und kommt das direkt mit der dezimalformattierung mit 1 kommastelle?
Du wolltest aber keine Kommastelle! -> sprintf("%.0f"

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

Wzut

#17
keine Kommastelle ist etwas ungeschickt, MAX Thermostate verstehen Soll Temeperatur (desiredTemperature) in 0.5 Grad Schritten.
Das Reading desiredTemperature kann 1:1 übernommen werden da es keine Werte auserhalb des zulässigen Bereichs enthält.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher