update readingsGroup

Begonnen von justme1968, 03 September 2013, 22:59:01

Vorheriges Thema - Nächstes Thema

kvo1

Zitat von: ph1959de am 02 November 2015, 13:47:40
@Klaus, würdest Du die fertige Lösung hier noch mal im Zusammenhang darstellen? Ich möchte etwas ähnliches machen (und moonsorrox ist wohl auch mittendrin oder mittlerweile fertig) und da wäre es doch schade, wenn jeder nochmal von vorn anfangen müsste.

Peter

@Peter , klar doch !

Also ich habe z.B. 4 Rollladen (oder mehr) die wahlweise über 3 verschiedene Modi betrieben werden.

Modus:
Hand   hier muß/kann per Schalter direkt am Rollladen geschaltet werden, d.h. keine Automatik
FHEM   hier erfolgt die Steuerung über einstellbare Zeiten
         WE = Wochenende später hoch
         WT = Wochentags hoch
         Das Runterfahren ist an allen Tagen gleich
ASTRO   hier erfolgt die Steuerung bei Sonnenauf- / Sonnenuntergang

Für Letzteres habe ich ein dummy welches ich über 2 at´s fülle !

############################################################################define Tageslicht2 dummy
attr Tageslicht2 devStateIcon hell:scene_day@yellow dunkel:scene_night@red
attr Tageslicht2 group Timer
attr Tageslicht2 icon sani_solar@blue
attr Tageslicht2 room AAA
attr Tageslicht2 sortby 20
# Das at für hell wird erst 20 Minuten nach Sonnenaufgang aktiv
define DummyHell2 at *{sunrise(1200)} set Tageslicht2 hell
attr DummyHell2 group Timer
attr DummyHell2 icon weather_sunrise@orange
attr DummyHell2 room AAA
attr DummyHell2 sortby 21
# Das at für dunkel ist so eingestellt, das es 10 Minuten vor Sonnenuntergang aktiv wird   
define DummyDunkel2 at *{sunset(-600)} set Tageslicht2 dunkel
attr DummyDunkel2 group Timer
attr DummyDunkel2 icon weather_sunset@red
attr DummyDunkel2 room AAA
attr DummyDunkel2 sortby 22


hier mal 4 dummy´s die als Test dienen, hier sind die eigentlichen Devices der Rollos einzutragen

############ Dummy Rollo in Treppenzimmer
define DU_TZ_Rollladen2 dummy
attr DU_TZ_Rollladen2 devStateIcon auf:roll_oben zu:roll_unten halb:roll_50
attr DU_TZ_Rollladen2 eventMap on:auf off:zu 50\x20%:halb
attr DU_TZ_Rollladen2 group Fenster_Dummy
attr DU_TZ_Rollladen2 room AAA
attr DU_TZ_Rollladen2 sortby 40
attr DU_TZ_Rollladen2 webCmd stop:auf:zu
############ Dummy Rollo im Arbeitszimmer
define DU_AZ_Rollladen2 dummy
attr DU_AZ_Rollladen2 devStateIcon auf:roll_oben zu:roll_unten halb:roll_50
attr DU_AZ_Rollladen2 eventMap on:auf off:zu 50\x20%:halb
attr DU_AZ_Rollladen2 group Fenster_Dummy
attr DU_AZ_Rollladen2 room AAA
attr DU_AZ_Rollladen2 sortby 10
attr DU_AZ_Rollladen2 webCmd stop:auf:zu
############ Dummy Rollo im Bad
define DU_BZ_Rollladen2 dummy
attr DU_BZ_Rollladen2 devStateIcon auf:roll_oben zu:roll_unten halb:roll_50
attr DU_BZ_Rollladen2 eventMap on:auf off:zu 50\x20%:halb
attr DU_BZ_Rollladen2 group Fenster_Dummy
attr DU_BZ_Rollladen2 room AAA
attr DU_BZ_Rollladen2 sortby 20
attr DU_BZ_Rollladen2 webCmd stop:auf:zu
############ Dummy Rollo im Spielzimmer
define DU_LZ_Rollladen2 dummy
attr DU_LZ_Rollladen2 devStateIcon auf:roll_oben zu:roll_unten halb:roll_50
attr DU_LZ_Rollladen2 eventMap on:auf off:zu 50\x20%:halb
attr DU_LZ_Rollladen2 group Fenster_Dummy
attr DU_LZ_Rollladen2 room AAA
attr DU_LZ_Rollladen2 sortby 30
attr DU_LZ_Rollladen2 webCmd stop:auf:zu


jetzt die von andre empfohlenen dummy´s mit je 4 readings

##############################################################
# dummy fuer modus und zeiten
#############################################################
# Arbeitszimmer
define RolloModTimeAZ dummy
attr RolloModTimeAZ group Jalousie
attr RolloModTimeAZ readingList Modus Zeit_auf_WT Zeit_auf_WE Zeit_zu
attr RolloModTimeAZ room AAA
attr RolloModTimeAZ setList Modus:FHEM,ASTRO,HAND Zeit_auf_WT:time Zeit_auf_WE:time Zeit_zu:time
attr RolloModTimeAZ sortby 10
attr RolloModTimeAZ userReadings Modusicon { ReadingsVal("RolloModTimeAZ","Modus","HAND");;;; }
attr RolloModTimeAZ webCmd Modus:Zeit_auf_WT:Zeit_auf_WE:Zeit_zu
# Badzimmer
define RolloModTimeBZ dummy
attr RolloModTimeBZ group Jalousie
attr RolloModTimeBZ readingList Modus Zeit_auf_WT Zeit_auf_WE Zeit_zu
attr RolloModTimeBZ room AAA
attr RolloModTimeBZ setList Modus:FHEM,ASTRO,HAND Zeit_auf_WT:time Zeit_auf_WE:time Zeit_zu:time
attr RolloModTimeBZ sortby 20
attr RolloModTimeBZ userReadings Modusicon { ReadingsVal("RolloModTimeBZ","Modus","HAND");;;; }
attr RolloModTimeBZ webCmd Modus:Zeit_auf_WT:Zeit_auf_WE:Zeit_zu
# Treppenzimmer
define RolloModTimeTZ dummy
attr RolloModTimeTZ group Jalousie
attr RolloModTimeTZ readingList Modus Zeit_auf_WT Zeit_auf_WE Zeit_zu
attr RolloModTimeTZ room AAA
attr RolloModTimeTZ setList Modus:FHEM,ASTRO,HAND Zeit_auf_WT:time Zeit_auf_WE:time Zeit_zu:time
attr RolloModTimeTZ sortby 40
attr RolloModTimeTZ userReadings Modusicon { ReadingsVal("RolloModTimeTZ","Modus","HAND");;;; }
attr RolloModTimeTZ webCmd Modus:Zeit_auf_WT:Zeit_auf_WE:Zeit_zu
# Spielzimmer
define RolloModTimeLZ dummy
attr RolloModTimeLZ group Jalousie
attr RolloModTimeLZ readingList Modus Zeit_auf_WT Zeit_auf_WE Zeit_zu
attr RolloModTimeLZ room AAA
attr RolloModTimeLZ setList Modus:FHEM,ASTRO,HAND Zeit_auf_WT:time Zeit_auf_WE:time Zeit_zu:time
attr RolloModTimeLZ sortby 30
attr RolloModTimeLZ userReadings Modusicon { ReadingsVal("RolloModTimeLZ","Modus","HAND");;;; }
attr RolloModTimeLZ webCmd Modus:Zeit_auf_WT:Zeit_auf_WE:Zeit_zu



Die eigentlich readingsGroup (an der ich zuvor fast verzweifelt war)
Hier werden dann (bei Bedarf) alle relevanten Einstellungen / Änderungen vorgenommen


# readinggroup
define MYRollo_RG readingsGroup <%fts_shutter_50@orange>,<Zeit_auf_WT>,<Zeit_auf_WE>,<Zeit_zu>,<>,<Modus>\
RolloModTimeAZ:Zeit_auf_WT,Zeit_auf_WE,Zeit_zu,Modusicon,Modus \
RolloModTimeBZ:Zeit_auf_WT,Zeit_auf_WE,Zeit_zu,Modusicon,Modus \
RolloModTimeLZ:Zeit_auf_WT,Zeit_auf_WE,Zeit_zu,Modusicon,Modus \
RolloModTimeTZ:Zeit_auf_WT,Zeit_auf_WE,Zeit_zu,Modusicon,Modus
attr MYRollo_RG alias Rollladensteuerung
attr MYRollo_RG commands {'Modus'=>'Modus:','Zeit_auf_WT'=>'Zeit_auf_WT:','Zeit_auf_WE'=>'Zeit_auf_WE:','Zeit_zu'=>'Zeit_zu:'}
attr MYRollo_RG mapping {RolloModTimeAZ=>"Arbeitszimmer",RolloModTimeTZ=>"Treppenzimmer",RolloModTimeLZ=>"Spielzimmer",RolloModTimeBZ=>"Badezimmer"}
attr MYRollo_RG nameStyle style="text-align:center;;;;;;;;color:orange"
attr MYRollo_RG room AAA
attr MYRollo_RG valueIcon { 'Modusicon.HAND' => 'fts_shutter_manual@red','Modusicon.FHEM' => 'fts_shutter_automatic@green','Modusicon.ASTRO' => 'fts_shutter_updown@blue' }


und die DOIF´s die dann das Ganze steuern

##############################################################
##### Steuerung Automatik (FHEM=Zeit / ASTRO=sun(set/rise) oder HAND ####
##############################################################
define Rollo_AutomatikTZ2 DOIF ([RolloModTimeTZ:Modus] eq "FHEM" and ([[RolloModTimeTZ:Zeit_auf_WT]|8] or [[RolloModTimeTZ:Zeit_auf_WE]|7]) or [RolloModTimeTZ:Modus] eq "ASTRO" and [Tageslicht2] eq "hell") (set DU_TZ_Rollladen2 auf) DOELSEIF ([RolloModTimeTZ:Modus] eq "FHEM" and ([[RolloModTimeTZ:Zeit_zu]|8] or [[RolloModTimeTZ:Zeit_zu]|7]) or [RolloModTimeTZ:Modus] eq "ASTRO" and [Tageslicht2] eq "dunkel") (set DU_TZ_Rollladen2 zu)
attr Rollo_AutomatikTZ2 group doif
attr Rollo_AutomatikTZ2 room AAA
attr Rollo_AutomatikTZ2 sortby 40
##############################################################
##### Steuerung Automatik (FHEM=Zeit / ASTRO=sun(set/rise) oder HAND ####
##############################################################
define Rollo_AutomatikAZ2 DOIF ([RolloModTimeAZ:Modus] eq "FHEM" and ([[RolloModTimeAZ:Zeit_auf_WT]|8] or [[RolloModTimeAZ:Zeit_auf_WE]|7] or [[RolloModTimeAZ:Zeit_auf_WE]] and [BLN_Ferientag] == 1) or [RolloModTimeAZ:Modus] eq "ASTRO" and [Tageslicht2] eq "hell") (set DU_AZ_Rollladen2 auf) DOELSEIF ([RolloModTimeAZ:Modus] eq "FHEM" and ([[RolloModTimeAZ:Zeit_zu]|8] or [[RolloModTimeAZ:Zeit_zu]|7]) or [RolloModTimeAZ:Modus] eq "ASTRO" and [Tageslicht2] eq "dunkel") (set DU_AZ_Rollladen2 zu)
attr Rollo_AutomatikAZ2 group doif
attr Rollo_AutomatikAZ2 room AAA
attr Rollo_AutomatikAZ2 sortby 10
##############################################################
##### Steuerung Automatik (FHEM=Zeit / ASTRO=sun(set/rise) oder HAND ####
##############################################################
define Rollo_AutomatikBZ2 DOIF ([RolloModTimeBZ:Modus] eq "FHEM" and ([[RolloModTimeBZ:Zeit_auf_WT]|8] or [[RolloModTimeBZ:Zeit_auf_WE]|7]) or [RolloModTimeBZ:Modus] eq "ASTRO" and [Tageslicht2] eq "hell") (set DU_BZ_Rollladen2 auf) DOELSEIF ([RolloModTimeBZ:Modus] eq "FHEM" and ([[RolloModTimeBZ:Zeit_zu]|8] or [[RolloModTimeBZ:Zeit_zu]|7]) or [RolloModTimeBZ:Modus] eq "ASTRO" and [Tageslicht2] eq "dunkel") (set DU_BZ_Rollladen2 zu)
attr Rollo_AutomatikBZ2 group doif
attr Rollo_AutomatikBZ2 room AAA
attr Rollo_AutomatikBZ2 sortby 20
##############################################################
##### Steuerung Automatik (FHEM=Zeit / ASTRO=sun(set/rise) oder HAND ####
##############################################################
define Rollo_AutomatikLZ2 DOIF ([RolloModTimeLZ:Modus] eq "FHEM" and ([[RolloModTimeLZ:Zeit_auf_WT]|8] or [[RolloModTimeLZ:Zeit_auf_WE]|7]) or [RolloModTimeLZ:Modus] eq "ASTRO" and [Tageslicht2] eq "hell") (set DU_LZ_Rollladen2 auf) DOELSEIF ([RolloModTimeLZ:Modus] eq "FHEM" and ([[RolloModTimeLZ:Zeit_zu]|8] or [[RolloModTimeLZ:Zeit_zu]|7]) or [RolloModTimeLZ:Modus] eq "ASTRO" and [Tageslicht2] eq "dunkel") (set DU_LZ_Rollladen2 zu)
attr Rollo_AutomatikLZ2 group doif
attr Rollo_AutomatikLZ2 room AAA
attr Rollo_AutomatikLZ2 sortby 30
###############################################################


Hinweis:
Das DOIF "Rollo_AutomatikAZ2" sieht etwas anders aus (noch Test) weil ich eigentlich neben den
Wochenenden auch an Ferientagen die Rollos später öffnen will (geht noch nicht )

So, ich hoffe es hilft dem Einen oder Anderen (zumindest als Anregung) , sicher geht das alles eleganter !

Gruss Klaus

Ach ja, bin für Ideen / Verbesserungsvorschläge sehr empfänglich  :D



   

         
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

buchner51

Hallo kvo 1,

das ist so ziemlich das was ich gesucht habe aber nur für ein paar Zeitschaltuhren.
Eigentlich wollte ich nur ein paar DOIF anlegen und die Zeiten über ein READING anzeigen bez. bearbeiten.

Leider bin ich etwas gescheitert, wo hast du die Bedeutungen für die READING und DOIF und DUMMY her?
Ich hab bisher keine Übersicht oder Liste mit Erklärungen gefunden.

Danke, für eine kurze Erklärung.
Raspberry pi 3+
KNX mit TUL, FHEM mit SMARTVISU 2.9

bmwfan

Hallo,
finde die Idee mit der readingsGroup für die Rolladenzeiten gut und wollte sie nachbauen, aber irgendwo scheint ein Fehler zu sein.
Folgende dummies habe ich angelegt (nur einer im code als Beispiel) und wollte sie in einer readingsgroup zusammenfassen
# --- Dummies für die Jalousien zur Speicherung der Zeiten erstellen
define du_Jal_time_KU_Ost dummy
attr du_Jal_time_KU_Ost group Jalousie
attr du_Jal_time_KU_Ost readingList Modus Zeit_auf_WE Zeit_auf_Arbeit Zeit_ab
attr du_Jal_time_KU_Ost room 1.2_Kueche
attr du_Jal_time_KU_Ost setList Modus:Auto,Hand Zeit_auf_WE:time Zeit_auf_Arbeit:time Zeit_ab:time
attr du_Jal_time_KU_Ost sortby 10
attr du_Jal_time_KU_Ost userReadings Modusicon { ReadingsVal("du_Jal_time_KU_Ost","Modus","Hand");;;;;;;; }
attr du_Jal_time_KU_Ost webCmd Modus:Zeit_auf_WE:Zeit_auf_Arbeit:Zeit_ab


ReadingsGroup:
# --- Readingsgroup für Jalousiezeiten
define rg_myJalousien readingsGroup <%fts_shutter_50@green>,<Zeit_auf_WE>,<Zeit_auf_Arbeit>,<Zeit_ab>,<>,<Modus> du_Jal_time_KU_Ost:Zeit_auf_WE,Zeit_auf_Arbeit,Zeit_ab,Modusicon,Modus du_Jal_time_KU_Fenster:Zeit_auf_WE,Zeit_auf_Arbeit,Zeit_ab,Modusicon,Modus
attr rg_myJalousien alias Jalousiensteuerung
attr rg_myJalousien commands {'Modus'=>'Modus:','Zeit_auf_WT'=>'Zeit_auf_WT:','Zeit_auf_WE'=>'Zeit_auf_WE:','Zeit_zu'=>'Zeit_zu:'}
attr rg_myJalousien mapping {du_Jal_time_KU_Ost=>"Küche Ostterrasse",du_Jal_time_KU_Fenster=>"Küche Fenster"}
attr rg_myJalousien nameStyle style="text-align:center;;;;;;;;;;;;;;;;color:green"
attr rg_myJalousien room 1.2_Kueche
attr rg_myJalousien valueIcon { 'Modusicon.Hand' => 'fts_shutter_manual@red','Modusicon.Auto' => 'fts_shutter_automatic@green' }


Leider werden die Felder für die Parametereingabe nicht wie gewünscht angezeigt:
Siehe Bild unten.

Hat jemand eine Idee, woran das liegen kann? Die Felder scheinen versetzt zu sein.

Gruß Jürgen
Synology DS720+ mit Docker-Container und Haupt-FHEM, HW-LAN, Jalousienaktoren; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd

makro123

Zitat von: justme1968 am 18 Februar 2014, 20:04:59

eine kleine einschränkung gibt es noch: die slider, drop down menüs & co werden (noch) nicht per longpoll aktualisiert wenn sich der wert im hintergund ändert.

gruss
  andre

Hallo,
besteht diese Einschränkung weiterhin?
Bekomme bei meinem Slider keine Aktualisierung per longpoll hin.

Gruß
Manu

justme1968

nein. longpoll updates sollten für alle widgets funktionieren.

kannst du das problem mit zwei dummys und einer readingsGroup nachstellen? wenn ja poste bitte mal ein beispiel.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

makro123

Danke für die Info, habe es jetzt hinbekommen.
Hatte einen Fehler in meinem Modul, weil kein Event ausgelöst wurde.

Vielen Dank

Gruß
Manu


jonien

