FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: elistan001 am 16 August 2017, 16:34:30

Titel: [gelöst]zwei Readings im stateFormat vereinen, wobei eins Formatiert werden soll
Beitrag von: elistan001 am 16 August 2017, 16:34:30
Hallo,

ich beschäftige mich schon seit einigen Monaten mit FHEM. Aktuell betreibe ich FHEM auf einem Pi. Eingebunden habe ich Lampe und Dimmer von PhilipsHue, sowie HM- und HM-IP-Geräte über die HMCCU.
Meine neuste Errungenschaft ist der Bewegungsmelder von HM-IP.

Bei diesem Gerät möchte ich gerne im stateFormat die Helligkeit und den Bewegungsstatus ausgeben.
Allerdings komme ich mit der Formatierung im stateFormat nicht zurecht. Der Bewegungsmelder, gibt mir die Helligkeit im Reading "1.ILLUMINATION" und die Bewegung im Reading "1.MOTION" mit. Das Reading "1.ILLUMINATION" ist mit 8 Nachkommastellen formatiert.
Die Helligkeit soll auf 2 Stellen nach dem Komme gekürzt werden.

Der Befehl

Bewegung: 1.MOTION <br> Helligkeit: 1.ILLUMINATION

funktioniert, nur wird Illumination mit 8 Stellen dargestellt.

{sprintf("Helligkeit: %.2f", ReadingsVal("HM_WG_BU_BM","1.ILLUMINATION",0))}

funktioniert. Hier wird die Helligkeit mit 2 Stellen dargestellt.

Beide Kombiniert:

Bewegung: 1.MOTION <br> {sprintf("Helligkeit: %.2f", ReadingsVal("HM_WG_BU_BM","1.ILLUMINATION",0))}

funktioniert nicht. Hier wird folgendes an der Oberfläche ausgegeben:

ZitatBewegung: ja {sprintf("Helligkeit: %.2f", ReadingsVal("HM_WG_BU_BM","43.100000",0))}

Was mache ich hier falsch? Kann mich jemand in die richtige Richtung stupsen.

Falls der Post hier falsch sein sollte oder irgendwo in den Tiefen des Forums das schon behandelt wurde, dann bitte ich um Verlinkung dorthin, habe trotz Suche, leider nichts dahingehend gefunden.

Danke und Gruß

Ingo
Titel: Antw:zwei Readings im stateFormat vereinen, wobei eins Formatiert werden soll
Beitrag von: Otto123 am 16 August 2017, 17:28:57
Hi,

ich denke es geht nur entweder oder, wenn Perl dann alles in Perl. Aber das ist gefährliches Halbwissen  :-[

Versuch mal
{"Bewegung:".ReadingsVal("HM_WG_BU_BM","1.MOTION",0)." ".sprintf("Helligkeit: %.2f", ReadingsVal("HM_WG_BU_BM","1.ILLUMINATION",0))}

Gruß Otto
Titel: Antw:zwei Readings im stateFormat vereinen, wobei eins Formatiert werden soll
Beitrag von: elistan001 am 17 August 2017, 12:42:22
Hallo Otto,

vielen Dank für deine Hilfe, hat super funktioniert . Was das Halbwissen angeht, hast du leider Recht  :-[. Ich bin leider kein Programmierer und habe mein Wissen nur übers Internet (Foren...) erhalten auch was FHEM angeht. Leider gibt es nicht wirklich gute Seiten zur Perlprogrammierung in deutsch. Alles leider nur in englisch und da tue ich mich sehr schwer (leider nur Urlaubsenglischwissen  :( ). Wenn du Seiten oder auch meinetwegen Bücher in deutsch empfehlen kannst dann nur her damit, bin immer bereit mein Wissen zu verbessern.

Gruß

Ingo