Hauptmenü

neues Feature: Halbring

Begonnen von Damian, 17 Mai 2021, 19:51:02

Vorheriges Thema - Nächstes Thema

Damian

Ich bin dabei eine platzsparende Variante des Rings zu programmieren. Mit uiState passt der halbe Ring gut in einer Statuszeile:
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Invers

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.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Damian

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?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Invers

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.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Damian

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")}


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

icon_ring geht auch, allerdings ist für den Wert kein Platz mehr da.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

enno

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
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

Damian

Habe ich auch schon überlegt, allerdings der Programmieraufwand lohnt nicht, da man mit ring2 fast zum gleichen Ergebnis kommt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF