[gelöst] farbliche Devicenamen bei nichterreichbarkeit ?

Begonnen von taskkill, 27 Januar 2022, 09:56:36

Vorheriges Thema - Nächstes Thema

taskkill

Ich möchte gerne den Devicenamen bei verlorener Verbindung rot und bei Verbindung grün darstellen,
wie mache ich das ?
Für Hilfe wäre dankbar...
RPI 3B+ mit Raspbian Bullseye auf SSD, aktiver USB-Hub, Fhem (is klar), TI CC2652P, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.

MadMax-FHEM

Schreibst du auch noch:

WO (FhemWeb-Übersicht, Dashboard, readingsGroup, TabletUI, ...)

Welche Devices

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

taskkill

Fhem-Web Übersicht

defmod ESPEasy_ESP01_Grad ESPEasy 192.168.178.42 80 espbridge ESP01_Grad
attr ESPEasy_ESP01_Grad Interval 60
attr ESPEasy_ESP01_Grad group ESPEasy Device
attr ESPEasy_ESP01_Grad icon temp_temperature
attr ESPEasy_ESP01_Grad presenceCheck 1
attr ESPEasy_ESP01_Grad readingSwitchText 1
attr ESPEasy_ESP01_Grad room ESPEasy,HOME
attr ESPEasy_ESP01_Grad setState 3
attr ESPEasy_ESP01_Grad stateFormat Temperatur: temp °C

setstate ESPEasy_ESP01_Grad Temperatur: 27.8 °C
setstate ESPEasy_ESP01_Grad 2022-01-26 17:38:45 IODev espbridge
setstate ESPEasy_ESP01_Grad 2022-01-27 10:02:46 presence present
setstate ESPEasy_ESP01_Grad 2022-01-27 10:02:46 state tem: 27.8
setstate ESPEasy_ESP01_Grad 2022-01-27 10:02:44 temp 27.8
RPI 3B+ mit Raspbian Bullseye auf SSD, aktiver USB-Hub, Fhem (is klar), TI CC2652P, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.

MadMax-FHEM

#3
Zitat von: taskkill am 27 Januar 2022, 10:04:56
Fhem-Web Übersicht

Ich fürchte das geht nur mittels css/javascript

Siehe z.B.: https://forum.fhem.de/index.php/topic,125651.msg1202660.html#msg1202660

EDIT: bei readingsGroup gibt es Möglichkeiten mittels Attributen (z.B. valueStyle) (und Subs in myUtils, siehe: https://wiki.fhem.de/wiki/99_myUtils_anlegen )

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

taskkill

#4
Ich möchte ja nicht dauerhaft. Falls Device keinen Strom mehr hat zB. Gerätename rot anzeigen. Da ja noch in der Anzeige der letzte Temperaturwert drin steht und ich somit nicht sehe ob das Device noch da ist.
RPI 3B+ mit Raspbian Bullseye auf SSD, aktiver USB-Hub, Fhem (is klar), TI CC2652P, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.

DeeSPe

Warum löst du das nicht über ein entsprechend erkennbares "devStateIcon" oder über "stateFormat"?
Das ist wesentlich einfacher!

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

jhohmann

Das mit dem stateFormat wollte ich auch vorschlagen.
Das geht auch farblich und man kann auch den Zeitstempel des letzten Kontakts ausgeben.
Hier zwei Beispiele von mir.
Einmal mit Farbe:
attr co2Arbeitszimmer stateFormat {  sprintf("<span style='color:%s'>%s</span>",\
      ReadingsVal('co2Arbeitszimmer','co2',0) < 800 ? "green":(ReadingsVal('co2Arbeitszimmer','co2',0) < 1200 ?"#FFC300":"red"),\
      ReadingsVal('co2Arbeitszimmer','co2',0)." ppm um ".ReadingsTimestamp('co2Arbeitszimmer','co2',undef))}

Und hier mit zeitlicher Ausgabe:
attr AussenLichtsensorAZ stateFormat {ReadingsVal($name,'lux',undef)." lux um ".ReadingsTimestamp($name,'lux',undef).'<br>'.ReadingsVal($name,'batteryPercent',undef)."% Bat am ".ReadingsTimestamp($name,'batteryPercent',undef)}
Raspberry Pi 4 - bookworm / EnOcean - Rollo+Licht, deCONZ - Licht+Sensoren, ZWave - CO Messung, HMCCU mit piVCCU - Heizung+Rollo
plus dovecot, minidlna

MadMax-FHEM

Zitat von: taskkill am 27 Januar 2022, 10:32:29
Ich möchte ja nicht dauerhaft. Falls Device keinen Strom mehr hat zB. Gerätename rot anzeigen. Da ja noch in der Anzeige der letzte Temperaturwert drin steht und ich somit nicht sehe ob das Device noch da ist.

Der Link bzw. der Code dort war ja nur, um aufzuzeigen wie man das generell auf FhemWeb beeinflussen kann.
Du müsstest nat. noch javascript einbauen und bzgl. Erreichbarkeit anpassen ;)


