jtebbens / com.homewizard

Homewizard app for Homey
9 stars 7 forks source link

Homewizard connection stops working #24

Closed ricardovanlaarhoven closed 4 years ago

ricardovanlaarhoven commented 4 years ago

Hi all,

My homewizard connection stopped about a week ago. I’ve restarted the app inside homey. I’ve checked the homewizard and everything is working fine over there. The IP didn’t change (it’s static) Connecting to the homeiwzard api from a local script is working fine i've restarted homewizard, the router and homey

Is there a way to check the logs myself?

jtebbens commented 4 years ago

Yes you can download the code from github and run it in developer mode (manual). You can see the log in the cli window.

ricardovanlaarhoven commented 4 years ago

Will that remove my current homewizard app? And all the flows i use it in?

jtebbens commented 4 years ago

Sadly this is related to wifi connection issues. The homewizard wifi chip is know to problems when there are multiple connections done to it. Try to limit the amount of polling cycles / duration/delay. Also make sure sure your wifi is supporting legacy mode.

jtebbens commented 4 years ago

Will that remove my current homewizard app? And all the flows i use it in?

No it will keep your current flows and devices. I’ve developed newer versions and kept my flows and devices. Using Heatlink and Energylink. Only when I start messing around with the driver details itself it will require a new device pairing and hence loose your flows. Running the same version should not affect this.

ricardovanlaarhoven commented 4 years ago

I've changed my wifi 2.4ghz to legacy mode. And what do you mean by multiple connections? I almost never open the homewizard app itself anymore. I've not got that many calls to homewizard, at this moment i'm just checking it by updating the thermostat but that's giving a timeout after 30 seconds

jtebbens commented 4 years ago

I've changed my wifi 2.4ghz to legacy mode. And what do you mean by multiple connections? I almost never open the homewizard app itself anymore. I've not got that many calls to homewizard, at this moment i'm just checking it by updating the thermostat but that's giving a timeout after 30 seconds

Ok that should be fine. With multiple connections/sessions I mean scripts of domotica plugin that keep hammering Homewizard every 20 seconds.

ricardovanlaarhoven commented 4 years ago

Homey is the only thing talking to the homewizard atm I've uninstalled the homewizard apps because i don't need them anymore And i've not build any programs that talk to the homewizard.

I've just bought homey backup so i can start trying to run your homewizard app by myself But i can give you a log token perhaps you can give me the log?

Is it safe to post it here? (only you can use it right?)

jtebbens commented 4 years ago

We can try but the logfiles hardly show errors is my experience. Huge long list of polling attempts. I see them also with crash logs but the real problem or error doesnt show. I recon your wifi legacy mode will help with the stability of homewizard wifi.

ricardovanlaarhoven commented 4 years ago

I'm still receiving the 30000ms timeout and i'm seeing none temperature or energy link statussus in homey insights

efbe1e46-fdae-4bf4-a914-b02065036586

jtebbens commented 4 years ago

It seems to fail on heatlink update not sure why, that code hasnt been touched for 2 years.

/hl/0/settarget/20.5 Call deviceHW1593253130 Homewizard HW1593253130: settings not found!

ricardovanlaarhoven commented 4 years ago

In debug mode i'm seeing a lot of polling, every 10 seconds and one time the message Homewizard HW1593253130: settings not found! showed up

And when i changed my temperature this showed up:

/hl/0/settarget/5
Call deviceHW1593253130
Homewizard HW1593253130: settings not found!
Call deviceHW1593253352
ricardovanlaarhoven commented 4 years ago

Since i've got a backup i've deleted the heatlink from homey and added it again but that gave another error unknown_error

And in my cli

/hl/0/settarget/13
Call deviceHW1593253352
No response
jtebbens commented 4 years ago

Did you create the heatlink after you added homewizard? Did you remove the homewizard in homey? Heatlink has a setting relationship with heatlink. If that releationship in homey is lost (and thus settings) it will keep failing. Try to add another heatlink next to your existing one (different name) try again.

jtebbens commented 4 years ago

Since i've got a backup i've deleted the heatlink from homey and added it again but that gave another error unknown_error

And in my cli

/hl/0/settarget/13
Call deviceHW1593253352
No response

Try again, it needs a few minutes to update those settings in the new heatlink driver.

ricardovanlaarhoven commented 4 years ago

I've uninstalled everything from homewizard from the homey (all devices and the app). The energylink is working again but the heatlink isn't..

jtebbens commented 4 years ago

Does your homewizard quickly respond with OK/200 when you try this in your browser? http://x.x.x.x//hl/0/settarget/13

ricardovanlaarhoven commented 4 years ago

Within 90 ms

jtebbens commented 4 years ago

Ok thanks. Then we have to review the code to see where heatlink driver goes wrong or has such delay from the homey/homewizard app. Personally I havent faced this with my own heatlink setup. The only difference I can think off is the thermostat dialer (the big round dialre where you set the temp. Versus the card based set temperature which I use for setting pre defined values like away 15c. I think problem is with code that covers the dialer bit.

ricardovanlaarhoven commented 4 years ago

I'm an experienced javascript developer, only i don't have any experience with developing for homey. I just got one for about 3 weeks.

I'll try to learn some about the homey sdk and perhaps i'll figure it out and can create a PR

jtebbens commented 4 years ago

I am not so experienced with javascript but the syntax isnt that hard. Current code is still SDKv1 and needs to be changed to SDKv2 with promises which is a different world vs callbacks currently. As said the heatlink driver code is very old and hardly changed. The set temp card for heatlink is fine but the dialer is probably the issue (maybe the 0.5 temp values vs whole numbers, but not sure).

What you can start with is the example apps from homey developers page and create your own to see the basic Myapp it creates for you. This way you can play and understand how homey apps javascript works.

jtebbens commented 4 years ago

Issue should be improved now. New version (sdkv2) is released for testing (see Homey Store)