Hi,
ich möchte eigentlich nur den Level einer Batterie (Homematic Thermostat) im Floorplan als Icon anzeigen lassen. Den batterylevel mit ReadingsVal kann ich auslesen. Ergibt z.B. 3.2, also sollte dann das "measure_battery_100" Icon auf dem Floorplan erscheinen. Bei 2.2 aber an derselben Stelle ein "measure_battery_25" Icon.
Mit Readingsgroup fand ich ein Beispiel wo alle batteries ausgelesen werden und in der readingsgroup richtig angezeigt werden, aber eben nicht auf dem Floorplan als alleiniges Icon.
Hat jemand einen Tip?
Danke
Guck Dir mal readingsProxy an.
Volker
Danke,
aber da steig ich nicht ganz durch.....wie man damit ein Icon auf den floorplan bringt?
Mir ist nicht klar, wo genau Dein Problem liegt. Hier ein readingsProxy aus meiner Konfiguration, den ich mit dem fp_Heizung Attribut mal eben probeweise auf einen meiner Floorplans gepackt habe. Da ist jetzt genau das Icon zu sehen. Vielleicht hilft es Dir ja schon. Ansonsten bitte mehr Informationen, was Du versucht hast und wo genau es nicht weiter geht.
Internals:
DEF Viessmann:Status
DEVICE Viessmann
NAME ViessmannStatus
NR 276
NTFY_ORDER 50-ViessmannStatus
READING Status
STATE OK
TYPE readingsProxy
Content:
Viessmann 1
Readings:
2016-08-02 20:52:02 state OK
Attributes:
alias Viessmann
devStateIcon (Stoerung|disconnected):sani_heating@red OK:sani_heating@green .*:unknown@yellow
event-on-change-reading .*
fp_Heizung 100,100
group Status
room Haus,Heizung
Danke,
es funktioniert. Ich habe es mit dem Batteriestatus hinbekommen. Der liefert entweder ok oder low. Deshalb lautet meine Zeile in der fhem.cfg:
attr Batterie_Test devStateIcon ok:measure_battery_100@green low:measure_battery_0@red
Könntest du mir noch weiterhelfen, wenn ich den BatterieLevel als Icon darstellen will?
Also wenn batteryLevel von 3,2 bis 2,5 (>2,5) dann measure_battery_100@green, wenn batteryLevel <2,1 dann measure_battery_0@red, und von 2,2 bis 2,4 measure_battery_50@orange?
Wenn nicht ist auch nicht tragisch, mit den ReadingsProxy hast du mir bestens weitergeholfen.
Danke
Das geht, Du musst dann aber Perl-Code schreiben. Bei devStateIcon kann man auch Perl-Code aufrufen, Details siehe Command Ref. Wenn Du den readingsProxy für den Wert Deines BatteryLevel konfigurierst, kannst Du im Perl-Code $VALUE verwenden, um das richtige Icon auszuwählen.
Als ein Beispiel für Perl-Code im devStateIcon guck mal nach Color_devStateIcon in der Command Ref und in 99_Utils.pm, auch wenn das schon komplexer ist als das, was Du benötigst.
Danke,
ich probiers, wenn Zeit ist. Ist die Syntax ähnlich wie bei ReadingsVal { if ...;; set fhem}?
Aber die eigentliche Frage ist ja bereits gelöst.