Hallo,
ich hoffe das "hier" richtig bin und mir jemand einen Tip geben kann, wo ich einen Denkfehler mache. Ich habe nachfolgende ReadingGroup angelegt: MAX Heizungsthermostate, Jeelink und WS_Cul Raumthermostate und Fensterstatus werden zur Übersicht und Steuerung in einer ReadingsGroup zusammengefasst. Es "funktioniert": Die Anzeige wird aktual. und die Temperaturparameter können eingestellt werden. ABER: Wird die ReadingsGroup angezeigt, werden zusätzlich viele Fehlermeldungen im LOG produziert. 
PERL WARNING: Useless use of private variable in void context at (eval 122771) line 2.2017.01.20 20:13:41 3 : eval: my $EVTPART0='temperature:';my $TYPE='LaCrosse';my $SELF='Tempdummy_Bad_noti';my $EVTPART1='18.2';my $EVENT='temperature: 18.2';my $NAME='Temp_14_Bad_LaCr';{ my $temp=ReadingsVal("Temp_14_Bad_LaCr","temperature","");

2017.01.20 20:13:46 3 : eval: my $EVTPART0='temperature:';my $TYPE='LaCrosse';my $SELF='Tempdummy_Bad_noti';my $EVTPART1='18.2';my $EVENT='temperature: 18.2';my $NAME='Temp_14_Bad_LaCr';{ my $temp=ReadingsVal("Temp_14_Bad_LaCr","temperature","");{fhem ("set Tempdummy_Bad $temp")} }

VG Jörg

define Heizung_1.OG readingsGroup <%sani_heating@black>,<Fenster>,<Raum-Temp>,<HzT ist>,<HzT soll>,<Valve-ist>,<Valve-mittel>,<Mode>,<T eco>,<T comf.>,<Fenst.auf>,<T MAX>,<Hzg-Batt.>,<Valve-ist>,<Valve-max>,<Valve-mittel>,<T min>,<T max>,<T mittel>,<Messzeit HzgTh>,<Fenst-Batt.> HzgTh.(WoZi|Buero|Bad|Kueche|SchZi|KiZi|Kellerbad):state@{$DEVICE=~s/HzgTh/Fenster/;;;;$DEVICE;;;;},state@{$DEVICE=~s/HzgTh/Tempdummy/;;;;$DEVICE;;;;},temperature,desiredTemperature,valveposition,valveposition_avg_day,mode,ecoTemperature,comfortTemperature,windowOpenTemperature,maximumTemperature,humidity,battery,valveposition,maxValveSetting,valveposition_avg_day,temperature_min_day,temperature_max_day,temperature_avg_day,<{ReadingsTimestamp($DEVICE,"state","")}>,battery@{$DEVICE=~s/HzgTh/Fenster/;;;;$DEVICE;;;;}\

attr Heizung_1.OG commands { 'desiredTemperature' => 'desiredTemperature:','comfortTemperature' => 'comfortTemperature:','ecoTemperature' => 'ecoTemperature:','maxValveSetting' => 'maxValveSetting:0,30,50,80,100','maximumTemperature' => 'maximumTemperature:','windowOpenTemperature' => 'windowOpenTemperature:' }
attr Heizung_1.OG group Heizung
attr Heizung_1.OG mapping { 'HzgTh_Bad' => '1OG Bad','HzgTh_SchZi' => '1OG Schlafzimmer','HzgTh_WoZi'=>'1OG Wohnzimmer','HzgTh_Kueche' => '1OG Küche','HzgTh_Buero' => '1OG Büro','HzgTh_Kellerbad' => 'Keller Bad','HzgTh_KiZi' => '1OG Kinderzimmer','Fenster.battery ""' => '---','Fenster_KiZi' => 'Fenster Kinderzimmer'  }
attr Heizung_1.OG nameStyle style="color:blue;;text-align:center"
attr Heizung_1.OG room MAX_Heizung_Übersicht,Max_Heizung
attr Heizung_1.OG valueFormat { 'temperature' => "%0.1f &deg;;C",'temperature_min_day' => "%.1f &deg;;C",'ecoTemperature' => "%.1f &deg;;C",'comfortTemperature' => "%.1f &deg;;C",'valveposition' => "%.0f %%",'maxValveSetting' => "%.0f %%",'valveposition_avg_day' => "%.0f %%", 'desiredTemperature' => "%.1f &deg;;C",'temperature_max_day' => "%.1f &deg;;C",'temperature_avg_day' => "%.1f &deg;;C",'<{ReadingsTimestamp($DEVICE,"state","0")}>' }
attr Heizung_1.OG valueIcon {'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red', 'state.closed' => 'fts_window_1w@lightgreen', 'state.opened' => 'fts_window_1w_open@red'}
attr Heizung_1.OG valueStyle { if($READING eq "temperature" && $VALUE > 20){ 'style="width:80px;; text-align:left;; border: 1px solid #ccc;; background: lightgrey;;color:green;;font-weight:bold"' }\
elsif( $READING eq "temperature" && $VALUE <= 18 ){ 'style="width:80px;; text-align:left;; border: 1px solid #ccc;; background: lightgrey;;color:blue"' }elsif( $READING eq "valveposition" && $VALUE >= 20 ){ 'style="width:80px;; text-align:left;; border: 1px solid #ccc;; background: lightgrey;;color:red"' }elsif( $READING eq "temperature" && $VALUE > 23 ){ 'style="width:80px;; text-align:left;; border: 1px solid #ccc;; background: lightgrey;;color:red"' }elsif( $READING eq "battery" && $VALUE => 0 ){ 'style="width:80px;; text-align:left;; border: 1px solid #ccc;; background: lightgrey;;color:red"' }else{ 'style="width:80px;; text-align:center;; border: 1px solid #ccc;; background: lightyellow;;color:black"' } }

justme1968

schalte mal stacktrace ein und zeig wo die meldungen genau her kommen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968