FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: choetzu am 03 Juni 2018, 10:41:00

Titel: [gelöst]Berechnungsresultat und Kommastellen
Beitrag von: choetzu am 03 Juni 2018, 10:41:00
Hey, ich habe mir ein Doif gemacht, welches mir jeweils ein Pushover schickt, siehe unten. Funktioniert soweit gut. das Problem ist, obschon ich in der Kalkulation Werte mit d1 nehme (also einer Kommastelle), das Resultat dann mehrere Kommastellen hat, z.B. 0.3444444444444 . ein Schönheitsfehler welcher ich korrigieren möchte. 

Danke für Hinweise

([?09:00-18:30]
and [?Abdeckung_Dummy] eq "closed"
and [?Pool_Winterzeit_Dummy] eq "off"
and (([PoolController:Pool_Aussen_Num]-[PoolController:Pool_Temp_Num]) > 0.1
or ([Netatmo_Aussen:temperature]-[PoolController:Pool_Temp_Num]) > 0.5)
and [?$SELF:cmd_nr] ne "1")
(set PoolController AUF_manuell on)
(set Pushover msg title="Pool AUF" message="Luft WÄRMER als Wasser! \n\n
Diff Palme/Wasser: [PoolController:Pool_Aussen_Num:d1]-[PoolController:Pool_Temp_Num:d1] = {([PoolController:Pool_Aussen_Num:d1]-[PoolController:Pool_Temp_Num:d1])}\n
Diff Gartenhaus/Wasser: [Netatmo_Aussen:temperature:d1]-[PoolController:Pool_Temp_Num:d1] = {([Netatmo_Aussen:temperature:d1]-[PoolController:Pool_Temp_Num:d1])}\n
Helligkeit: [Bewegungsmelder_L_Gartenhaus_XLED2:luminance]")

DOELSEIF
([00:00])
()
Titel: Antw:Berechnungsresultat und Kommastellen
Beitrag von: choetzu am 03 Juni 2018, 12:33:25
sprintf heisst die Lösung. man muss es einfach am richtigen Ort integrieren.


(set Pushover msg title="Pool AUF" message="Luft WÄRMER als Wasser ([PoolController:Pool_Temp_Num:d1] Grad)! \n\n
Palme >0.1 : [PoolController:Pool_Aussen_Num:d1]-[PoolController:Pool_Temp_Num:d1] = {(sprintf("%.1f",([PoolController:Pool_Aussen_Num:d1]-[PoolController:Pool_Temp_Num:d1])))}\n
oder Gartenhaus >1 : [Netatmo_Aussen:temperature:d1]-[PoolController:Pool_Temp_Num:d1] = {(sprintf("%.1f",([Netatmo_Aussen:temperature:d1]-[PoolController:Pool_Temp_Num:d1])))}")


Evtl. Hilft es ja jemandem, deshalb lösch ich es nicht..