FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: grappa24 am 25 Januar 2020, 22:36:12

Titel: selectnumbers Widget aktualisiert sich nicht
Beitrag von: grappa24 am 25 Januar 2020, 22:36:12
Ich hab ein selectnumbers Widget gebaut (desired-temp), was letztlich via MQTT Werte setzt bzw. Werte bezieht. Das Setzen der Werte funktioniert gut, nur wenn die readings via MQTT aktualisiert werden, aktualisieren sich die Werte in der Select-Box nicht bzw. verschwinden.



Internals:
   CID        ems_esp_thermostat_data
   DEF        ems_esp_thermostat_data
   DEVICETOPIC CW400
   FUUID      5e2af0ee-f33f-b5ae-4a11-34f6bfe924451767
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     108
   NAME       CW400
   NR         567
   STATE      manual
20 °C
   TYPE       MQTT2_DEVICE
   myBroker_MSGCNT 108
   myBroker_TIME 2020-01-25 22:28:39
   JSONMAP:
     hc1_daytemp daytemp
     hc1_holidayttemp holidaytemp
     hc1_mode   mode
     hc1_nighttemp nighttemp
     hc1_seltemp desired-temp
   READINGS:
     2020-01-24 14:28:14   associatedWith  MQTT2_ems_esp
     2020-01-24 22:58:19   daytemp         0
     2020-01-25 22:28:39   desired-temp    20
     2020-01-25 22:28:39   hc1_currtemp    24.2
     2020-01-24 14:34:14   hc1_mode        off
     2020-01-24 14:34:14   hc1_seltemp     0
     2020-01-25 22:28:39   mode            manual
     2020-01-24 22:58:19   nighttemp       1.5
     2020-01-25 20:23:28   state           desired-temp
Attributes:
   IODev      myBroker
   fp_Dachstudio 500,630,7,CW400
   jsonMap    hc1_mode:mode hc1_seltemp:desired-temp hc1_daytemp:daytemp hc1_nighttemp:nighttemp hc1_holidayttemp:holidaytemp
   model      ems-esp_thermostat_simple
   readingList heating_system/ems-esp/thermostat_data:.* { json2nameValue($EVENT, '', $JSONMAP) }
   room       MQTT2_DEVICE,Raumklima
   setList    mode:select,auto,manual heating_system/ems-esp/thermostat_cmd { "cmd":"mode1", "data": "$EVTPART1" }
  desired-temp:selectnumbers,20.0,0.5,30.0,1,lin heating_system/ems-esp/thermostat_cmd { "cmd":"temp1", "data": "$EVTPART1" }
   setStateList on off
   stateFormat mode
desired-temp °C
   webCmd     mode:desired-temp

Titel: Antw:selectnumbers Widget aktualisiert sich nicht
Beitrag von: rudolfkoenig am 25 Januar 2020, 22:56:36
Kann es nicht nachstellen, bei mir aktualisiert sich die Anzeige bei einem aus dem gezeigten list erstellten MQTT2_DEVICE (Raw definition waere mir lieber), und manuell eingegebenen "setreading CW400 desired-temp 22.5"
Titel: Antw:selectnumbers Widget aktualisiert sich nicht
Beitrag von: grappa24 am 25 Januar 2020, 23:07:25
Danke fürs Testen, hier die RAW-Definition, oder meinst du etwas andees?
defmod CW400 MQTT2_DEVICE ems_esp_thermostat_data
attr CW400 IODev myBroker
attr CW400 fp_Dachstudio 500,630,7,CW400
attr CW400 jsonMap hc1_mode:mode hc1_seltemp:desired-temp hc1_daytemp:daytemp hc1_nighttemp:nighttemp hc1_holidayttemp:holidaytemp
attr CW400 model ems-esp_thermostat_simple
attr CW400 readingList heating_system/ems-esp/thermostat_data:.* { json2nameValue($EVENT, '', $JSONMAP) }
attr CW400 room MQTT2_DEVICE,Raumklima
attr CW400 setList mode:select,auto,manual heating_system/ems-esp/thermostat_cmd { "cmd":"mode1", "data": "$EVTPART1" }\
  desired-temp:selectnumbers,20.0,0.5,30.0,1,lin heating_system/ems-esp/thermostat_cmd { "cmd":"temp1", "data": "$EVTPART1" }
attr CW400 setStateList on off
attr CW400 stateFormat mode\
desired-temp °C
attr CW400 webCmd mode:desired-temp

setstate CW400 manual\
23 °C
setstate CW400 2020-01-24 14:28:14 associatedWith MQTT2_ems_esp
setstate CW400 2020-01-24 22:58:19 daytemp 0
setstate CW400 2020-01-25 23:02:40 desired-temp 23
setstate CW400 2020-01-25 23:02:40 hc1_currtemp 24
setstate CW400 2020-01-24 14:34:14 hc1_mode off
setstate CW400 2020-01-24 14:34:14 hc1_seltemp 0
setstate CW400 2020-01-25 23:02:40 mode manual
setstate CW400 2020-01-24 22:58:19 nighttemp 1.5
setstate CW400 2020-01-25 20:23:28 state desired-temp

Titel: Antw:selectnumbers Widget aktualisiert sich nicht
Beitrag von: grappa24 am 25 Januar 2020, 23:11:02
mMn verschwindet der Wert im Widget immer dann, wenn via MQTT ein neuer Wert für das Reading kommt ...
Titel: Antw:selectnumbers Widget aktualisiert sich nicht
Beitrag von: rudolfkoenig am 26 Januar 2020, 12:46:21
ZitatDanke fürs Testen, hier die RAW-Definition...
Danke, ist aber jetzt zu spaet, da ich genau diese Zeilen aus dem vorherigen List mit dem Editor zusammengebastelt habe.

ZitatmMn verschwindet der Wert im Widget immer dann, wenn via MQTT ein neuer Wert für das Reading kommt ...
Mag sein, mW ist aber dieser Mechanismus fuer FHEMWEB identisch mit dem von mir verwendeten "setreading", und damit konnte ich kein Problem feststellen.
Wenn Du anderer Meinung bist, dann schick mir ein "attr myBroker verbose 5" Log des passenden Events, damit kann ich das Event noch "exakter" simulieren.

Da die Daten ein FLOORPLAN Attribut enthalten: kann es sein, dass das Problem nur in FLOORPLAN auftritt?
Wenn ja, dann tippe ich auf ein FLOORPLAN Bug.
Leider ist dieses Modul seit Jahren ohne Maintainer, und stammt noch aus der Zeit vor den fhemweb Widgets.
Titel: Antw:selectnumbers Widget aktualisiert sich nicht
Beitrag von: grappa24 am 26 Januar 2020, 13:51:41
der Effekt tritt nicht nur im floorplan sondern auch im WEB-Frontend auf. Hier der Log
2020.01.26 13:48:13 5: in:  PINGREQ: (192)(0)
2020.01.26 13:48:13 4:   myBroker_192.168.178.79_50889 ems-esp PINGREQ
2020.01.26 13:48:13 5: out: PINGRESP: (208)(0)
2020.01.26 13:48:34 5: in:  PINGREQ: (192)(0)
2020.01.26 13:48:34 4:   myBroker_192.168.178.71_60696 mqttdash-65f24599 PINGREQ
2020.01.26 13:48:34 5: out: PINGRESP: (208)(0)
2020.01.26 13:48:43 5: in:  PUBLISH: 0(221)(4)(0)"heating_system/ems-esp/boiler_data{"wWComfort":"Hot","wWSelTemp":55,"wWDesinfectionTemp":70,"selFlowTemp":85,"selBurnPow":100,"curBurnPow":15,"pumpMod":100,"wWCircPump":255,"outdoorTemp":4.2,"wWCurTmp":51.2,"wWCurFlow":0,"curFlowTemp":79.5,"switchTemp":0,"wWActivated":"on","wWOnetime":"off","burnGas":"on","flameCurr":11.5,"heatPmp":"on","fanWork":"on","ignWork":"off","wWCirc":"on","heating_temp":73,"pump_mod_max":100,"pump_mod_min":10,"wWHeat":"on","wWStarts":712,"wWWorkM":11011,"UBAuptime":358938,"burnStarts":12941,"burnWorkMin":40042,"heatWorkMin":29031,"ServiceCode":"","ServiceCodeNumber":201}
2020.01.26 13:48:43 4:   myBroker_192.168.178.79_50889 ems-esp PUBLISH heating_system/ems-esp/boiler_data:{"wWComfort":"Hot","wWSelTemp":55,"wWDesinfectionTemp":70,"selFlowTemp":85,"selBurnPow":100,"curBurnPow":15,"pumpMod":100,"wWCircPump":255,"outdoorTemp":4.2,"wWCurTmp":51.2,"wWCurFlow":0,"curFlowTemp":79.5,"switchTemp":0,"wWActivated":"on","wWOnetime":"off","burnGas":"on","flameCurr":11.5,"heatPmp":"on","fanWork":"on","ignWork":"off","wWCirc":"on","heating_temp":73,"pump_mod_max":100,"pump_mod_min":10,"wWHeat":"on","wWStarts":712,"wWWorkM":11011,"UBAuptime":358938,"burnStarts":12941,"burnWorkMin":40042,"heatWorkMin":29031,"ServiceCode":"","ServiceCodeNumber":201}
2020.01.26 13:48:43 5: myBroker: dispatch autocreate=simple\000ems_esp\000heating_system/ems-esp/boiler_data\000{"wWComfort":"Hot","wWSelTemp":55,"wWDesinfectionTemp":70,"selFlowTemp":85,"selBurnPow":100,"curBurnPow":15,"pumpMod":100,"wWCircPump":255,"outdoorTemp":4.2,"wWCurTmp":51.2,"wWCurFlow":0,"curFlowTemp":79.5,"switchTemp":0,"wWActivated":"on","wWOnetime":"off","burnGas":"on","flameCurr":11.5,"heatPmp":"on","fanWork":"on","ignWork":"off","wWCirc":"on","heating_temp":73,"pump_mod_max":100,"pump_mod_min":10,"wWHeat":"on","wWStarts":712,"wWWorkM":11011,"UBAuptime":358938,"burnStarts":12941,"burnWorkMin":40042,"heatWorkMin":29031,"ServiceCode":"","ServiceCodeNumber":201}
2020.01.26 13:48:44 5: in:  PUBLISH: 0^(0)&heating_system/ems-esp/thermostat_data{"hc1":{"seltemp":23,"currtemp":23.5,"mode":"manual"}}
2020.01.26 13:48:44 4:   myBroker_192.168.178.79_50889 ems-esp PUBLISH heating_system/ems-esp/thermostat_data:{"hc1":{"seltemp":23,"currtemp":23.5,"mode":"manual"}}
2020.01.26 13:48:44 5: myBroker: dispatch autocreate=simple\000ems_esp\000heating_system/ems-esp/thermostat_data\000{"hc1":{"seltemp":23,"currtemp":23.5,"mode":"manual"}}
2020.01.26 13:48:49 5: myBroker: PUBLISH heating_system/ems-esp/thermostat_cmd { "cmd":"temp1", "data": "22.0" }
2020.01.26 13:48:49 5:   myBroker_192.168.178.79_50889 ems-esp => heating_system/ems-esp/thermostat_cmd:{ "cmd":"temp1", "data": "22.0" }
2020.01.26 13:48:49 5: out: PUBLISH: 0H(0)%heating_system/ems-esp/thermostat_cmd{ "cmd":"temp1", "data": "22.0" }
2020.01.26 13:48:49 5: in:  PUBLISH: 0(221)(4)(0)"heating_system/ems-esp/boiler_data{"wWComfort":"Hot","wWSelTemp":55,"wWDesinfectionTemp":70,"selFlowTemp":85,"selBurnPow":100,"curBurnPow":16,"pumpMod":100,"wWCircPump":255,"outdoorTemp":4.3,"wWCurTmp":51.2,"wWCurFlow":0,"curFlowTemp":78.6,"switchTemp":0,"wWActivated":"on","wWOnetime":"off","burnGas":"on","flameCurr":12.3,"heatPmp":"on","fanWork":"on","ignWork":"off","wWCirc":"on","heating_temp":73,"pump_mod_max":100,"pump_mod_min":10,"wWHeat":"on","wWStarts":712,"wWWorkM":11011,"UBAuptime":358939,"burnStarts":12941,"burnWorkMin":40042,"heatWorkMin":29031,"ServiceCode":"","ServiceCodeNumber":201}
2020.01.26 13:48:49 4:   myBroker_192.168.178.79_50889 ems-esp PUBLISH heating_system/ems-esp/boiler_data:{"wWComfort":"Hot","wWSelTemp":55,"wWDesinfectionTemp":70,"selFlowTemp":85,"selBurnPow":100,"curBurnPow":16,"pumpMod":100,"wWCircPump":255,"outdoorTemp":4.3,"wWCurTmp":51.2,"wWCurFlow":0,"curFlowTemp":78.6,"switchTemp":0,"wWActivated":"on","wWOnetime":"off","burnGas":"on","flameCurr":12.3,"heatPmp":"on","fanWork":"on","ignWork":"off","wWCirc":"on","heating_temp":73,"pump_mod_max":100,"pump_mod_min":10,"wWHeat":"on","wWStarts":712,"wWWorkM":11011,"UBAuptime":358939,"burnStarts":12941,"burnWorkMin":40042,"heatWorkMin":29031,"ServiceCode":"","ServiceCodeNumber":201}
2020.01.26 13:48:49 5: myBroker: dispatch autocreate=simple\000ems_esp\000heating_system/ems-esp/boiler_data\000{"wWComfort":"Hot","wWSelTemp":55,"wWDesinfectionTemp":70,"selFlowTemp":85,"selBurnPow":100,"curBurnPow":16,"pumpMod":100,"wWCircPump":255,"outdoorTemp":4.3,"wWCurTmp":51.2,"wWCurFlow":0,"curFlowTemp":78.6,"switchTemp":0,"wWActivated":"on","wWOnetime":"off","burnGas":"on","flameCurr":12.3,"heatPmp":"on","fanWork":"on","ignWork":"off","wWCirc":"on","heating_temp":73,"pump_mod_max":100,"pump_mod_min":10,"wWHeat":"on","wWStarts":712,"wWWorkM":11011,"UBAuptime":358939,"burnStarts":12941,"burnWorkMin":40042,"heatWorkMin":29031,"ServiceCode":"","ServiceCodeNumber":201}
2020.01.26 13:48:49 5: in:  PUBLISH: 0)(0)&heating_system/ems-esp/tapwater_active0
2020.01.26 13:48:49 4:   myBroker_192.168.178.79_50889 ems-esp PUBLISH heating_system/ems-esp/tapwater_active:0
2020.01.26 13:48:49 5: myBroker: dispatch autocreate=simple\000ems_esp\000heating_system/ems-esp/tapwater_active\0000
2020.01.26 13:48:49 5: in:  PUBLISH: 0((0)%heating_system/ems-esp/heating_active1
2020.01.26 13:48:49 4:   myBroker_192.168.178.79_50889 ems-esp PUBLISH heating_system/ems-esp/heating_active:1
2020.01.26 13:48:49 5: myBroker: dispatch autocreate=simple\000ems_esp\000heating_system/ems-esp/heating_active\0001
2020.01.26 13:48:49 5: in:  PUBLISH: 0^(0)&heating_system/ems-esp/thermostat_data{"hc1":{"seltemp":23,"currtemp":23.5,"mode":"manual"}}
2020.01.26 13:48:49 4:   myBroker_192.168.178.79_50889 ems-esp PUBLISH heating_system/ems-esp/thermostat_data:{"hc1":{"seltemp":23,"currtemp":23.5,"mode":"manual"}}
2020.01.26 13:48:49 5: myBroker: dispatch autocreate=simple\000ems_esp\000heating_system/ems-esp/thermostat_data\000{"hc1":{"seltemp":23,"currtemp":23.5,"mode":"manual"}}
2020.01.26 13:48:50 5: in:  PUBLISH: 0S(0) heating_system/ems-esp/heartbeat{"rssid":42,"load":1,"uptime":77048,"freemem":51}
2020.01.26 13:48:50 4:   myBroker_192.168.178.79_50889 ems-esp PUBLISH heating_system/ems-esp/heartbeat:{"rssid":42,"load":1,"uptime":77048,"freemem":51}
2020.01.26 13:48:50 5: myBroker: dispatch autocreate=simple\000ems_esp\000heating_system/ems-esp/heartbeat\000{"rssid":42,"load":1,"uptime":77048,"freemem":51}
Titel: Antw:selectnumbers Widget aktualisiert sich nicht
Beitrag von: rudolfkoenig am 26 Januar 2020, 15:08:34
selectnumbers mit DecimalPoints 1 hat Zahlen mit einer Nachkommastelle erwartet, und hat 23 nicht akzeptiert.
Ich habe fhemweb.js angepasst, so dass der neue Wert mit DecimalPoints gerundet/formatiert wird.
Titel: Antw:selectnumbers Widget aktualisiert sich nicht
Beitrag von: grappa24 am 27 Januar 2020, 11:43:57
hat funktioniert, danke für die schnelle Hilfe!