Hallo,
ich habe ein Device bei dem ich im StateFormat 2 Readings anzeige lasse. Das funktioniert auch tadellos. Ich möchte jedoch auch ein Attribute anzeigen lassen.
AttrVal(<"DeviceName">,<"Attribute">,"") hat mir nur den Text ausgeworfen.
Kann mir vielleicht jemand bei der richtigen Syntax hier behilflich sein?
LG
Cyrus
Das ist eine Perl Funktion:
Auszug aus der commandref:
ZitatFalls der Wert in {} eingeschlossen ist, dann wird es als Perl Ausdruck ausgewertet. Die Auswertung passiert bei jeder Änderung eines Readings.
danke Marvin,
leider ändert das nichts.
mein stateFormat sieht so aus
mower_activity <br> mower_battery <br> {AttrVal ("myMower","interval","")}
angezeigt wird
mäht
33%
{AttrVal ("myMower","interval","")}
Ich sehe vor lauter Bäumen den Wald nicht mehr ;-)
Probier mal mit:
{ReadingsVal("myMower", "mower_activity","")."<br>".ReadingsVal("myMower", "mower_battery","")."<br>".AttrVal(""myMower", "interval", "")}
Zitat von: amenomade am 05 Juni 2019, 18:09:02
Probier mal mit:
{ReadingsVal("myMower", "mower_activity","")."<br>".ReadingsVal("myMower", "mower_battery","")."<br>".AttrVal(""myMower", "interval", "")}
Danke amenomade!
Hat funktioniert!!! :)
Ein Problem habe ich noch. Wenn ich das Attribut ändere, wird es im StateFormat nicht aktualisiert, obwohl es im Attribut mit dem neuen Wert angezeigt wird.
update:
da das interval jetzt auf mehrer Stunden eingestellt wurde, musste ich nach Änderung des Interval ein ,,set myMower update" einfügen.
jetzt wird auch StateFormat richtig angezeigt.
Ja, weil die Änderung eines Attributs kein Event auf dem Device generiert, sondern auf global.
steht auch in dem post von marvin78 (der letzte teil ist entscheidend!)
Zitat von: marvin78 am 05 Juni 2019, 14:49:41
Das ist eine Perl Funktion:
Auszug aus der commandref:
ZitatFalls der Wert in {} eingeschlossen ist, dann wird es als Perl Ausdruck ausgewertet. Die Auswertung passiert bei jeder Änderung eines Readings.
alternativer ansatz der auch updates kann:
statt stateFormat komplett als perl zu bauen: per notify die attribut änderung in ein reading stecken und dann in stateFormat wie zu anfang mit readings arbeiten.
das hätte den vorteil das die updates gehen und das man auch einfach mehrere icons verwenden könnte.