Aber klar, wenn es nicht der NAME sein muss, dann ist nat. stateFormat das "Tool der Wahl" 8)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

taskkill

Also grüm macht es schon mal. Bloß keine Umschaltung auf rot wenn Verbindung weg.
Hab ich bestimmt noch nicht richtig eingestellt

{  sprintf("<span style='color:%s'>%s</span>",       ReadingsVal('ESPEasy_ESP01_Grad','temp',60) < 63 ? "green":(ReadingsVal('ESPEasy_ESP01_Grad','temp',60) < 65 ?"#FFC300":"red"),       ReadingsVal('ESPEasy_ESP01_Grad','temp',60)." °C um ".ReadingsTimestamp('ESPEasy_ESP01_Grad','temp',60))}
RPI 3B+ mit Raspbian Bullseye auf SSD, aktiver USB-Hub, Fhem (is klar), TI CC2652P, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.

MadMax-FHEM

Zitat von: taskkill am 27 Januar 2022, 11:24:45
Also grüm macht es schon mal. Bloß keine Umschaltung auf rot wenn Verbindung weg.
Hab ich bestimmt noch nicht richtig eingestellt

{  sprintf("<span style='color:%s'>%s</span>",       ReadingsVal('ESPEasy_ESP01_Grad','temp',60) < 63 ? "green":(ReadingsVal('ESPEasy_ESP01_Grad','temp',60) < 65 ?"#FFC300":"red"),       ReadingsVal('ESPEasy_ESP01_Grad','temp',60)." °C um ".ReadingsTimestamp('ESPEasy_ESP01_Grad','temp',60))}

Naja, wenn du auf das Reading "temp" deine Farbgestaltung auslegst, dann kann bei Verbindungsabbruch auch nix passieren, "temp" hat sich ja nicht geändert... ;)

Du musst schon auf das anpassen, was eben Verbindung da" bzw. "Verbindung weg" anzeigt... :)

EDIT: würde mal darauf tippen
setstate ESPEasy_ESP01_Grad 2022-01-27 10:02:46 presence present
Also eben statt "temp" das Reading presence abfragen und dann eben auf present/absent prüfen und Farbe einstellen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

taskkill

Bekomm ich nicht hin :'(
Wäre jemand so nett die Zeile anzugleichen?

{  sprintf("<span style='color:%s'>%s</span>", ReadingsVal('ESPEasy_ESP01_Grad','present',0) < 63 ? "green":(ReadingsVal('ESPEasy_ESP01_Grad','absent',0) < 65 ? "#FFC300":"red"),ReadingsVal('ESPEasy_ESP01_Grad','temp',0)." °C ")}
RPI 3B+ mit Raspbian Bullseye auf SSD, aktiver USB-Hub, Fhem (is klar), TI CC2652P, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.

MadMax-FHEM

#11
Vielleicht so:


{  sprintf("<span style='color:%s'>%s</span>", ReadingsVal('ESPEasy_ESP01_Grad','presence',0) eq "present" ? "green" : "red"),ReadingsVal('ESPEasy_ESP01_Grad','presence','n.a.'))}


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

taskkill

RPI 3B+ mit Raspbian Bullseye auf SSD, aktiver USB-Hub, Fhem (is klar), TI CC2652P, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.

carlos

Also ich mache das mit readingswatcher einem reading activity (dead oder alive) und dem entsprechenden devStateIcon.
Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

taskkill

RPI 3B+ mit Raspbian Bullseye auf SSD, aktiver USB-Hub, Fhem (is klar), TI CC2652P, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.