Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Home Assistant stops receiving updates #69

Closed
xela1 opened this issue Apr 21, 2022 · 181 comments
Closed

Home Assistant stops receiving updates #69

xela1 opened this issue Apr 21, 2022 · 181 comments

Comments

@xela1
Copy link

xela1 commented Apr 21, 2022

Home Assistant Version: 2022.4.5
Lightwave integration version: 3.5.14beta

The last couple of days I've noticed that I stop receiving state updates for my devices if they are operated outside of Home Assistant, restarting HA will fix it, but it usually stops a few hours later, unfortunately, the logs don't really show much:

022-04-21 17:32:41 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Starting consumer handler 2022-04-21 17:32:41 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Received WSMessage(type=<WSMsgType.TEXT: 1>, data='{"version":1,"senderId":"1.ip=10=192=21=64*eu=west=1*compute*internal=21979","transactionId":5792045,"direction":"notification","class":"feature","operation":"event","items":[{"payload":{"featureId":"5df8b6728522075debd21ad8-95-3157346060+1","deviceId":7,"type":"rssi","channel":0,"writable":false,"stateless":false,"virtual":false,"value":-65,"status":"ok"},"success":true,"itemId":506}]}', extra='') 2022-04-21 17:32:41 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Event received (5df8b6728522075debd21ad8-95-3157346060+1 <lightwave2.lightwave2.LWRFFeature object at 0xa58aab38> -65), calling callbacks ['async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback'] 2022-04-21 17:32:41 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Starting consumer handler 2022-04-21 17:32:48 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Received WSMessage(type=<WSMsgType.TEXT: 1>, data='{"version":1,"senderId":"1.ip=10=192=21=64*eu=west=1*compute*internal=21979","transactionId":5792528,"direction":"notification","class":"feature","operation":"event","items":[{"payload":{"featureId":"5df8b6728522075debd21ad8-99-3157346060+1","deviceId":8,"type":"power","channel":0,"writable":false,"stateless":false,"virtual":false,"value":1196,"status":"ok"},"success":true,"itemId":507}]}', extra='') 2022-04-21 17:32:48 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Event received (5df8b6728522075debd21ad8-99-3157346060+1 <lightwave2.lightwave2.LWRFFeature object at 0xa53cbf40> 1196), calling callbacks ['async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback'] 2022-04-21 17:32:48 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Starting consumer handler 2022-04-21 17:32:48 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Received WSMessage(type=<WSMsgType.TEXT: 1>, data='{"version":1,"senderId":"1.ip=10=192=21=64*eu=west=1*compute*internal=21979","transactionId":5792529,"direction":"notification","class":"feature","operation":"event","items":[{"payload":{"featureId":"5df8b6728522075debd21ad8-100-3157346060+1","deviceId":8,"type":"energy","channel":0,"writable":false,"stateless":false,"virtual":false,"value":27692,"status":"ok"},"success":true,"itemId":508}]}', extra='') 2022-04-21 17:32:48 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Event received (5df8b6728522075debd21ad8-100-3157346060+1 <lightwave2.lightwave2.LWRFFeature object at 0xa53cbfa0> 27692), calling callbacks ['async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback'] 2022-04-21 17:32:48 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Starting consumer handler 2022-04-21 17:32:48 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Received WSMessage(type=<WSMsgType.TEXT: 1>, data='{"version":1,"senderId":"1.ip=10=192=21=64*eu=west=1*compute*internal=21979","transactionId":5792530,"direction":"notification","class":"feature","operation":"event","items":[{"payload":{"featureId":"5df8b6728522075debd21ad8-101-3157346060+1","deviceId":8,"type":"rssi","channel":0,"writable":false,"stateless":false,"virtual":false,"value":-73,"status":"ok"},"success":true,"itemId":509}]}', extra='') 2022-04-21 17:32:48 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Event received (5df8b6728522075debd21ad8-101-3157346060+1 <lightwave2.lightwave2.LWRFFeature object at 0xa53cbfe8> -73), calling callbacks ['async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback', 'async_update_callback'] 2022-04-21 17:32:48 DEBUG (MainThread) [lightwave2.lightwave2] consumer_handler: Starting consumer handler

After this, there are no lightwave entries in the log

@astirling01
Copy link

Having the same issue with my Lightwave electric switches. I can still send commands to them and can adjust the temperatures with the climate cards but cards don't update with current temperature or target heat. A reboot fixes it but it stops working again within around an hour

@xela1
Copy link
Author

xela1 commented Apr 21, 2022

I've connected to the websocket using postman to see if it does the same thing, I'll let you know how I get on

@avhm
Copy link

avhm commented Apr 21, 2022

👍 same issue here

edit: I hadn’t updated to the latest build or changed my HA image, so if multiple people are experiencing this it might be a change on lightwave’s end?

@xela1
Copy link
Author

xela1 commented Apr 21, 2022

I've connected to the websocket using postman to see if it does the same thing, I'll let you know how I get on

edit: I hadn’t updated to the latest build or changed my HA image, so if multiple people are experiencing this it might be a change on lightwave’s end?

Looks like you're correct, my postman connection stopped receiving updates after around 26 minutes, the connection is still active however, and if I open the app on my phone it receives a transaction for the app opening, but still no device updates.

@astirling01
Copy link

astirling01 commented Apr 21, 2022

Yeah I rolled back to a previous lightwave homeassistant repo without success. HomeKit instances and the lightwave app continue to receive updates on temperature state though so hopefully something which can be worked around? Why would a home assistant reboot resolve it? Albeit briefly

@xela1
Copy link
Author

xela1 commented Apr 21, 2022

Yeah I rolled back to a previous lightwave homeassistant repo without success. HomeKit instances and the lightwave app continue to receive updates on temperature state though so hopefully something which can be worked around? Why would a home assistant reboot resolve it? Albeit briefly

the reboot re-establishes the websocket, which then receives updates for a certain amount of time and then stops

@astirling01
Copy link

Sorry to come at this with a complete lack of programming knowledge. Can there be a short term workaround to re-establish the web socket every 10 minutes or so?

@xela1
Copy link
Author

xela1 commented Apr 21, 2022

Sorry to come at this with a complete lack of programming knowledge. Can there be a short term workaround to re-establish the web socket every 10 minutes or so?

The logic is perfect, but I don't know how easy it is to do in HA, that's out of my area too :)

@bigbadblunt
Copy link
Owner

That's not a perfect solution, as reconnecting to the websocket takes time, during which controls won't work. I can add this in as an option, although it'll take me a while to get to it.

In the meantime, have you tried using the public API option?

@araines
Copy link

araines commented Apr 21, 2022

I'm experiencing the same problems. I've just tried turning on the public API option, but that has caused all of my entities to become unavailable, even after restart. Not sure if there is something else I need to be configuring perhaps?

Upon restart I see this error when I've turned the public API on

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 335, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/config/custom_components/lightwave2/__init__.py", line 45, in async_setup_entry
    await link.async_get_hierarchy()
  File "/usr/local/lib/python3.9/site-packages/lightwave2/lightwave2.py", line 584, in async_get_hierarchy
    await self.async_update_featureset_states()
  File "/usr/local/lib/python3.9/site-packages/lightwave2/lightwave2.py", line 633, in async_update_featureset_states
    if self.featuresets[featuresetid].features[featurename].id in req:
AttributeError: 'list' object has no attribute 'id'

@astirling01
Copy link

Public API has never worked for me. It just shows everything as unavailable (electric switches and light sockets). Are there different setup options

@xela1
Copy link
Author

xela1 commented Apr 21, 2022

In the meantime, have you tried using the public API option?
I hadn't because of the issues the other day that you resolved, but I'll try it and see what I get

edit: looks like i just get rate limited with public API

2022-04-21 20:50:19 DEBUG (MainThread) [lightwave2.lightwave2] async_deleterequest: rate limited, wait and retry

@bigbadblunt
Copy link
Owner

@xela1 sorry, looks like that is still not working. let me put in a bit of effort to fix the public api properly.

@astirling01
Copy link

If I'm patient I do eventually get temperature readings up with the public API instead of 'unavailable' but I can't send commands. I get this error

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 193, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1634, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1671, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 677, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 955, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 714, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 586, in async_service_temperature_set
await entity.async_set_temperature(**kwargs)
File "/config/custom_components/lightwave2/climate.py", line 196, in async_set_temperature
await self._lwlink.async_set_temperature_by_featureset_id(
File "/usr/local/lib/python3.9/site-packages/lightwave2/lightwave2.py", line 310, in async_set_temperature_by_featureset_id
await self.async_write_feature_by_name(featureset_id, "targetTemperature", int(level * 10))
File "/usr/local/lib/python3.9/site-packages/lightwave2/lightwave2.py", line 278, in async_write_feature_by_name
await self.featuresets[featureset_id].features[featurename].set_state(value)
File "/usr/local/lib/python3.9/site-packages/lightwave2/lightwave2.py", line 86, in set_state
await self.featureset.link.async_write_feature(self.id, value)
AttributeError: 'str' object has no attribute 'link'

@xela1
Copy link
Author

xela1 commented Apr 21, 2022

sorry, looks like that is still not working. let me put in a bit of effort to fix the public api properly.

don't ever apologise :)

@bigbadblunt
Copy link
Owner

I have hopefully fixed the public api code and have pushed a new beta version. it may take a long time to initialise, the "rate limited" messages are as expected, the code will slow down and retry when it gets rate limited. seems to be working for me, but i only currently have one device, so let me know if something isn't as expected.

@SGXander
Copy link

just +1ing this issue as I too am seeing it although it seems to last a bit longer for me (not sure on exact timing but around an hour or so. Controlling the dimmers from HA is fine and the state is remembered based on last change but updates from lwrf when the physical buttons are pressed aren't reported in.

Just checking the current workaround is to switch to public API mode and reload?

@garysargentpersonal
Copy link

I'm getting the same issues. Is the public api cloud rather than local? That doesn't seem an ideal solution.

@astirling01
Copy link

Don't think either are local!

@garysargentpersonal
Copy link

What's the difference then?

@xela1
Copy link
Author

xela1 commented Apr 21, 2022

That's not a perfect solution, as reconnecting to the websocket takes time

Is that just establishing the websocket, or running the discovery, as I assume discovery wouldn't be needed on a reconnect?

I have hopefully fixed the public api code and have pushed a new beta version

Will update and test, I've got 30+ devices though, so not sure how long it'll take to initialise :)

@xela1
Copy link
Author

xela1 commented Apr 21, 2022

What's the difference then?

Public API is the one they actual publish for people to use, the other one is the same websocket the mobile/web app use, I'm not sure we're officially supposed to use it...

Edit: the websocket is much more reliable than the public API in my experience though

@bigbadblunt
Copy link
Owner

@xela1 is right. I developed the code before the public API was published, and the public API has stopped working a couple of times, so the websocket is my preferred option. But they should in theory be feature-equivalent.

@garysargentpersonal
Copy link

Bit concerned about the rate limiting comments. I have 45 devices and 239 entities.

@astirling01
Copy link

Well that's me up and running on the public API and I can set temperatures. Will see if it's still stable in an hour or so :)

Impressive work chucking out a beta release in an hour or so!

@garysargentpersonal
Copy link

@bigbadblunt has always been super responsive. Great developer.

@bigbadblunt
Copy link
Owner

The public API should have been working all along, I just hadn't maintained it quite as well as I should have done...

@xela1
Copy link
Author

xela1 commented Apr 21, 2022

@bigbadblunt I'm also going to monitor the websocket on the web app, see if they've added anything like a keepalive call recently

@bigbadblunt
Copy link
Owner

bigbadblunt commented Apr 21, 2022

@xela1 brilliant, thank you. Reconnecting the websocket every [10] minutes will hopefully work, and I think I can get it down to minimal time to do so, but it still feels a bit kludgy, so if you can discover how the app is staying live, that would be super interesting.

@xela1
Copy link
Author

xela1 commented Apr 21, 2022

, so if you can discover how the app is staying live, that would be super interesting.

so the good (?) news is that their own web app seems to suffer from the same problem. I'll see if I can get a response from them tomorrow about it now I can relate it to their web app, not a potentially unsupported implementation

@gtothill
Copy link

gtothill commented Dec 10, 2022

Firstly can I say thanks a million for spending so much time developing this integration fro Lightwave. I had it up and running in no time. Forgive a question that is probably answered in the history of this thread but I was wondering if anyone ever determined why web sockets were being closed - causing HA to lose connectivity with LW devices? I’m behind a fairly complex firewall / UTM and so it may have something to do with that, but I can’t see that the native app is disconnecting. I’ve tried setting the Websocket refresh to various values and using the public api. The public api works in all other respects but also times out.
Being suspicious, I was wondering if the Lightwave server was dropping the socket after a given time specifically to prevent continual data gathering / real time monitoring given that they are now offering a subscription service to access that data.
Is anyone successfully using the integration to continually collect real time data from Lightwave, without disconnection? If so it may be a problem with my installation / network and I will start digging.
BTW - the symptoms I see are the same as others. Device data (especially consumption data) will stop being refreshed. I’ve noticed that devices seem to go off line when their consumption falls below a certain threshold or when the values don’t change for a while. After between 50 minutes and an hour none of my devices update. A restart of HA solves the problem briefly.
Regards and best wishes,

@astirling01
Copy link

astirling01 commented Dec 10, 2022 via email

@gtothill
Copy link

Thanks - that’s helpful as it looks like this is a local problem. I will go digging and see what I can find. Regards, Geoff.

@davidliamfranks
Copy link

Sorry if this is a stupid question, I have read all the issues and related issue that I can. I am not getting status updates for my lights in HA if controlled outside of HA. Is the work around to use the Public API tick box? And just restart HA? As I’m getting the same issue. I see comments that public api works but people just prefer the original method and implement automated restarts?

@jjl109
Copy link

jjl109 commented Jan 2, 2023

I switched to the public API and have found it perfectly reliable. However to use the public API and get status updates in HA your HA instance needs to be externally accessible over the Internet.

@therimmer96
Copy link

therimmer96 commented Jan 2, 2023 via email

@bigbadblunt
Copy link
Owner

Yes it needs to be externally accessible. There's no additional config needed, it will use your external HA url.

@davidliamfranks
Copy link

thanks. i am using the API but still not getting updates. I havent exposed HA directly to the internet, but I pay for HA Cloud which I thought would do the same as it has an external URL and I can use the app externally etc. I noticed that in the HA Cloud config there was an option to enable the webhook for lightwave2, so that is also enabled. Rightly or wrongly. Am I not on the right track?

@bigbadblunt
Copy link
Owner

thanks. i am using the API but still not getting updates. I havent exposed HA directly to the internet, but I pay for HA Cloud which I thought would do the same as it has an external URL and I can use the app externally etc. I noticed that in the HA Cloud config there was an option to enable the webhook for lightwave2, so that is also enabled. Rightly or wrongly. Am I not on the right track?

I'm not very familiar with HA Cloud, so we'll need to do some more debugging. Can you turn on full logging in the integration options. Then send me a logfile?

We're looking for the setup of the webhook:

2023-01-08 07:37:21.988 DEBUG (MainThread) [custom_components.lightwave2] Generated webhook: a2dd0025fbb7b5a99bc9dc84dab9aee54c1dbc67c8d4603dd23bada4538d6721 
2023-01-08 07:37:21.988 DEBUG (MainThread) [custom_components.lightwave2] Webhook URL: https://***.***.org/api/webhook/a2dd0025fbb7b5a99bc9dc84dab9aee54c1dbc67c8d4603dd23bada4538d6721 

And then something like the following when you do something externally (e.g. change state of a device in the app or using physical controls):

2023-01-08 07:58:42.380 DEBUG (MainThread) [custom_components.lightwave2] Received webhook: {'id': 'lightwave_webhook1', 'userId': 'acd89d19-083f-4e14-96ec-c4cf4cded223', 'triggerEvent': {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-28-3157334318+1'}, 'events': [{'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-28-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-29-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-30-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-72-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-37-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-38-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-39-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-40-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-41-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-80-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-81-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-82-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-53-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-54-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-78-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-103-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-104-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-105-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-106-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-107-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-108-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-109-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-110-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-111-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-112-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-113-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-114-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-115-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-116-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-117-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-118-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-119-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-120-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-121-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-122-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-1-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-2-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-3-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-4-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-5-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-6-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-7-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-8-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-9-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-10-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-11-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-12-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-13-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-14-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-15-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-69-3157334318+1'}, {'type': 'feature', 'id': '5bc4d06e87779374d29d7d9a-71-3157334318+1'}], 'payload': {'time': 1673164722297, 'featureId': '5bc4d06e87779374d29d7d9a-28-3157334318+1', 'deviceId': 3, 'type': 'switch', 'channel': 0, 'writable': True, 'stateless': False, 'virtual': False, 'value': 1, 'status': 'ok'}} 

@robcos
Copy link

robcos commented Jan 8, 2023

My instance is exposed to the internet and I see webhook messages when touching the physical controls however I see no lightwave2.click events. I do see them when using the local API. HA status IS updated.

2023-01-08 16:12:36.227 DEBUG (MainThread) [custom_components.lightwave2] Received webhook: {'id': 'lightwave_webhook3', 'userId': 'REDACTED', 'triggerEvent': {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-29-3157348997+1'}, 'events': [{'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-312-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-313-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-314-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-315-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1235-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1236-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1237-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1238-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1239-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1240-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-236-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-237-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-238-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-239-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-240-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-241-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-242-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-243-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-244-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-245-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-246-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-247-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-248-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1111-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1112-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1113-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1114-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1115-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1116-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1117-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1064-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1065-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1066-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1067-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1068-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1069-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1070-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1071-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1072-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1073-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1074-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1075-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1076-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1255-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1256-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1257-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1258-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1259-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1260-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1261-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1316-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1317-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1318-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1319-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1320-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1321-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1322-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1323-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1324-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1325-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1326-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1327-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1328-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1329-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1330-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1331-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1332-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1333-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1334-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1335-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1343-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1344-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1345-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1346-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1347-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1348-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1349-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1350-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1351-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1352-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1353-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1354-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1355-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1336-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1337-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1338-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1339-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1340-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1341-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1342-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1356-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1357-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1358-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1359-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1360-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1361-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1362-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1363-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1364-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1365-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1366-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1367-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1368-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-1-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-2-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-3-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-4-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-5-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-6-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-7-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-8-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-9-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-10-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-11-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-12-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-13-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-14-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-15-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-16-3157338104+1'}, {'type': 'feature', 'id': '5e3b0722c4268b7601ba2da7-17-3157338104+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-24-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-25-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-26-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-27-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-28-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-29-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-30-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-18-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-19-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-20-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-21-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-22-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-23-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-299-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-300-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-301-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-302-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-303-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-304-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-305-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-31-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-32-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-33-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-34-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-35-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-36-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-37-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-306-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-307-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-308-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-309-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-310-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-311-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-38-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-39-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-40-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-41-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-42-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-43-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-44-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-312-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-313-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-314-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-315-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-316-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-317-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-51-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-52-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-53-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-54-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-55-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-56-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-57-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-45-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-46-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-47-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-48-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-49-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-50-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-332-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-333-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-334-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-335-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-336-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-337-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-338-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-58-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-59-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-60-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-61-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-62-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-63-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-64-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-339-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-340-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-341-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-342-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-343-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-344-3157348997+1'}, {'type': 'feature', 'id': '5f4e7a036128780da048dcb9-65-3157348997+1'}], 'payload': {'time': 1673194356033, 'featureId': '5f4e7a036128780da048dcb9-29-3157348997+1', 'deviceId': 2, 'type': 'power', 'channel': 0, 'writable': False, 'stateless': False, 'virtual': False, 'value': 9, 'status': 'ok'}} 

@bigbadblunt
Copy link
Owner

@robcos Have you updated to the beta from this morning? This should fix the click events.

@robcos
Copy link

robcos commented Jan 8, 2023 via email

@ins4neuk
Copy link

I'm not sure if i'm doing something wrong or not understanding properly but i keep losing connection. have tried the refresh rates, public and none public api. and also have a reconnect every 6 hour as an automation. using the time automation with the hours set at "/6" which i believe is every 6 hours so 4 times a day but i still loose connection and app controls etc don't show in HA but anything i change in HA updates on the app as per other people seem to be saying.
i have a multitude of click events on various switches that are all working on the non public api but i think that has been rectified to now work on the public one.

any suggestions or something i can be doing to try and work out the issues with my instance?

@SamB-GB
Copy link

SamB-GB commented Jan 31, 2023

Hi,

So has this effectively gone from a local API to a Cloud API call to maintain a reliable connection?

@astirling01
Copy link

astirling01 commented Jan 31, 2023 via email

@ikb42
Copy link
Collaborator

ikb42 commented Apr 19, 2023

Hi, a long standing issue that could have caused events to not be sent after a period of time was recently identified and fixed on the Lightwave side.

@maa-x
Copy link

maa-x commented Apr 19, 2023

Hi, a long standing issue that could have caused events to not be sent after a period of time was recently identified and fixed on the Lightwave side.

Amazing! Where did you get that information from, is there a better resource than their blog to follow updates from them?

Do you also know what the issue was, out of curiosity?

@xela1
Copy link
Author

xela1 commented Apr 20, 2023

Hi, a long standing issue that could have caused events to not be sent after a period of time was recently identified and fixed on the Lightwave side.

I've had postman connected for 2.5 hours this morning and it's still receiving updates, looking good!

@ins4neuk
Copy link

Mine seems rock solid not had to do a reconnect i dont think since you made us aware.

@davidliamfranks
Copy link

davidliamfranks commented Apr 27, 2023 via email

@astirling01
Copy link

astirling01 commented Apr 27, 2023 via email

@ikb42
Copy link
Collaborator

ikb42 commented Jun 8, 2023

Could this be considered closed now?

@robcos
Copy link

robcos commented Jun 8, 2023 via email

@ins4neuk
Copy link

ins4neuk commented Jun 8, 2023

mines been stable to not had to intervene for ages if at all to get it working

@davidliamfranks
Copy link

davidliamfranks commented Jun 8, 2023 via email

@RS-Dog
Copy link

RS-Dog commented Jun 8, 2023

Mines been spot on ever since 🙂

@bigbadblunt
Copy link
Owner

Thanks all

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests