Neues Modul readingsGroup

Begonnen von Niko, 24 August 2013, 11:59:11

Vorheriges Thema - Nächstes Thema

burtb

Zitat von: JoeALLb am 16 Dezember 2015, 10:09:56
.... kannst Du mir mal deine getDev() zeigen?

Aber sischer :)


sub getDev($)
{
    my $device = shift;
    return InternalVal($device,"device","error");
    }

Motivierte linke Hände

Hi Andre,

Zitat von: justme1968 am 16 Dezember 2015, 10:42:22
@JoeALLb: das ist dazu da um den text vor dem drop down oder slider zu ersetzen. das gab es eigentlich früher schon mal und ist durch einen umbau auf javascript seite mal verloren gegangen. mach mal bitte den match genauer oder liefere genau für das reading mit dem drop down ein undef zurück.

Genau das Problem von JoeALLb habe ich auch. Ich habe noch nicht ganz verstanden, was Du brauchst. "Mapping" sieht bei mir aktuell so aus:

[...]dum_Fstr_Sonnenschutztemperatur_aussen => 'Außentemp. Sonnenschutz', dum_Fstr_Sonnenschutztemperatur_innen => 'Innentemp. Sonnenschutz',[...]

Der entsprechende Teil der Definition:

[...]
dum_Fstr_Sonnenschutztemperatur_innen:state
dum_Fstr_Sonnenschutztemperatur_aussen:state
[...]


Wie könnte man den Match noch genauer machen? Ich möchte, dass der im Mapping angegebene Text und dann die Dropdown-Box angezeigt wird. Bis "gerade eben" funktionierte das auch noch so.

Anbei der Vollständigkeit halber noch das list auf die komplette readingsGroup:

Internals:
   DEF        dum_Rollo_runter_bei_Film:state
dum_Keiner_da_Fstr_auf_Rollo_zu:state
dum_abwesend_Rollo_Ausgang_Terrasse_zu:state
dum_Fstr_auf_Rollo_hoch:state
dum_Rollo_auf_Licht_aus:state
dum_Fstr_Sonnenschutztemperatur_innen:state
dum_Fstr_Sonnenschutztemperatur_aussen:state


   NAME       rg_Rollooptionen
   NR         877
   NTFY_ORDER 50-rg_Rollooptionen
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     dum_Fstr_Sonnenschutztemperatur_aussen 1
     dum_Fstr_Sonnenschutztemperatur_innen 1
     dum_Fstr_auf_Rollo_hoch 1
     dum_Keiner_da_Fstr_auf_Rollo_zu 1
     dum_Rollo_auf_Licht_aus 1
     dum_Rollo_runter_bei_Film 1
     dum_abwesend_Rollo_Ausgang_Terrasse_zu 1
   Content2:
   DEVICES:
     ARRAY(0x6e56c18)
     ARRAY(0x6fcebe8)
     ARRAY(0x747a3a8)
     ARRAY(0x6eaf6e0)
     ARRAY(0x7a1af20)
     ARRAY(0x747c688)
     ARRAY(0x6e44208)
   Fhem:
     lastDefChange 763
     last_update 1450347787.24547
   Helper:
     DEF
     valueStyle {if ($READING eq "state") {'style="text-align:center"'}}
     Commands:
       state      state:
     Mapping:
       dum_Fstr_Sonnenschutztemperatur_aussen Außentemp. Sonnenschutz
       dum_Fstr_Sonnenschutztemperatur_innen Innentemp. Sonnenschutz
       dum_Fstr_auf_Rollo_hoch Fenster auf, Rollo hoch
       dum_Keiner_da_Fstr_auf_Rollo_zu Fstr offen, keiner da, Rollo zu
       dum_Rollo_auf_Licht_aus Rolladen auf, hell, Licht aus
       dum_Rollo_runter_bei_Film Rollo runter, wenn TV an
       dum_abwesend_Rollo_Ausgang_Terrasse_zu Keiner da, Rollo Terrasse zu
     Positions:
       dum_Fstr_Sonnenschutztemperatur_aussen.state 7:1
       dum_Fstr_Sonnenschutztemperatur_innen.state 6:1
       dum_Fstr_auf_Rollo_hoch.state 4:1
       dum_Keiner_da_Fstr_auf_Rollo_zu.state 2:1
       dum_Rollo_auf_Licht_aus.state 5:1
       dum_Rollo_runter_bei_Film.state 1:1
       dum_abwesend_Rollo_Ausgang_Terrasse_zu.state 3:1
     Valueicon:
       dum_Fstr_auf_Rollo_hoch %devStateIcon
       dum_Keiner_da_Fstr_auf_Rollo_zu %devStateIcon
       dum_Rollo_auf_Licht_aus %devStateIcon
       dum_Rollo_runter_bei_Film %devStateIcon
       dum_abwesend_Rollo_Ausgang_Terrasse_zu %devStateIcon
     Values:
       formated:

         ARRAY(0x6e72f28)
       orig:

         ARRAY(0x737fa60)
       prefixsuffix:

         ARRAY(0x6e0b2a8)
Attributes:
   commands   { 'state' => 'state:' }
   fp_fp_Config_Rollos 120,880,0,,
   mapping    {dum_Rollo_runter_bei_Film => "Rollo runter, wenn TV an", dum_Keiner_da_Fstr_auf_Rollo_zu => 'Fstr offen, keiner da, Rollo zu', dum_abwesend_Rollo_Ausgang_Terrasse_zu => 'Keiner da, Rollo Terrasse zu', dum_Fstr_auf_Rollo_hoch => 'Fenster auf, Rollo hoch', dum_Fstr_Sonnenschutztemperatur_aussen => 'Außentemp. Sonnenschutz', dum_Fstr_Sonnenschutztemperatur_innen => 'Innentemp. Sonnenschutz', dum_Rollo_auf_Licht_aus => 'Rolladen auf, hell, Licht aus' }
   noheading  1
   nolinks    1
   nostate    1
   notime     1
   room       Cfg_Fenster,Cfg_Floorplan
   style      class="block wide rg_Rollooptionen"
   valueIcon  { "dum_Rollo_runter_bei_Film" => '%devStateIcon', "dum_Keiner_da_Fstr_auf_Rollo_zu" => '%devStateIcon', "dum_abwesend_Rollo_Ausgang_Terrasse_zu" => '%devStateIcon', 'dum_Fstr_auf_Rollo_hoch' => '%devStateIcon', 'dum_Rollo_auf_Licht_aus' => '%devStateIcon' }
   valueStyle {if ($READING eq "state") {'style="text-align:center"'}}
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

JoeALLb

Ich habe ein Beispiel analog zu
http://www.fhemwiki.de/wiki/ReadingsGroup#Heizungswerte.2C_Status_und_Regelm.C3.B6glichkeit

nachgebaut.
Was jedoch bei mir nicht funktioniert ist, das Aktualisieren eines Readings:

Wenn ich diese Zeile im myUtils.pm Skript angebe, bekomme ich bei jedem Klick auf das Icon in der Readinggroup eine Message zugeschickt. Soweit,. so gut!
Jedoch ändert sich der Rückgabewert aus ReadingsVal() nicht!
  $link = "set telegram message set $DEVICE ".ReadingsVal("dateTimePickerPopUp2","state","1") ;

Erst wenn ich die Definition der ReadingsGroup neu einlese
<Device><Comment>
.*_Clima:state@{getDev($DEVICE)},<{myUtils_CheckHeizung($DEVICE,"down")}@desired-new>

wird ein zwischenzeitlich aktualisierter Wert des dateTimePickerPopUp2 übernommen.

Was übersehe ich da? Liest die RG den Code myUtils_CheckHeizung() als Cach in den Speicher?
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Spartacus

Hallo,
ich muss doch noch einmal fragen, ob jemand eine Idee hat, wie das Slider-Problem in der rg gelöst werden kann. Ich kann die Werte über den Slider einstellen, dann fährt der Rolladen auch in die gewünschte Position aber dann springt der Slider zurück auf "NaN" (was auch immer das bedeutet). im Log ist unter verbose=5 nichts Ungewöhnliches zu finden. Ein Browser Refresh stell dann wieder den Zahlenwert ein.
Longpoll ist gesetzt!

Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

dev0

Zitat von: burtb am 15 Dezember 2015, 21:33:02
Nach einem Update auf o.g. Rev. funktionieren die Dropdowns in meiner readingsGroup nicht mehr
Das ist bei mir und hier auch so, nach einem Restore der 33_readingsGroup.pm vom 14.12. funktioniert es bei mir auch wieder.

list der RG (BA_HEIZUNG => HM-CC-RT-DN):

Internals:
   CFGFN      FHEM/_my_heizung.cfg
   DEF        <%sani_heating>,<Heiz-Mode>,<Temp-Soll>,<Temp-Ist>,<Feuchte>,<Heiz-Ventil>,<Bat-Level>,<Bat-Status>
BA_HEIZUNG_Clima:controlMode,desired-temp,measured-temp,humidity@BA_SENSOR_TEMP_HUM,ValvePosition,batteryLevel@BA_HEIZUNG,<{batLevelIndicator('BA_HEIZUNG')}>
   NAME       BA_HEIZUNG_RG
   NR         954
   NTFY_ORDER 50-BA_HEIZUNG_RG
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     BA_HEIZUNG_Clima 1
   Content2:
     BA_HEIZUNG 1
     BA_SENSOR_TEMP_HUM 1
   DEVICES:
     ARRAY(0x3838b90)
     ARRAY(0x383de48)
   DEVICES2:
     ARRAY(0x3838b90)
     ARRAY(0x383de48)
     ARRAY(0x342ec00)
     ARRAY(0x3838368)
   Fhem:
     lastDefChange 1
     last_update 1450788370.01858
   Helper:
     DEF
     nameStyle  style="xcolor:white"
     valueStyle {if( $READING eq "measured-temp" && $VALUE > 24.0 ){ 'style="color:red"' }elsif( $READING eq "measured-temp" && $VALUE < 20.0 ){ 'style="color:CornflowerBlue"' }elsif( $READING eq "measured-temp" ){ 'style="color:green"' }elsif( $READING eq "humidity" && $VALUE < 40.0 ){ 'style="color:CornflowerBlue"' }elsif( $READING eq "humidity" && $VALUE > 60.0 ){ 'style="color:red"' }elsif( $READING eq "humidity" ){ 'style="color:green"' }else{ 'style="color:gray"' }}
     Commands:
       controlMode controlMode:
       desired-temp desired-temp:
     Mapping:
       controlMode
       desired-temp
     Positions:
       BA_HEIZUNG.batteryLevel 2:6
       BA_HEIZUNG_Clima.ValvePosition 2:5
       BA_HEIZUNG_Clima.controlMode 2:1
       BA_HEIZUNG_Clima.desired-temp 2:2
       BA_HEIZUNG_Clima.measured-temp 2:3
       BA_SENSOR_TEMP_HUM.humidity 2:4
     Valueformat:
       ValvePosition %.0f %%
       batteryLevel %.1f V
       desired-temp %.1f °C
       humidity   %.1f %
       maxValveSetting %.0f %%
       measured-temp %.1f °C
     Valueicon:
       battery.low batterie@red
       battery.ok batterie@lightgreen
       window.closed fts_window_1w@lightgreen
       window.open fts_window_1w_open@red
     Values:
       formated:

         ARRAY(0x3e39b68)
         ARRAY(0x4224850)
         ARRAY(0x41a7cd0)
         ARRAY(0x3e04978)
         ARRAY(0x4304018)
         ARRAY(0x423e328)
       orig:

         ARRAY(0x41a80a8)
         ARRAY(0x4230260)
         ARRAY(0x41a86d8)
         ARRAY(0x3187458)
         ARRAY(0x423d810)
         ARRAY(0x423da08)
       prefixsuffix:

         ARRAY(0x41a7da8)
         ARRAY(0x4302538)
         ARRAY(0x429e518)
         ARRAY(0x4303338)
         ARRAY(0x423e1a8)
         ARRAY(0x4232340)
Attributes:
   alias      Heizung
   commands   { 'desired-temp' => 'desired-temp:', 'controlMode' => 'controlMode:' }
   group      Heizung
   mapping    { 'desired-temp' => '', 'controlMode' => '' }
   nameStyle  style="xcolor:white"
   room       Bad
   valueFormat {'measured-temp' => "%.1f °C", 'desired-temp' => "%.1f °C", 'ValvePosition' =>"%.0f %%", 'maxValveSetting' =>"%.0f %%" , 'batteryLevel' =>"%.1f V" , 'humidity' =>"%.1f %"}
   valueIcon  {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red', 'window.closed' => 'fts_window_1w@lightgreen', 'window.open' => 'fts_window_1w_open@red'}
   valueStyle {if( $READING eq "measured-temp" && $VALUE > 24.0 ){ 'style="color:red"' }elsif( $READING eq "measured-temp" && $VALUE < 20.0 ){ 'style="color:CornflowerBlue"' }elsif( $READING eq "measured-temp" ){ 'style="color:green"' }elsif( $READING eq "humidity" && $VALUE < 40.0 ){ 'style="color:CornflowerBlue"' }elsif( $READING eq "humidity" && $VALUE > 60.0 ){ 'style="color:red"' }elsif( $READING eq "humidity" ){ 'style="color:green"' }else{ 'style="color:gray"' }}


Das ist mehr oder weniger von einem Beispiel aus dem Wiki abgeleitet. Ebenso batLevelIndicator($):

sub batLevelIndicator($) {
my $device = shift;
my $myBatLevel = ReadingsVal($device,"batteryLevel", "" );
my $myBatStatus = ReadingsVal($device,"battery", "" );

if (($myBatLevel eq "" && $myBatStatus eq "") || (index($device, "_", 3) > 0)) {
return;
}
else {
if ($myBatLevel eq ""){
if    ( $myBatStatus =~ m/ok/  ) {return ("%Battery-hs-100");}
elsif ( $myBatStatus =~ m/low/ ) {return ("%Battery-hs-020");}
}
else {
if    ( $myBatLevel                      <= 2.1) {return ("%Battery-hs-020");}
elsif ( $myBatLevel > 2.1 && $myBatLevel <= 2.3) {return ("%Battery-hs-040");}
elsif ( $myBatLevel > 2.3 && $myBatLevel <= 2.5) {return ("%Battery-hs-060");}
elsif ( $myBatLevel > 2.5 && $myBatLevel <= 3.0) {return ("%Battery-hs-080");}
elsif ( $myBatLevel                      >  3.0) {return ("%Battery-hs-100");}
}
}
}


Ich vermute, dass es unabhängig von diesem Thema ist, mit beiden Version erscheint foldende Warnung im Log, wenn die RG angezeigt wird:

2015.12.22 13:46:26.880 1: PERL WARNING: Missing argument in sprintf at ./FHEM/33_readingsGroup.pm line 525.
2015.12.22 13:46:26.880 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/33_readingsGroup.pm line 525.


/Uli

ext23

Ich weiß nicht ob es dasselbe Problem ist wie hier beschrieben aber mir ist auch aufgefallen, dass seit geraumer Zeit die PullDowns innerhalb der ReadingsGroup nicht aktualisiert werden trotz aktiviertem Longpoll.

Fällt mir auch jetzt im Winter wieder auf wo man doch ab und an mal an der Heizung dreht. Im Prinzip stört mich das nicht weiter, nur wenn die soll Temperatur 19 Grad beträgt, das Pul0lDown aber 22 Grad anzeigt und ich jetzt 22 Grad einstellen möchte ist das blöd ;-)

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

justme1968

@burtb,dev0: sollte ab morgen wieder gehen.

@ext23: gibt es fehler auf der javascript konsole ?

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

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

dev0


ext23

Nicht das ich wüsste, hier der Output nachdem ich das Fenster geschlossen habe und so die desired temp auf 21 Grad gesetzt wird (vorher 12).

22:22:42.627 Rcvd: ["Heizungssteuerung-wz_Fenster.state","<svg class=\"icon fts_window_1w 00FF00\" alt=\"closed\" title=\"closed\" version=\"1.0\" xmln...(1718) fhemweb.js:232:5
22:22:42.629 Rcvd: ["Heizungssteuerung-wz_Fenster.state-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:42.630 Rcvd: ["battStatus-wz_Fenster.battery","ok","ok"] fhemweb.js:232:5
22:22:42.630 Rcvd: ["battStatus-wz_Fenster.battery-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:42.631 Rcvd: ["wz_Fenster","closed","<div id=\"wz_Fenster\"  class=\"col2\"><img class=' signal_Fenster_Offen_off' src=\"/fhem/images/default/sig...(200) fhemweb.js:232:5
22:22:42.632 Rcvd: ["wz_Fenster-battery","ok","ok"] fhemweb.js:232:5
22:22:42.632 Rcvd: ["wz_Fenster-battery-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:42.633 Rcvd: ["wz_Fenster-contact","closed (to HMLAN1)","closed (to HMLAN1)"] fhemweb.js:232:5
22:22:42.634 Rcvd: ["wz_Fenster-contact-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:42.634 Rcvd: ["wz_Fenster-trigger_cnt","179","179"] fhemweb.js:232:5
22:22:42.635 Rcvd: ["wz_Fenster-trigger_cnt-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:42.636 Rcvd: ["wz_Fenster-state","closed","closed"] fhemweb.js:232:5
22:22:42.637 Rcvd: ["wz_Fenster-state-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.241 Rcvd: ["Heizungssteuerung-wz_Fenster.state","<svg class=\"icon fts_window_1w 00FF00\" alt=\"closed\" title=\"closed\" version=\"1.0\" xmln...(1718) fhemweb.js:232:5
22:22:43.242 Rcvd: ["Heizungssteuerung-wz_Fenster.state-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.243 Rcvd: ["battStatus-wz_Fenster.battery","ok","ok"] fhemweb.js:232:5
22:22:43.244 Rcvd: ["battStatus-wz_Fenster.battery-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.244 Rcvd: ["wz_Fenster","closed","<div id=\"wz_Fenster\"  class=\"col2\"><img class=' signal_Fenster_Offen_off' src=\"/fhem/images/default/sig...(200) fhemweb.js:232:5
22:22:43.245 Rcvd: ["wz_Fenster-battery","ok","ok"] fhemweb.js:232:5
22:22:43.246 Rcvd: ["wz_Fenster-battery-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.247 Rcvd: ["wz_Fenster-contact","closed (to wz_Thermostat)","closed (to wz_Thermostat)"] fhemweb.js:232:5
22:22:43.247 Rcvd: ["wz_Fenster-contact-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.248 Rcvd: ["wz_Fenster-trigger_cnt","179","179"] fhemweb.js:232:5
22:22:43.249 Rcvd: ["wz_Fenster-trigger_cnt-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.249 Rcvd: ["wz_Fenster-state","closed","closed"] fhemweb.js:232:5
22:22:43.250 Rcvd: ["wz_Fenster-state-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.251 Rcvd: ["wz_Thermostat_WindowRec","last:wz_Fenster:closed","<div id=\"wz_Thermostat_WindowRec\"  class=\"col2\">last:wz_Fenster:closed</div...(135) fhemweb.js:232:5
22:22:43.251 Rcvd: ["wz_Thermostat_WindowRec-trigLast","wz_Fenster:closed","wz_Fenster:closed"] fhemweb.js:232:5
22:22:43.252 Rcvd: ["wz_Thermostat_WindowRec-trigLast-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.253 Rcvd: ["wz_Thermostat_WindowRec-trig_wz_Fenster","closed","closed"] fhemweb.js:232:5
22:22:43.253 Rcvd: ["wz_Thermostat_WindowRec-trig_wz_Fenster-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:45.331 Rcvd: ["Heizungssteuerung-wz_Thermostat.battery","<svg class=\"icon measure_battery_100 0CFB0C\" alt=\"ok\" title=\"ok\"    xmlns:dc=\"htt...(12535) fhemweb.js:232:5
22:22:45.334 Rcvd: ["Heizungssteuerung-wz_Thermostat.battery-ts","2015-12-23 22:23:11","2015-12-23 22:23:11"] fhemweb.js:232:5
22:22:45.335 Rcvd: ["Heizungssteuerung-wz_Thermostat.desired-temp","21.0 °C","21.0 °C"] fhemweb.js:232:5
22:22:45.339 Rcvd: ["Heizungssteuerung-wz_Thermostat.desired-temp-ts","2015-12-23 22:23:11","2015-12-23 22:23:11"] fhemweb.js:232:5
22:22:45.340 Rcvd: ["battStatus-wz_Thermostat.battery","ok","ok"] fhemweb.js:232:5
22:22:45.341 Rcvd: ["battStatus-wz_Thermostat.battery-ts","2015-12-23 22:23:11","2015-12-23 22:23:11"] fhemweb.js:232:5
22:22:45.341 Rcvd: ["wz_Thermostat","Temp:21.2 °C, Ventil:0, Soll-Temp:21.0 °C","<div id=\"wz_Thermostat\"  class=\"col2\">Temp:21.2 °C, Ventil:0, Soll...(153) fhemweb.js:232:5
22:22:45.342 Rcvd: ["wz_Thermostat-battery","ok","ok"] fhemweb.js:232:5
22:22:45.343 Rcvd: ["wz_Thermostat-battery-ts","2015-12-23 22:23:11","2015-12-23 22:23:11"] fhemweb.js:232:5
22:22:45.343 Rcvd: ["wz_Thermostat-desired-temp","21.0","21.0"] fhemweb.js:232:5
22:22:45.344 Rcvd: ["wz_Thermostat-desired-temp-ts","2015-12-23 22:23:11","2015-12-23 22:23:11"] fhemweb.js:232:5
22:22:45.345 Rcvd: ["wz_Thermostat_Climate","0","<div id=\"wz_Thermostat_Climate\"  class=\"col2\">0</div>"] fhemweb.js:232:5
22:22:45.346 Rcvd: ["wz_Thermostat_Climate-desired-temp","21.0","21.0"] fhemweb.js:232:5
22:22:45.346 Rcvd: ["wz_Thermostat_Climate-desired-temp-ts","2015-12-23 22:23:11","2015-12-23 22:23:11"] fhemweb.js:232:5


Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

justme1968

wo kommen die °C her ? stehen die wirklich so im reading des device ?

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

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

ext23

Mhh nein, im STATE bei den internals.

Im readings sieht das so aus:
desired-temp      21.0      2015-12-23 22:23:10

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

justme1968

in deinem log gibt es aber diese zeile: 22:22:45.335 Dcvd: ["Heizungssteuerung-wz_Thermostat.desired-temp","21.0 °C","21.0 °C"] fhemweb.js:232:5

da geht es ums reading.

zeig mal bitte ein list vom device.

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

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

ext23

Da gibt es aber auch eine Zeile ohne das °C.


Internals:
   CFGFN      /opt/fhem/cfg/Wohnzimmer.cfg
   DEF        1D2544
   HMLAN1_MSGCNT 2545
   HMLAN1_RAWMSG E1D2544,0000,ECAE7F7C,FF,FFB7,C2A2581D25441A2BCA0000
   HMLAN1_RSSI -73
   HMLAN1_TIME 2015-12-23 22:53:25
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     2545
   NAME       wz_Thermostat
   NR         891
   NTFY_ORDER 50-wz_Thermostat
   STATE      Temp:21.3 °C, Ventil:0, Soll-Temp:21.0 °C
   TYPE       CUL_HM
   channel_01 wz_Thermostat_Weather
   channel_02 wz_Thermostat_Climate
   channel_03 wz_Thermostat_WindowRec
   lastMsg    No:C2 - t:58 s:1D2544 d:1A2BCA 0000
   protCondBurst on
   protLastRcv 2015-12-23 22:53:25
   protResnd  3 last_at:2015-12-21 22:48:53
   protSnd    287 last_at:2015-12-23 22:23:10
   protState  CMDs_done
   rssi_HMLAN1 avg:-70.5 max:-68 lst:-71 cnt:12 min:-72
   rssi_at_HMLAN1 avg:-73.47 lst:-73 max:-68 cnt:2545 min:-93
   Readings:
     2015-12-21 22:28:33   Activity        alive
     2015-12-23 22:23:09   CommandAccepted yes
     2015-04-03 18:20:31   D-firmware      2.1
     2015-04-03 18:20:31   D-serialNr      JEQxxxxxxxx
     2015-10-11 10:19:16   PairedTo        0xxxxxxx
     2014-08-15 15:19:02   R-backlOnMode   auto
     2014-08-15 15:19:02   R-backlOnTime   25
     2014-08-15 15:19:02   R-btnLock       off
     2014-08-15 15:19:02   R-burstRx       on
     2014-08-15 15:19:02   R-pairCentral   0xxxxxxx
     2015-12-23 22:53:25   actuator        0
     2015-12-23 22:23:10   battery         ok
     2015-12-21 22:51:10   controlMode     auto
     2015-12-21 22:51:10   day-temp        22 C
     2015-12-21 22:51:10   decalcDay       Sat
     2015-12-23 22:23:10   desired-temp    21.0
     2015-12-21 22:51:10   displayMode     temp-hum
     2015-12-21 22:51:10   displayTemp     actual
     2015-12-21 22:51:10   displayTempUnit celsius
     2015-12-23 22:53:05   humidity        66
     2015-12-23 22:53:05   measured-temp   21.3
     2015-12-21 22:51:10   night-temp      19 C
     2015-12-21 22:51:10   party-temp      20 C
     2015-09-23 10:09:27   powerOn         2015-09-23 10:09:27
     2015-09-23 10:09:27   recentStateType info
     2015-12-23 22:53:05   state           T: 21.3 H: 66
     2015-05-27 15:30:00   temperature     0
     2015-12-23 00:00:09   time-request    -
     2015-02-04 17:51:51   trigLast        wz_Fenster :closed
     2015-02-04 17:51:51   trig_wz_Fenster closed
   Helper:
     HM_CMDNR   194
     PONtest    1
     cSnd       11xxxxxx1D254402022B,11xxxxxx1D254402022C
     mId        0039
     rxType     140
     Expert:
       def        1
       det        1
       raw        0
       tpl        0
     Io:
       newChn     +1D2544,00,00,00
       nextSend   1450907605.38767
       prefIO
       rxt        2
       vccu
       p:
         1D2544
         00
         00
         00
     Mrssi:
       mNo        C2
       Io:
         HMLAN1     -71
     Prt:
       awake      0
       bErr       0
       brstWu     1
       sProc      0
       sleeping   1
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
     Rssi:
       Hmlan1:
         avg        -70.5
         cnt        12
         lst        -71
         max        -68
         min        -72
       At_hmlan1:
         avg        -73.4754420432221
         cnt        2545
         lst        -73
         max        -68
         min        -93
Attributes:
   IODev      HMLAN1
   actCycle   000:10
   actStatus  alive
   alias      Wohnzimmer
   autoReadReg 4_reqStatus
   burstAccess 1_auto
   comment    Batteriewechsel: 23.09.2015
   expert     1_on
   firmware   2.1
   fp_Wohnung 300,400,2,Heizung
   group      Heizung
   model      HM-CC-TC
   room       Wohnzimmer
   serialNr   JEQxxxxxxx
   stateFormat Temp:measured-temp °C, Ventil:actuator, Soll-Temp:desired-temp °C
   subType    thermostat
   webCmd     desired-temp
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

justme1968

zeig bitte auch ein list auf die readingsGroup und einen screenshot.

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

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

ext23

Internals:
   CFGFN      /opt/fhem/cfg/ReadingsGroup.cfg
   DEF        <%sani_heating>,<Soll>,<Soll neu>,<Boost>,<Ist>,<Ventil / RH>,<Modus>,<Fenster>,<Lock>,<Bat>
az_Heizung_Clima:desired-temp,<sollsetz>,!boost,measured-temp,ValvePosition,controlMode,<>,R-btnLock@az_Heizung,batteryLevel@az_Heizung
bz_Heizung_ClimRT_tr:desired-temp,<sollsetz>,!boost,measured-temp,ValvePosition,controlMode,state@bz_Fenster,R-btnLock@bz_Heizung,batteryLevel@bz_Heizung
<>,<>,<>,<>,<>,<>,<>,<>,<>,<>
sz_Thermostat:desired-temp,<sollsetz>,!boost,measured-temp,humidity,controlMode@sz_Thermostat_Climate,state@sz_Fenster,R-btnLock@sz_Thermostat,battery@sz_Thermostat
sz_Stellantrieb_links:<>,<>,<>,<>,ValvePosition,<>,<>,<>,battery
sz_Stellantrieb_rechts:<>,<>,<>,<>,ValvePosition,<>,<>,<>,battery
<>,<>,<>,<>,<>,<>,<>,<>,<>,<>
wz_Thermostat:desired-temp,<sollsetz>,!boost,measured-temp,humidity,controlMode@wz_Thermostat_Climate,state@wz_Fenster,R-btnLock@wz_Thermostat,battery@wz_Thermostat
wz_Stellantrieb_links:<>,<>,<>,<>,ValvePosition,<>,<>,<>,battery
wz_Stellantrieb_rechts:<>,<>,<>,<>,ValvePosition,<>,<>,<>,battery
<>,<>,<>,<>,<>,<>,<>,<>,<>,<>
bz_Handtuchtrockner:state,<>,<>,<>,<>,<>,<>,<>,<>
   NAME       Heizungssteuerung
   NR         1521
   NTFY_ORDER 50-Heizungssteuerung
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     az_Heizung_Clima 1
     bz_Handtuchtrockner 1
     bz_Heizung_ClimRT_tr 1
     sz_Stellantrieb_links 1
     sz_Stellantrieb_rechts 1
     sz_Thermostat 1
     wz_Stellantrieb_links 1
     wz_Stellantrieb_rechts 1
     wz_Thermostat 1
   Content2:
     az_Heizung 1
     bz_Fenster 1
     bz_Heizung 1
     sz_Fenster 1
     sz_Thermostat 1
     sz_Thermostat_Climate 1
     wz_Fenster 1
     wz_Thermostat 1
     wz_Thermostat_Climate 1
   DEVICES:
     ARRAY(0x3e62c698)
     ARRAY(0x4504fd90)
     ARRAY(0x4504f9b8)
     ARRAY(0x3e61fd18)
     ARRAY(0x3e59fcf8)
     ARRAY(0x4503f318)
     ARRAY(0x3e62e490)
     ARRAY(0x450519c0)
     ARRAY(0x45042668)
     ARRAY(0x3e620240)
     ARRAY(0x3e62bf60)
     ARRAY(0x45020310)
     ARRAY(0x3c035ac8)
   DEVICES2:
     ARRAY(0x3e62c698)
     ARRAY(0x4504fd90)
     ARRAY(0x4504f9b8)
     ARRAY(0x3e61fd18)
     ARRAY(0x3e59fcf8)
     ARRAY(0x4503f318)
     ARRAY(0x3e62e490)
     ARRAY(0x450519c0)
     ARRAY(0x45042668)
     ARRAY(0x3e620240)
     ARRAY(0x3e62bf60)
     ARRAY(0x45020310)
     ARRAY(0x3c035ac8)
     ARRAY(0x3e611950)
     ARRAY(0x3e62e3a0)
     ARRAY(0x450527d8)
     ARRAY(0x4504f958)
     ARRAY(0x45051a38)
     ARRAY(0x3e62de90)
     ARRAY(0x45055ac0)
     ARRAY(0x45055e80)
     ARRAY(0x42a7f7d0)
     ARRAY(0x4504fe80)
     ARRAY(0x45050240)
     ARRAY(0x3e635bb8)
     ARRAY(0x45051588)
   Fhem:
     lastDefChange 106
     last_update 1450904468.59736
   Helper:
     DEF
     valueFormat {if($READING eq "ValvePosition" && $VALUE ne "0"){$VALUE = int($VALUE/10)*10}elsif($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100}elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25}else{$VALUE=0}}}
     valueStyle {if($READING eq "measured-temp"){my $t=$VALUE;my $d=ReadingsVal($DEVICE,'desired-temp',0);if($t-$d>=1){'style="color:rgb(251,63,11);"'}elsif($t-$d<=-1){'style="color:rgb(79,58,251);"'}else{'style="color:rgb(12,251,12);"'}}}
     valueSuffix {"desired-temp"=>" °C", "measured-temp"=>" °C","ValvePosition"=>" (".ReadingsVal($DEVICE,$READING,0)." %)","humidity"=>" ".ReadingsVal($DEVICE,$READING,0)." % RH","batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)"}
     Cellstyle:
       r:1        style="font-weight:bold;;font-size:16px"
       r:13,c:0   style="font-weight:bold"
       r:2,c:0    style="font-weight:bold"
       r:3,c:0    style="font-weight:bold"
       r:5,c:0    style="font-weight:bold"
       r:9,c:0    style="font-weight:bold"
     Commands:
       Heizungssteuerung.sollsetz desired-temp:5.0,12.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0
       R-btnLock.off set %DEVICE regSet btnLock on
       R-btnLock.on set %DEVICE regSet btnLock off
       boost      set %DEVICE controlMode boost
       controlMode.auto set %DEVICE controlMode manual
       controlMode.boost set %DEVICE controlMode auto
       controlMode.manual set %DEVICE controlMode auto
       state.off  set %DEVICE on-for-timer 7200
       state.on   set %DEVICE off
     Mapping:
       sz_Stellantrieb_links &nbsp;&nbsp;&nbsp;Regler links
       sz_Stellantrieb_rechts &nbsp;&nbsp;&nbsp;Regler rechts
       wz_Stellantrieb_links &nbsp;&nbsp;&nbsp;Regler links
       wz_Stellantrieb_rechts &nbsp;&nbsp;&nbsp;Regler rechts
     Positions:
       az_Heizung.R-btnLock 2:8
       az_Heizung.batteryLevel 2:9
       az_Heizung_Clima.ValvePosition 2:5
       az_Heizung_Clima.boost 2:3
       az_Heizung_Clima.controlMode 2:6
       az_Heizung_Clima.desired-temp 2:1
       az_Heizung_Clima.measured-temp 2:4
       bz_Fenster.state 3:7
       bz_Handtuchtrockner.state 13:1
       bz_Heizung.R-btnLock 3:8
       bz_Heizung.batteryLevel 3:9
       bz_Heizung_ClimRT_tr.ValvePosition 3:5
       bz_Heizung_ClimRT_tr.boost 3:3
       bz_Heizung_ClimRT_tr.controlMode 3:6
       bz_Heizung_ClimRT_tr.desired-temp 3:1
       bz_Heizung_ClimRT_tr.measured-temp 3:4
       sz_Fenster.state 5:7
       sz_Stellantrieb_links.ValvePosition 6:5
       sz_Stellantrieb_links.battery 6:9
       sz_Stellantrieb_rechts.ValvePosition 7:5
       sz_Stellantrieb_rechts.battery 7:9
       sz_Thermostat.R-btnLock 5:8
       sz_Thermostat.battery 5:9
       sz_Thermostat.boost 5:3
       sz_Thermostat.desired-temp 5:1
       sz_Thermostat.humidity 5:5
       sz_Thermostat.measured-temp 5:4
       sz_Thermostat_Climate.controlMode 5:6
       wz_Fenster.state 9:7
       wz_Stellantrieb_links.ValvePosition 10:5
       wz_Stellantrieb_links.battery 10:9
       wz_Stellantrieb_rechts.ValvePosition 11:5
       wz_Stellantrieb_rechts.battery 11:9
       wz_Thermostat.R-btnLock 9:8
       wz_Thermostat.battery 9:9
       wz_Thermostat.boost 9:3
       wz_Thermostat.desired-temp 9:1
       wz_Thermostat.humidity 9:5
       wz_Thermostat.measured-temp 9:4
       wz_Thermostat_Climate.controlMode 9:6
     recalc:

       ARRAY(0x46664af0)


       ARRAY(0x455cdd18)
     Valueicon:
       R-btnLock.off secur_open@0CFB0C
       R-btnLock.on secur_locked@F7301D
       R-btnLock.set_off hourglass
       R-btnLock.set_on hourglass
       R-globalBtnLock.off secur_open@0CFB0C
       R-globalBtnLock.on secur_locked@F7301D
       R-globalBtnLock.set_off hourglass
       R-globalBtnLock.set_on hourglass
       ValvePosition.0 sani_heating_level_0@002AE0
       ValvePosition.10 sani_heating_level_10@F8D53D
       ValvePosition.100 sani_heating_level_100@E50005
       ValvePosition.20 sani_heating_level_20@FF9341
       ValvePosition.30 sani_heating_level_30@F17F3F
       ValvePosition.40 sani_heating_level_40@E46C3C
       ValvePosition.50 sani_heating_level_50@DE3B3A
       ValvePosition.60 sani_heating_level_60@A30D2D
       ValvePosition.70 sani_heating_level_70@B40A23
       ValvePosition.80 sani_heating_level_80@C40619
       ValvePosition.90 sani_heating_level_90@D4030F
       battery.low measure_battery_0@E50005
       battery.ok measure_battery_100@0CFB0C
       batteryLevel.0 measure_battery_0@E50005
       batteryLevel.100 measure_battery_100@0CFB0C
       batteryLevel.25 measure_battery_25@FB5909
       batteryLevel.50 measure_battery_50@F5FF10
       batteryLevel.75 measure_battery_75@42BC0A
       boost      sani_heating_boost@FF0000
       controlMode.auto sani_heating_automatic@FFC13A
       controlMode.boost sani_heating_boost@FB0C02
       controlMode.manual sani_heating_manual@795CFF
       controlMode.set_auto hourglass
       controlMode.set_boost hourglass
       controlMode.set_manual hourglass
       humidity   humidity@6FD9FB
       state.closed fts_window_1w@00FF00
       state.off  sani_heating_level_0@0000FF
       state.on   sani_heating_level_100@FF0000
       state.open fts_window_1w_open@FF0000
       state.set_off hourglass
       state.set_on-for-timer 7200 hourglass
       state.tilted fts_window_1w_tilt@0000FF
     Values:
       formated:

         ARRAY(0x78c1800)

         ARRAY(0x459b2838)
         ARRAY(0x4538be98)
         ARRAY(0x454e0420)
         ARRAY(0x45a10ec8)
         ARRAY(0x45f03360)
         ARRAY(0x45911328)
         ARRAY(0x4586fbe8)
       orig:

         ARRAY(0x45a7ca78)

         ARRAY(0x45807c80)
         ARRAY(0x4586f720)
         ARRAY(0x3958ecb8)
         ARRAY(0x45a42d50)
         ARRAY(0x4586d2d8)
         ARRAY(0x466c02f0)
         ARRAY(0x466bf110)
       prefixsuffix:

         ARRAY(0x45858540)

         ARRAY(0x466c0500)
         ARRAY(0x457b08d0)
         ARRAY(0x45f046d8)
         ARRAY(0x466bf5b8)
         ARRAY(0x45abb050)
         ARRAY(0x4556f910)
         ARRAY(0x459c6f78)
Attributes:
   cellStyle  { "r:1"=>'style="font-weight:bold;;font-size:16px"',"r:2,c:0"=>'style="font-weight:bold"',"r:3,c:0"=>'style="font-weight:bold"',"r:5,c:0"=>'style="font-weight:bold"',"r:9,c:0"=>'style="font-weight:bold"',"r:13,c:0"=>'style="font-weight:bold"'}
   commands   {'Heizungssteuerung.sollsetz'=>'desired-temp:5.0,12.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0',"controlMode.manual"=>"set %DEVICE controlMode auto","controlMode.auto"=>"set %DEVICE controlMode manual","controlMode.boost"=>"set %DEVICE controlMode auto","R-btnLock.on"=>"set %DEVICE regSet btnLock off","R-btnLock.off"=>"set %DEVICE regSet btnLock on","boost"=>"set %DEVICE controlMode boost","state.on"=>"set %DEVICE off","state.off"=>"set %DEVICE on-for-timer 7200"}
   group      Heizungssteuerung
   mapping    {sz_Stellantrieb_links=>"&nbsp;&nbsp;&nbsp;Regler links",sz_Stellantrieb_rechts=>"&nbsp;&nbsp;&nbsp;Regler rechts",wz_Stellantrieb_links=>"&nbsp;&nbsp;&nbsp;Regler links",wz_Stellantrieb_rechts=>"&nbsp;&nbsp;&nbsp;Regler rechts"}
   noheading  1
   valueFormat {if($READING eq "ValvePosition" && $VALUE ne "0"){$VALUE = int($VALUE/10)*10}elsif($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100}elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25}else{$VALUE=0}}}
   valueIcon  {'controlMode.manual' => 'sani_heating_manual@795CFF','controlMode.auto' => 'sani_heating_automatic@FFC13A', 'controlMode.boost' => 'sani_heating_boost@FB0C02','humidity'=>'humidity@6FD9FB', 'R-globalBtnLock.on'=>'secur_locked@F7301D','R-globalBtnLock.off'=>'secur_open@0CFB0C','R-btnLock.on'=>'secur_locked@F7301D','R-btnLock.off'=>'secur_open@0CFB0C','ValvePosition.0' => 'sani_heating_level_0@002AE0','ValvePosition.10' => 'sani_heating_level_10@F8D53D','ValvePosition.20' => 'sani_heating_level_20@FF9341','ValvePosition.30' => 'sani_heating_level_30@F17F3F','ValvePosition.40' => 'sani_heating_level_40@E46C3C','ValvePosition.50' => 'sani_heating_level_50@DE3B3A','ValvePosition.60' => 'sani_heating_level_60@A30D2D','ValvePosition.70' => 'sani_heating_level_70@B40A23','ValvePosition.80' => 'sani_heating_level_80@C40619','ValvePosition.90' => 'sani_heating_level_90@D4030F','ValvePosition.100' => 'sani_heating_level_100@E50005','batteryLevel.100'=>'measure_battery_100@0CFB0C','batteryLevel.75'=>'measure_battery_75@42BC0A','batteryLevel.50'=>'measure_battery_50@F5FF10','batteryLevel.25'=>'measure_battery_25@FB5909','batteryLevel.0'=>'measure_battery_0@E50005','battery.ok'=>'measure_battery_100@0CFB0C','battery.low'=>'measure_battery_0@E50005','controlMode.set_boost' => 'hourglass','controlMode.set_auto' => 'hourglass','controlMode.set_manual' => 'hourglass','R-globalBtnLock.set_on' => 'hourglass','R-globalBtnLock.set_off' => 'hourglass','R-btnLock.set_on' => 'hourglass','R-btnLock.set_off' => 'hourglass','boost' => 'sani_heating_boost@FF0000','state.open' => 'fts_window_1w_open@FF0000','state.closed' => 'fts_window_1w@00FF00','state.tilted' => 'fts_window_1w_tilt@0000FF','state.on' => 'sani_heating_level_100@FF0000','state.off' => 'sani_heating_level_0@0000FF','state.set_off' => 'hourglass','state.set_on-for-timer 7200' => 'hourglass'}
   valueStyle {if($READING eq "measured-temp"){my $t=$VALUE;my $d=ReadingsVal($DEVICE,'desired-temp',0);if($t-$d>=1){'style="color:rgb(251,63,11);"'}elsif($t-$d<=-1){'style="color:rgb(79,58,251);"'}else{'style="color:rgb(12,251,12);"'}}}
   valueSuffix {"desired-temp"=>" °C", "measured-temp"=>" °C","ValvePosition"=>" (".ReadingsVal($DEVICE,$READING,0)." %)","humidity"=>" ".ReadingsVal($DEVICE,$READING,0)." % RH","batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)"}
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)