Closed MarcelMertens closed 3 years ago
Addition: Here are all datapoints (10 newer points)
A few questions come to mind:
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs within the next 7 days. Please check if the issue is still relevant in the most current version of the adapter and tell us. Also check that all relevant details, logs and reproduction steps are included and update them if needed. Thank you for your contributions. Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivitäten gab. Es wird geschlossen, wenn nicht innerhalb der nächsten 7 Tage weitere Aktivitäten stattfinden. Bitte überprüft, ob das Problem auch in der aktuellsten Version des Adapters noch relevant ist, und teilt uns dies mit. Überprüft auch, ob alle relevanten Details, Logs und Reproduktionsschritte enthalten sind bzw. aktualisiert diese. Vielen Dank für Eure Unterstützung.
Sorry, was'nt aware of this issue, but in the last day i noticed the same issue again.
In my new situation all values are set from javascript:
I have several datapoints for controlling my AC:
The ACs are actual controlled by the Panasonic Cloud Service, so i wrote two scripts which syncronizes IObroker <> Cloud Service. The ACs could be also controlled via a Mobile App or direct via Infrared Remote.
GetStates Script (Runs every 30sec): Reads the Values from the Cloud Service and sets the States in IObroker with ACK: True
ControlDevice (Runs every time on of the States in IObroker has changed): If i change a IObroker state for the AC, the script runs and pushes the change to the Cloud Service. The Cloud Service pushed this change to the AC device.
This means, that states keep "Ack: False" until the "GetStates" runs and writes the current value from the cloud back to i broker.
Example:
Restarted Lovelace adapter, everything fine. Temperature Set to 19°C
Changed Temperature via Lovelace to 25°C, lovelace updates state, but state is Ack: False. Control-Device script runs and pushes the new set value to the cloud service. AC changes temp to 25°C But value in lovelace stays at 19°C
After several seconds, Get-States script reads the new set device back from the cloud and updates the state. Value still 25°C, but ACK: True But value in lovelace stays at 19°C
Only restarting the adapter helps to get the correct values show up.... I tried a different browser, different device
Ok, just digged a bit deeper in this topic (I'm not a iobroker developer, so don't know if this is interesting): I switched the lovelace adapter to "SILLY" Logging and see that there are never "States user redis pmessage.." for the states published. On all other states i see "States user redis pmessage.." every then and now, but for my datapoints is nothing.
On the start of lovelace i see that there is a subscribtion on all states
lovelace.0 | 2020-10-22 09:16:14.995 | debug | (29238) IoB Subscribe on javascript.0.PanasonicAC.CS-TZ20WKEW+4756812442.fanSpeed
lovelace.0 | 2020-10-22 09:16:14.994 | debug | (29238) IoB Subscribe on javascript.0.PanasonicAC.CS-TZ20WKEW+4756812442.ecoMode
lovelace.0 | 2020-10-22 09:16:14.993 | debug | (29238) IoB Subscribe on javascript.0.PanasonicAC.CS-TZ20WKEW+4756812442.operationMode
lovelace.0 | 2020-10-22 09:16:14.993 | debug | (29238) IoB Subscribe on javascript.0.PanasonicAC.CS-TZ20WKEW+4756812442.temperatureSet
lovelace.0 | 2020-10-22 09:16:14.992 | debug | (29238) IoB Subscribe on javascript.0.PanasonicAC.CS-TZ20WKEW+4756812442.operate
If i change one of the values, the only thing i see in the log is:
lovelace.0 | 2020-10-22 09:28:42.288 | debug | (29238) set_value: javascript.0.PanasonicAC.CS-TZ20WKEW+4756812442.temperatureSet = 21
If my "Get-States" script updates the values nothing happens
Ok, more to come:
I changed my Get-States script (which also creates the states if not existing) and instead of using the deviceGuid ("PanasonicAC.CS-TZ20WKEW+4756812442") the script uses the deviceName (Buero) instead for the folder name. So the new State name is
javascript.0.PanasonicAC.Buero.operate instead of javascript.0.PanasonicAC.CS-TZ20WKEW+4756812442.operate
Also the lovelace Entity is now called "input_boolean.PanasonicAC_Buero_operate".
And now its working fine.
lovelace.0 2020-10-22 09:47:31.624 silly (29238) States user redis pmessage javascript.0.PanasonicAC.Buero.operate/javascript.0.PanasonicAC.Buero.operate:{"val":false,"ack":true,"ts":1603352851612,"q":0,"from":"system.adapter.javascript.0","
lovelace.0 2020-10-22 09:47:31.622 silly (29238) States user redis pmessage javascript.0.PanasonicAC.Buero.ecoMode/javascript.0.PanasonicAC.Buero.ecoMode:{"val":0,"ack":true,"ts":1603352851612,"q":0,"from":"system.adapter.javascript.0","user
lovelace.0 2020-10-22 09:47:31.619 silly (29238) States user redis pmessage javascript.0.PanasonicAC.Buero.fanSpeed/javascript.0.PanasonicAC.Buero.fanSpeed:{"val":0,"ack":true,"ts":1603352851612,"q":0,"from":"system.adapter.javascript.0","us
lovelace.0 2020-10-22 09:47:31.617 silly (29238) States user redis pmessage javascript.0.PanasonicAC.Buero.operationMode/javascript.0.PanasonicAC.Buero.operationMode:{"val":3,"ack":true,"ts":1603352851612,"q":0,"from":"system.adapter.javascr
lovelace.0 2020-10-22 09:47:31.614 silly (29238) States user redis pmessage javascript.0.PanasonicAC.Buero.temperatureSet/javascript.0.PanasonicAC.Buero.temperatureSet:{"val":19,"ack":true,"ts":1603352851611,"q":0,"from":"system.adapter.java
javascript.0 2020-10-22 09:47:17.526 info (30912) script.js.common.PanasonicAC.PanasonicAC_ControlDevice: State Change detected . State: 'javascript.0.PanasonicAC.Buero.temperatureSet' Old Value: [23] New Value: [19]
lovelace.0 2020-10-22 09:47:17.526 silly (29238) States user redis pmessage javascript.0.PanasonicAC.Buero.temperatureSet/javascript.0.PanasonicAC.Buero.temperatureSet:{"val":19,"ack":false,"ts":1603352837520,"q":0,"from":"system.adapter.lov
lovelace.0 2020-10-22 09:47:17.511 debug (29238) set_value: javascript.0.PanasonicAC.Buero.temperatureSet = 19
So it looks like a problem with the length or characters ("+") insight name name ot the state or entity?
Uhh... great findings. 😄 I do not know the parts involved with the statedb and subscription system, I'll ask around if someone else has an idea. Maybe there is some issue somewhere deep below ( @Apollon77 )? Or + or - signs should be forbidden in IDs (they currently are allowed and not even discouraged).
Maybe an encoding issue on Browser side? + is often converted in urldecode to a " "?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs within the next 7 days. Please check if the issue is still relevant in the most current version of the adapter and tell us. Also check that all relevant details, logs and reproduction steps are included and update them if needed. Thank you for your contributions. Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivitäten gab. Es wird geschlossen, wenn nicht innerhalb der nächsten 7 Tage weitere Aktivitäten stattfinden. Bitte überprüft, ob das Problem auch in der aktuellsten Version des Adapters noch relevant ist, und teilt uns dies mit. Überprüft auch, ob alle relevanten Details, Logs und Reproduktionsschritte enthalten sind bzw. aktualisiert diese. Vielen Dank für Eure Unterstützung.
This issue has been automatically closed because of inactivity. Please open a new issue if still relevant and make sure to include all relevant details, logs and reproduction steps. Thank you for your contributions. Dieses Problem wurde aufgrund von Inaktivität automatisch geschlossen. Bitte öffnet ein neues Issue, falls dies noch relevant ist und stellt sicher das alle relevanten Details, Logs und Reproduktionsschritte enthalten sind. Vielen Dank für Eure Unterstützung.
Hello,
i have some entites (aqara temperatursensor) configured as "sensor" which is not updated in Lovelace.
Object browser shows that the valie was updated about 40min ago:
When restarting the lovelace instance, the latest value is used
Using Lovelace 1.10