valuestyle einer readingsgroup mit mehreren Farben

Begonnen von Aladin222, 09 November 2020, 17:39:36

Vorheriges Thema - Nächstes Thema

Peter aus Calw

Ich bitte um Entschuldigung, ein Fehler beim Kopieren - es funktioniert. Besten Dank für die super Hilfe !!!  :D :D :D
Gruß aus Calw von Peter

shamal2008

Hello,

sorry, dass ich das Thema "aufwärme", aber ich habe ein ganz ähnliches Problem:

Ich habe den Code aus dem Wiki und er hat mir bis letzten Frühjahr gute Dienste geleistet. Ab April wurden meine Heizungsskripte deaktiviert und in der Zwischenzeit FHEM updgedated und MAX! durch HMIP ersetzt. Seit Anfang Oktober bringen mir die Readingsgroups (nach langem Suchen auch identifiziert) PERL Warnings bei "ok" "manual" "closed" - dass sind die Readingvalues, die eigentlich mit ELSE abgefangen werden sollten - die RG funktioniert, allerdings gibt es 8 davon, die mir das Log "zumüllen".

Hier das Listing des Devices:

Internals:
   CFGFN     
   DEF        <%sani_heating>,,,,,,,,,
grp.hz.wz:mode,,desired-temp,measured-temp,deviation,humidity,<>,<>,battery
hm.hz.ve.wz.1:mode,<>,desired-temp,measured-temp,deviation,<>,valveposition,state@sen.win.fx.links,battery
hm.hz.ve.wz.2:mode,<>,desired-temp,measured-temp,deviation,<>,valveposition,state@sen.win.fx.rechts,battery

   FUUID      6180310d-f33f-6c8f-9856-936293ed66227145
   NAME       rg.hz.test
   NR         297596
   NTFY_ORDER 50-rg.hz.test
   STATE      Initialized
   TYPE       readingsGroup
   changed    0
   mayBeVisible 1
   CONTENT:
     grp.hz.wz  1
     hm.hz.ve.wz.1 1
     hm.hz.ve.wz.2 1
   CONTENT2:
     sen.win.fx.links 1
     sen.win.fx.rechts 1
   DEVICES:
     ARRAY(0x9dee118)
     ARRAY(0xa1e38f8)
     ARRAY(0x9ce9e78)
     ARRAY(0x675e3c8)
   DEVICES2:
     ARRAY(0x9dee118)
     ARRAY(0xa1e38f8)
     ARRAY(0x9ce9e78)
     ARRAY(0x675e3c8)
     ARRAY(0x97d4a80)
     ARRAY(0x8524ed8)
   fhem:
     lastDefChange 226
     last_update 1635839131.51773
   helper:
     DEF       
     nameStyle  style="font-weight:bold;;color:blue;;text-align:right"
     valueFormat {deviation => '{round($NUM,1)}'}
     valueIcon  {'mode.auto' => 'sani_heating_automatic@green', 'mode.set_auto' => 'sani_heating_automatic@green' ,
'mode.manual' => 'sani_heating_manual@blue', 'mode.set_manual' => 'sani_heating_manual@blue',
'mode.boost' => 'sani_heating_boost@red',
'mode.closed' => 'general_aus',
'mode.ok' => 'general_an',
'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red',
'state.open' => 'fts_window_2w_open_r@red',
'state.closed' => 'fts_window_2w@green',
'valveposition' => '{my $v=int($VALUE/10)*10; return "sani_heating_level_".$v."@".substr(Color::pahColor(0,50,100,$v,[0,0,255, 140,0,255, 255,0,255, 255,0,140, 255,0,0]),0,6) }' }

     valueStyle { if($READING eq "deviation" && $VALUE > 1.5) {'style="color:red"'}
elsif ($READING eq "deviation" && $VALUE <= -1.5) {'style="color:blue"'}
elsif ($READING eq "deviation" && $VALUE >= -1.5 || $VALUE <= 1.5) {'style="color:green"'}
elsif ($READING eq "humidity" && $VALUE >= 45 || $VALUE <= 55) {'style="color:green"'}
elsif ($READING eq "humidity" && $VALUE > 56 ) {'style="color:red"'}
elsif ($READING eq "humidity" && $VALUE < 44 ) {'style="color:blue"'}
else {'style="color:black"'} }
     commands:
       rg.hm.heizung.wz.sollsetz desired-temp:12.0,16.0,17.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0
     mapping:
       hm.hz.ve.wz.1    links:
       hm.hz.ve.wz.2    rechts:
       hm.hz.wt.wz Wohnzimmer:
     positions:
       grp.hz.wz.battery 2:9
       grp.hz.wz.desired-temp 2:3
       grp.hz.wz.deviation 2:5
       grp.hz.wz.humidity 2:6
       grp.hz.wz.measured-temp 2:4
       grp.hz.wz.mode 2:1
       hm.hz.ve.wz.1.battery 3:9
       hm.hz.ve.wz.1.desired-temp 3:3
       hm.hz.ve.wz.1.deviation 3:5
       hm.hz.ve.wz.1.measured-temp 3:4
       hm.hz.ve.wz.1.mode 3:1
       hm.hz.ve.wz.1.valveposition 3:7
       hm.hz.ve.wz.2.battery 4:9
       hm.hz.ve.wz.2.desired-temp 4:3
       hm.hz.ve.wz.2.deviation 4:5
       hm.hz.ve.wz.2.measured-temp 4:4
       hm.hz.ve.wz.2.mode 4:1
       hm.hz.ve.wz.2.valveposition 4:7
       sen.win.fx.links.state 3:8
       sen.win.fx.rechts.state 4:8
     valueSuffix:
       desired-temp  °C
       deviation   °C
       humidity    %
       measured-temp  °C
     values:
       formated:
         undef
         ARRAY(0xa206340)
         undef
         ARRAY(0x7229510)
         ARRAY(0x678eea8)
         ARRAY(0x738b4a8)
         ARRAY(0x6b6c440)
         ARRAY(0x7284080)
         ARRAY(0x9dd2e20)
         ARRAY(0x8fd2550)
       orig:
         undef
         ARRAY(0x7131ef8)
         undef
         ARRAY(0x8e75dd0)
         ARRAY(0x92f5a88)
         ARRAY(0x7735e68)
         ARRAY(0x78010b8)
         ARRAY(0x85f4d18)
         ARRAY(0x9defb08)
         ARRAY(0x97d7070)
       prefixsuffix:
         undef
         ARRAY(0x6db07e8)
         undef
         ARRAY(0x9d30b68)
         ARRAY(0x4a79d40)
         ARRAY(0x77047b0)
         ARRAY(0x92ed9f8)
         ARRAY(0x92dbbc0)
         ARRAY(0x9d25830)
         ARRAY(0x9d08360)
Attributes:
   DbLogExclude .*
   alias      Test
   commands   {'rg.hm.heizung.wz.sollsetz'=>'desired-temp:12.0,16.0,17.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0'}

   group      02b_Zimmer
   mapping    {'hm.hz.wt.wz' => "Wohnzimmer:",'hm.hz.ve.wz.1' =>"   links:", 'hm.hz.ve.wz.2'=>"   rechts:"}
   nameStyle  style="font-weight:bold;;color:blue;;text-align:right"
   room       30_Heizung,Homematic
   valueFormat {deviation => '{round($NUM,1)}'}
   valueIcon  {'mode.auto' => 'sani_heating_automatic@green', 'mode.set_auto' => 'sani_heating_automatic@green' ,
'mode.manual' => 'sani_heating_manual@blue', 'mode.set_manual' => 'sani_heating_manual@blue',
'mode.boost' => 'sani_heating_boost@red',
'mode.closed' => 'general_aus',
'mode.ok' => 'general_an',
'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red',
'state.open' => 'fts_window_2w_open_r@red',
'state.closed' => 'fts_window_2w@green',
'valveposition' => '{my $v=int($VALUE/10)*10; return "sani_heating_level_".$v."@".substr(Color::pahColor(0,50,100,$v,[0,0,255, 140,0,255, 255,0,255, 255,0,140, 255,0,0]),0,6) }' }

   valueStyle { if($READING eq "deviation" && $VALUE > 1.5) {'style="color:red"'}
elsif ($READING eq "deviation" && $VALUE <= -1.5) {'style="color:blue"'}
elsif ($READING eq "deviation" && $VALUE >= -1.5 || $VALUE <= 1.5) {'style="color:green"'}
elsif ($READING eq "humidity" && $VALUE >= 45 || $VALUE <= 55) {'style="color:green"'}
elsif ($READING eq "humidity" && $VALUE > 56 ) {'style="color:red"'}
elsif ($READING eq "humidity" && $VALUE < 44 ) {'style="color:blue"'}
else {'style="color:black"'} }
   valueSuffix {"measured-temp"=>" °C", "desired-temp"=>" °C", "deviation"=>" °C", "humidity"=>" %"}


Valuestyle allein:

{ if($READING eq "deviation" && $VALUE > 1.5) {'style="color:red"'}
elsif ($READING eq "deviation" && $VALUE <= -1.5) {'style="color:blue"'}
elsif ($READING eq "deviation" && $VALUE >= -1.5 || $VALUE <= 1.5) {'style="color:green"'}
elsif ($READING eq "humidity" && $VALUE >= 45 || $VALUE <= 55) {'style="color:green"'}
elsif ($READING eq "humidity" && $VALUE > 56 ) {'style="color:red"'}
elsif ($READING eq "humidity" && $VALUE < 44 ) {'style="color:blue"'}
else {'style="color:black"'} }


Wo könnte der Fehler sein? Div. Klammern hab ich schon gecheckt.

Danke aus Wien,
shamal
FHEM auf RasPiI 3+, MapleCUL 868+433MhZ, MAX! via CUL, LD686 LED-Controller, GHoma Plugins,, Shelly, ConbeeII + IKEA + Xiaomi, div. Infodienste & Google Assistant via FHEM;