Ich bin dabei eine platzsparende Variante des Rings zu programmieren. Mit uiState passt der halbe Ring gut in einer Statuszeile:
Meine Sensoren messen auch den Luftdruck. Falls man den da auch mit unterbringen kann, wäre ich begeistert. Beim devStateIcon scheint das nicht zu gehen.
Zitat von: Invers am 17 Mai 2021, 21:38:57
Meine Sensoren messen auch den Luftdruck. Falls man den da auch mit unterbringen kann, wäre ich begeistert. Beim devStateIcon scheint das nicht zu gehen.
Es geht alles, was beim ring geht. Warum sollte Luftdruck nicht gehen?. Und warum geht es nicht im devStateIcon?
Ich bekomme im defStateIcon immer nur 2 Werte rein. Ich habe beim Thermometer wie folgt definiert:
defmod TMP_Wz XiaomiSmartHome_Device 158d0005889592 weather.v1 XiaomiGateway
attr TMP_Wz alias Wohnzimmer
attr TMP_Wz devStateIcon {ui_Table::temp_hum_ring(ReadingsVal("TMP_Wz","temperature",0),ReadingsVal("TMP_Wz","humidity",0))}
attr TMP_Wz icon temperature_humidity
attr TMP_Wz room Wohnung->Wohnzimmer,XiaomiBTLESens
attr TMP_Wz stateFormat {sprintf("%.1f C, %.1f H, %.0f hPa", \
ReadingsVal($name,"temperature",0),\
ReadingsVal($name,"humidity",0)+1.1, \
ReadingsVal($name,"pressure",0) *10 -3 )}\
Aber ich wollte hier deinen Beitrag nicht mit meinem Kram zumüllen. Entschuldige.
Ist wie immer eine tolle Leistung von dir. Ich wünschte, ich könnte so gut programmieren. Immer denke ich, da kann ja nichts mehr kommen, aber dir fällt immer wieder etwas ein. Toll!
Vielen Dank dafür.
Mehrere Ringe im devStateIcon ging immer schon, siehe: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Visualisierung:_aktueller_Spritpreis
Ich habe jetzt die bestehenden ring-Funktionen einfach erweitert. Beim Paramerter $size kann man jetzt ein Flag für Halbring angeben z. B. statt 100 "100,1". Damit kann man die ring-Funktionen halbieren (gilt nicht für icon_ring- und ring2-Funktionen).
Beispiel:
defmod outsensor CUL_WS 5
attr outsensor alias Aussen
attr outsensor devStateIcon {ui_Table::temp_ring(ReadingsVal($name,"temperature",0),-10,45,"100,1")." ".ui_Table::hum_ring(ReadingsVal($name,"humidity",0),"100,1")}
Oder so:
icon_ring geht auch, allerdings ist für den Wert kein Platz mehr da.
Neue Version wurde eingecheckt. Doku siehe: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Farbskalierte_Anzeige_eines_Zahlenwertes_mit_Hilfe_der_universellen_SVG-Funktion_ring
Ich habe noch ein weiteres Beispiel mit Halbring aufgenommen: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Farbskalierte_Anzeige_eines_Zahlenwertes_mit_Hilfe_der_universellen_SVG-Funktion_ring
Hallo Damian,
wenn man mal anfängt mit der Funktion zu spielen 8) Dann kommen die Ideen...
... und wenn ich den Ring um 180 Grad gedreht haben wollte?
Zum Beispiel einen Halbring oben und darunter um 180 Grad gedreht einen andern Halbring? Ergebnis ist dann im Floorplan z.B. ein Ring zusammengesetzt aus zwei Halbringen. Würde so etwas gehen?
Gruss
Enno
Habe ich auch schon überlegt, allerdings der Programmieraufwand lohnt nicht, da man mit ring2 fast zum gleichen Ergebnis kommt.