Readinggroup; Readings trennen und einzeln anzeigen

Begonnen von accessburn, 10 Juni 2018, 19:20:17

Vorheriges Thema - Nächstes Thema

accessburn

Huhu,

ich hab in der RG folgendes: "Min: 20.8 Avg: 21.5 Max: 27.8 (since: 2018-06-01_07:56:28".
Wie lasse ich das denn zerpflücken in eine Anzeige mit Min und eine mit dem Max?
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Gisbert

Hallo accessburn,

probier mal das Folgende:
attr Device userReadings {substr(ReadingsVal('Device','Readings',''),n,m)}
Es wird die n-te Stelle des Readings + m weitere Stellen als neues Reading angelegt.
Wie üblich beginnt man mit Null zu zählen.
Wenn du also Min: 20.8 als Ergebnis haben willst, dann ist n=0 und m=9.
Ungetestet, bitte daher um Rückmeldung, ob es funktioniert hat oder nicht.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

accessburn

#2
Das müsste ich somit in jedem Device anlegen und dann die Readingsgroup anpassen, ist das richtig?


// EDIT:

Bin ein schritt näher dran. Da die Positionen der Werte die ich haben möchte sich ändern bin ich auf Split gegangen.
Jedoch weiß ich nicht wie ich die Werte aus dem Array herausbekomme.

userReadings Trend {
my $Nachricht = ReadingsVal("LaCrosse_00","statHumidityTendency","0");
my @array = (split(/ /,$Nachricht))[2];
}
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole