luc-ass / homebridge-evohome Goto Github PK
View Code? Open in Web Editor NEWHomebridge plugin for Honeywell Evohome
Homebridge plugin for Honeywell Evohome
I cloned your work to create an implementation for the Total Comfort Connect WebSite called homebridge-tcc and found a couple of issues with your periodicUpdate function.
1 - To update the status in home kit directly, you need to use this
service.getCharacteristic(Characteristic.CurrentTemperature)
.getValue();
And not setValue. This triggers the 'get' function
myAccessories[i].device = device;
before any of the update checking, as that object is used for the status update.
Hi
I seem to be having a problem with the mode options. I can select "Off" and then a zone is set to 5º but then I don't seem to be able to reset back to the schedule. Pressing any of "Heat", "Cool" or "Auto" shows the set temperature changing but then after a few seconds it goes back to being "Off".
Here is the relevant section from my Homebridge log. Hopefully you can shed some light on the problem.
Pressed "Off" mode
[1/1/2019, 9:36:53 PM] [Evohome] Heating is set off for Hall Thermostat (set to 5°)
[1/1/2019, 9:36:53 PM] [Evohome] { id: '291690434' }
Pressed "Auto" mode
[1/1/2019, 9:37:09 PM] [Evohome] Cancelled override for Hall Thermostat (set to follow schedule)
[1/1/2019, 9:37:09 PM] [Evohome] { id: '291690642' }
[1/1/2019, 9:37:23 PM] [Evohome] Updating: Hall currentTempChange from: 17.5 to: 18
[1/1/2019, 9:37:23 PM] [Evohome] Updating: Bathroom currentTempChange from: 18.5 to: 18
[1/1/2019, 9:37:40 PM] [Evohome] Current temperature of Hall Thermostat is 18°
[1/1/2019, 9:37:40 PM] [Evohome] Target temperature for Hall Thermostat is 5°
Thanks
Would it be possible to move the min and max setting for thermostats to config instead? I already set mine to a min of 10c on Evohome.
Hi,
Have you thought of an implementation of window open support? I believe it is not in the api, but perhaps one can simulate the same behavior by switching the heating on/off.
I tried this approach but while switching the heating off seems to work (target temperature to 5 instead of 15), switching it back on does not seems to work properly. When trying to switch it on in the homekit app, the temperature is set to 15 and Evohome does not seem to accept this setting and switch back off.
I would expect that switching it back on would resume the schedule, of even more pretty, go back to the latest stage.
Thanks!
Roy
Any Idea what might cause this error ?
Sep 26 10:08:57 homebridge homebridge[8079]: [2018-9-26 10:08:57] [Evohome] Evohome Failed: TypeError: Cannot read property 'temperatureControlSystems' of undefined
Sep 26 10:08:57 homebridge homebridge[8079]: at /usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:137:49
Sep 26 10:08:57 homebridge homebridge[8079]: at Function.map (/usr/local/lib/node_modules/homebridge-evohome/node_modules/lodash/dist/lodash.js:3509:27)
Sep 26 10:08:57 homebridge homebridge[8079]: at /usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:125:18
Sep 26 10:08:57 homebridge homebridge[8079]: at _fulfilled (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:787:54)
Sep 26 10:08:57 homebridge homebridge[8079]: at self.promiseDispatch.done (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:816:30)
Sep 26 10:08:57 homebridge homebridge[8079]: at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:749:13)
Sep 26 10:08:57 homebridge homebridge[8079]: at /usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:557:44
Sep 26 10:08:57 homebridge homebridge[8079]: at flush (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:108:17)
Sep 26 10:08:57 homebridge homebridge[8079]: at _combinedTickCallback (internal/process/next_tick.js:131:7)
Sep 26 10:08:57 homebridge homebridge[8079]: at process._tickCallback (internal/process/next_tick.js:180:9)
Hi there,
I've just set up a new HOOBS installation (v3.2.10) on a Raspberry Pi Model B Rev 2 and installed Homebridge-evohome. It's the only plugin on the system. Every time I try to login I get the following error:
Evohome Failed: TypeError: Cannot read property 'temperatureControlSystems' of undefined at /home/hoobs/.hoobs/node_modules/homebridge-evohome/lib/evohome.js:137:49 at arrayMap (/home/hoobs/.hoobs/node_modules/lodash/lodash.js:639:23) at Function.map (/home/hoobs/.hoobs/node_modules/lodash/lodash.js:9580:14) at /home/hoobs/.hoobs/node_modules/homebridge-evohome/lib/evohome.js:125:18 at _fulfilled (/home/hoobs/.hoobs/node_modules/q/q.js:787:54) at /home/hoobs/.hoobs/node_modules/q/q.js:816:30 at Promise.promise.promiseDispatch (/home/hoobs/.hoobs/node_modules/q/q.js:749:13) at /home/hoobs/.hoobs/node_modules/q/q.js:557:44 at flush (/home/hoobs/.hoobs/node_modules/q/q.js:108:17) at processTicksAndRejections (internal/process/task_queues.js:79:11)
This is often accompanied by:
Error: listen EADDRINUSE: address already in use :::51826 at Server.setupListenHandle [as _listen2] (net.js:1317:16) at listenInCluster (net.js:1365:12) at Server.listen (net.js:1451:7) at EventedHTTPServer._this.listen (/usr/local/lib/node_modules/@hoobs/hoobs/node_modules/hap-nodejs/dist/lib/util/eventedhttp.js:100:30) at HAPServer._this.listen (/usr/local/lib/node_modules/@hoobs/hoobs/node_modules/hap-nodejs/dist/lib/HAPServer.js:201:31) at Bridge.Accessory._this.publish (/usr/local/lib/node_modules/@hoobs/hoobs/node_modules/hap-nodejs/dist/lib/Accessory.js:575:27) at Server.publishBridge (/usr/local/lib/node_modules/@hoobs/hoobs/bridge/server.js:193:21) at /usr/local/lib/node_modules/@hoobs/hoobs/bridge/server.js:162:53 at processTicksAndRejections (internal/process/task_queues.js:97:5) at async Server.start (/usr/local/lib/node_modules/@hoobs/hoobs/bridge/server.js:162:9) 12/11/2020, 18:41:50 Got SIGTERM, shutting down Bridge...
Any idea how I can fix this? Thank you!
Dear developer - I installed latest Version but always get the same error notification:
„[Evohome] Error during Login: invalid_grant“
I don‘t know how to fix this - any ideas?
Thank you so much!
Environment:
Raspbian GNU/Linux Buster (10)
raspberrypi
Node v12.16.2
Npm v6.14.4
Hey,
Just wondering if you could make this plugin to work with honeywell home(lyric) thermostats. I don’t know how to code that well, and I know that Honeywell has a website for their Honeywell Home api (https://developer.honeywell.com/). Just wondering if you could make this support their other thermostats too?
For some reason the homebridge-evohome is not loading at all in my environment.
eDomoticz and Netatmo plugin are working fine without any issue.
Running RPi2 with Raspbian
node -v v4.5.0
npm -v 2.15.9
SyntaxError: Unexpected string
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object. (/usr/lib/node_modules/homebridge-evohome/node_modules/request/request.js:8:10)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
I have had a suspicion that homebridge-evohome has been cause to the Homekit app (iOS 12.1.3) losing connection to Homebridge. So I have created a separate Homebridge as a docker container on Synology. I run homebridge-evohome as the only plugin, so to be able to isolate any issues.
I can add the Homebridge instance to Homekit using the app and assign the thermostats and modes to rooms and change the accessory names. However, the first temperature update that occurs will cause Homekit to lose the Homebridge instance. Here is the debug log that captures what occurred at this time:
[1/29/2019, 9:07:33 PM] [Evohome] Updating: Room #1 currentTempChange from: 20.5 to: 21
[1/29/2019, 9:07:33 PM] [Evohome] First entry Room #1 Thermostat: 0
[1/29/2019, 9:07:33 PM] [Evohome] Last entry Room #1 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] Used memory Room #1 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] 116 Room #1 Thermostat: ab090000000000005ae0002205 0102 1102 1001 1201 1d010a00c00f00000000000000000101
[1/29/2019, 9:07:33 PM] [Evohome] ** Fakegato-storage write FS file: /homebridge/homebridge-evohome_Room #1 Thermostat_persist.json "firstEntry":0,"lastEntry":9,"usedMemory":9,"refTime":570482778,"initialTime":15
[1/29/2019, 9:07:33 PM] [Evohome] First entry Room #6 Thermostat: 0
[1/29/2019, 9:07:33 PM] [Evohome] Last entry Room #6 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] Used memory Room #6 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] 116 Room #6 Thermostat: ab090000000000005ae0002205 0102 1102 1001 1201 1d010a00c00f00000000000000000101
[1/29/2019, 9:07:33 PM] [Evohome] First entry Room #4 Thermostat: 0
[1/29/2019, 9:07:33 PM] [Evohome] Last entry Room #4 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] Used memory Room #4 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] 116 Room #4 Thermostat: ab090000000000005ae0002205 0102 1102 1001 1201 1d010a00c00f00000000000000000101
[1/29/2019, 9:07:33 PM] [Evohome] First entry Room #9 Thermostat: 0
[1/29/2019, 9:07:33 PM] [Evohome] Last entry Room #9 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] Used memory Room #9 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] 116 Room #9 Thermostat: ab090000000000005ae0002205 0102 1102 1001 1201 1d010a00c00f00000000000000000101
[1/29/2019, 9:07:33 PM] [Evohome] First entry Room #8 Thermostat: 0
[1/29/2019, 9:07:33 PM] [Evohome] Last entry Room #8 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] Used memory Room #8 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] 116 Room #8 Thermostat: ab090000000000005ae0002205 0102 1102 1001 1201 1d010a00c00f00000000000000000101
[1/29/2019, 9:07:33 PM] [Evohome] First entry Room #7 Thermostat: 0
[1/29/2019, 9:07:33 PM] [Evohome] Last entry Room #7 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] Used memory Room #7 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] 116 Room #7 Thermostat: ab090000000000005ae0002205 0102 1102 1001 1201 1d010a00c00f00000000000000000101
[1/29/2019, 9:07:33 PM] [Evohome] First entry Room #3 Thermostat: 0
[1/29/2019, 9:07:33 PM] [Evohome] Last entry Room #3 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] Used memory Room #3 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] 116 Room #3 Thermostat: ab090000000000005ae0002205 0102 1102 1001 1201 1d010a00c00f00000000000000000101
[1/29/2019, 9:07:33 PM] [Evohome] First entry Room #10 Thermostat: 0
[1/29/2019, 9:07:33 PM] [Evohome] Last entry Room #10 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] Used memory Room #10 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] 116 Room #10 Thermostat: ab090000000000005ae0002205 0102 1102 1001 1201 1d010a00c00f00000000000000000101
[1/29/2019, 9:07:33 PM] [Evohome] First entry Room #5 Thermostat: 0
[1/29/2019, 9:07:33 PM] [Evohome] Last entry Room #5 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] Used memory Room #5 Thermostat: 9
[1/29/2019, 9:07:33 PM] [Evohome] 116 Room #5 Thermostat: ab090000000000005ae0002205 0102 1102 1001 1201 1d010a00c00f00000000000000000101
[1/29/2019, 9:07:33 PM] [Evohome] ** Fakegato-storage write FS file: /homebridge/homebridge-evohome_Room #6 Thermostat_persist.json "firstEntry":0,"lastEntry":9,"usedMemory":9,"refTime":570482778,"initialTime":15
[1/29/2019, 9:07:33 PM] [Evohome] ** Fakegato-storage write FS file: /homebridge/homebridge-evohome_Room #4 Thermostat_persist.json "firstEntry":0,"lastEntry":9,"usedMemory":9,"refTime":570482778,"initialTime":15
[1/29/2019, 9:07:33 PM] [Evohome] ** Fakegato-storage write FS file: /homebridge/homebridge-evohome_Room #9 Thermostat_persist.json "firstEntry":0,"lastEntry":9,"usedMemory":9,"refTime":570482778,"initialTime":15
[1/29/2019, 9:07:33 PM] [Evohome] ** Fakegato-storage write FS file: /homebridge/homebridge-evohome_Room #8 Thermostat_persist.json "firstEntry":0,"lastEntry":9,"usedMemory":9,"refTime":570482778,"initialTime":15
[1/29/2019, 9:07:33 PM] [Evohome] ** Fakegato-storage write FS file: /homebridge/homebridge-evohome_Room #7 Thermostat_persist.json "firstEntry":0,"lastEntry":9,"usedMemory":9,"refTime":570482778,"initialTime":15
[1/29/2019, 9:07:33 PM] [Evohome] ** Fakegato-storage write FS file: /homebridge/homebridge-evohome_Room #3 Thermostat_persist.json "firstEntry":0,"lastEntry":9,"usedMemory":9,"refTime":570482778,"initialTime":15
[1/29/2019, 9:07:33 PM] [Evohome] ** Fakegato-storage write FS file: /homebridge/homebridge-evohome_Room #10 Thermostat_persist.json "firstEntry":0,"lastEntry":9,"usedMemory":9,"refTime":570482778,"initialTime":15
[1/29/2019, 9:07:33 PM] [Evohome] ** Fakegato-storage write FS file: /homebridge/homebridge-evohome_Room #5 Thermostat_persist.json "firstEntry":0,"lastEntry":9,"usedMemory":9,"refTime":570482778,"initialTime":15
I am able to reproduce this behavior. Please can someone point me in the right direction for further investigation? Many thanks in advance.
Hello people,
I start this thread to let you know maintenance of this plugin will be minimal in the future. I will soon move to a new home having underfloor heating and I will not be able to take my evohome with me. I might pick this up in the future but for the time being i sincerely hope, that manufacturers get their heads around HomeKit faster than I expect.
If there is someone out there who wants to take care about this plugin, I will be grateful to transfer the plugin or give admin access. I will be happy to assist if anything can be solved by me.
Regards, Lucas
Hi,
I've seen some progress to the schedule support in fakegato:
https://github.com/simont77/fakegato-history/issues/40
I would be great if someone could give it a try to apply it to this plugin. I would try it myself, but am not sure when I can find the time. Perhaps someone else completes this challenge ;)
Thanks!
Roy
Hi,
started getting this error out of the blue:
[4/24/2020, 10:44:13 AM] [Evohome] Error during Login: SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse ()
at Request._callback (/homebridge/node_modules/homebridge-evohome/lib/evohome.js:289:29)
at Request.self.callback (/homebridge/node_modules/homebridge-evohome/node_modules/request/request.js:185:22)
at Request.emit (events.js:223:5)
at Request. (/homebridge/node_modules/homebridge-evohome/node_modules/request/request.js:1154:10)
at Request.emit (events.js:223:5)
at IncomingMessage. (/homebridge/node_modules/homebridge-evohome/node_modules/request/request.js:1076:12)
at Object.onceWrapper (events.js:312:28)
at IncomingMessage.emit (events.js:228:7)
at endReadableNT (_stream_readable.js:1185:12)
at processTicksAndRejections (internal/process/task_queues.js:81:21)
I checked my JSON confg file - all is good and nothing has changes, There are no erroneous "<" symbols, and my user ID and password is still there and still valid, Rebooting and restarting has no effect.
Thanks for any assistance you can provide.
cheers
When changing the temperature too quick, Honewell's server does reject the request.
You get messages like this:
[2018-1-11 08:09:01] [Evohome] Evohome Failed: TypeError: Cannot read property 'userID' of undefined
at new UserInfo (/usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:6:24)
at new Session (/usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:26:18)
at /usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:194:11
at _fulfilled (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:787:54)
at self.promiseDispatch.done (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:749:13)
at /usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:557:44
at flush (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:108:17)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
Idea for fix: Introduce some kind of communication intervals / delay to avoid server rejections.
I believe to reduce the communications to 2-3 sec. steps would already help. Because when changing the temperature slowly in the GUI (e.g. in Elgato EVE), the server does accept the temperature changes.
After updating homebridge and homebridge-evohome:
[jeroen@pine ~]$ sudo npm install -g homebridge
[sudo] wachtwoord voor jeroen:
/usr/bin/homebridge -> /usr/lib/node_modules/homebridge/bin/homebridge
/usr/lib
└── [email protected]
[jeroen@pine ~]$ sudo npm install -g homebridge-evohome
/usr/lib
└── [email protected]
And starting
[jeroen@pine ~]$ sudo systemctl restart homebridge
It eventually fails, with this in /var/log/messages:
Jan 29 21:30:22 pine homebridge: [1/29/2020, 9:30:22 PM] Homebridge is running on port 51826.
Jan 29 21:30:24 pine homebridge: [1/29/2020, 9:30:24 PM] TypeError: "list" argument must be an Array of Buffers
Jan 29 21:30:24 pine homebridge: at Function.Buffer.concat (buffer.js:314:13)
Jan 29 21:30:24 pine homebridge: at Object.encode (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:26:35)
Jan 29 21:30:24 pine homebridge: at Object.encode (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:51:39)
Jan 29 21:30:24 pine homebridge: at HAPServer._handlePairVerifyStepOne (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:543:21)
Jan 29 21:30:24 pine homebridge: at HAPServer._handlePairVerify (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:505:10)
Jan 29 21:30:24 pine homebridge: at HAPServer. (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:209:39)
Jan 29 21:30:24 pine homebridge: at emitNone (events.js:86:13)
Jan 29 21:30:24 pine homebridge: at IncomingMessage.emit (events.js:185:7)
Jan 29 21:30:24 pine homebridge: at endReadableNT (_stream_readable.js:978:12)
Jan 29 21:30:24 pine homebridge: at _combinedTickCallback (internal/process/next_tick.js:80:11)
Jan 29 21:30:24 pine homebridge: [1/29/2020, 9:30:24 PM] Got SIGTERM, shutting down Homebridge...
Jan 29 21:30:24 pine homebridge: [1/29/2020, 9:30:24 PM] TypeError: "list" argument must be an Array of Buffers
Jan 29 21:30:24 pine homebridge: at Function.Buffer.concat (buffer.js:314:13)
Jan 29 21:30:24 pine homebridge: at Object.encode (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:26:35)
Jan 29 21:30:24 pine homebridge: at Object.encode (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:51:39)
Jan 29 21:30:24 pine homebridge: at HAPServer._handlePairVerifyStepOne (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:543:21)
Jan 29 21:30:24 pine homebridge: at HAPServer._handlePairVerify (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:505:10)
Jan 29 21:30:24 pine homebridge: at HAPServer. (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:209:39)
Jan 29 21:30:24 pine homebridge: at emitNone (events.js:86:13)
Jan 29 21:30:24 pine homebridge: at IncomingMessage.emit (events.js:185:7)
Jan 29 21:30:24 pine homebridge: at endReadableNT (_stream_readable.js:978:12)
Jan 29 21:30:24 pine homebridge: at _combinedTickCallback (internal/process/next_tick.js:80:11)
Jan 29 21:30:24 pine homebridge: [1/29/2020, 9:30:24 PM] TypeError: "list" argument must be an Array of Buffers
Jan 29 21:30:24 pine homebridge: at Function.Buffer.concat (buffer.js:314:13)
Jan 29 21:30:24 pine homebridge: at Object.encode (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:26:35)
Jan 29 21:30:24 pine homebridge: at Object.encode (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:51:39)
Jan 29 21:30:24 pine homebridge: at HAPServer._handlePairVerifyStepOne (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:543:21)
Jan 29 21:30:24 pine homebridge: at HAPServer._handlePairVerify (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:505:10)
Jan 29 21:30:24 pine homebridge: at HAPServer. (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:209:39)
Jan 29 21:30:24 pine homebridge: at emitNone (events.js:86:13)
Jan 29 21:30:24 pine homebridge: at IncomingMessage.emit (events.js:185:7)
Jan 29 21:30:24 pine homebridge: at endReadableNT (_stream_readable.js:978:12)
Jan 29 21:30:24 pine homebridge: at _combinedTickCallback (internal/process/next_tick.js:80:11)
Jan 29 21:30:24 pine homebridge: [1/29/2020, 9:30:24 PM] TypeError: "list" argument must be an Array of Buffers
Jan 29 21:30:24 pine homebridge: at Function.Buffer.concat (buffer.js:314:13)
Jan 29 21:30:24 pine homebridge: at Object.encode (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:26:35)
Jan 29 21:30:24 pine homebridge: at Object.encode (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:51:39)
Jan 29 21:30:24 pine homebridge: at HAPServer._handlePairVerifyStepOne (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:543:21)
Jan 29 21:30:24 pine homebridge: at HAPServer._handlePairVerify (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:505:10)
Jan 29 21:30:24 pine homebridge: at HAPServer. (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:209:39)
Jan 29 21:30:24 pine homebridge: at emitNone (events.js:86:13)
Jan 29 21:30:24 pine homebridge: at IncomingMessage.emit (events.js:185:7)
Jan 29 21:30:24 pine homebridge: at endReadableNT (_stream_readable.js:978:12)
Jan 29 21:30:24 pine homebridge: at _combinedTickCallback (internal/process/next_tick.js:80:11)
Jan 29 21:30:25 pine homebridge: [1/29/2020, 9:30:25 PM] TypeError: "list" argument must be an Array of Buffers
Jan 29 21:30:25 pine homebridge: at Function.Buffer.concat (buffer.js:314:13)
Jan 29 21:30:25 pine homebridge: at Object.encode (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:26:35)
Jan 29 21:30:25 pine homebridge: at Object.encode (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:51:39)
Jan 29 21:30:25 pine homebridge: at HAPServer._handlePairVerifyStepOne (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:543:21)
Jan 29 21:30:25 pine homebridge: at HAPServer._handlePairVerify (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:505:10)
Jan 29 21:30:25 pine homebridge: at HAPServer. (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:209:39)
Jan 29 21:30:25 pine homebridge: at emitNone (events.js:86:13)
Jan 29 21:30:25 pine homebridge: at IncomingMessage.emit (events.js:185:7)
Jan 29 21:30:25 pine homebridge: at endReadableNT (_stream_readable.js:978:12)
Jan 29 21:30:25 pine homebridge: at _combinedTickCallback (internal/process/next_tick.js:80:11)
Jan 29 21:30:29 pine systemd: homebridge.service: main process exited, code=exited, status=143/n/a
Jan 29 21:30:29 pine systemd: Unit homebridge.service entered failed state.
Jan 29 21:30:29 pine systemd: homebridge.service failed.
Nodejs is version: nodejs-6.17.1-1.el7.aarch64
Is this a homebridge or a homebridge-evohome issue?
I have a evohome system and it works great in HomeKit with this plugin now! Thanks for the add that it sets temps to next time schedule! Now it works even greater!
I als use a Honeywell round connected for the zones Where I have floor heating. This also works in the same account with a different location. Now with the possibility of multiple locations I can make it show the scenes as away, eco, ..... but it not shows the thermostat (round connected) any option that I can let this work? If not can you look if there is a possibility you can make an add?
It would help me a lot.
Using hoobs bridge, integrated into IOS home app, when changing temperature on any evohome thermostat, the temperature is changed only temporarily (although the previous temperature was set as permanent). It basically create some time schedule, which cannot be changed or viewed anywhere in the hoobs nor home app, only in the original Honeywell home app. Thanx
Hi,
I ran into a situation where at first I didn't know what was happening.
My logfile was full of error messages as you can read further in this post.
Luckily I still have the honeywell home app on my iphone so I found out that they are doing some maintenance. (looks unschedueled to me).
My thermostat in the home app is gone and my automations for temperature are partly deleted.
The silly messages I got were:
27-1-2021 14:31:11 [MYNAME] Error during Login: SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse ()
at Request._callback (/home/hoobs/.hoobs/node_modules/homebridge-evohome/lib/evohome.js:356:23)
at Request.self.callback (/home/hoobs/.hoobs/node_modules/request/request.js:185:22)
at Request.emit (events.js:315:20)
at Request. (/home/hoobs/.hoobs/node_modules/request/request.js:1154:10)
at Request.emit (events.js:315:20)
at IncomingMessage. (/home/hoobs/.hoobs/node_modules/request/request.js:1076:12)
at Object.onceWrapper (events.js:421:28)
at IncomingMessage.emit (events.js:327:22)
at endReadableNT (_stream_readable.js:1327:12)
at processTicksAndRejections (internal/process/task_queues.js:80:21)
First : thanks for the new update. Using the programs is very good enhancement. I have installed the latest version and everything is working 8n the Eve app on the iPhone. But on the iPad I see the following error: homekit reported a missing entitlement
The iPhone app of eve show the temperature graphs and shows no errors. The iPad reports the error and does not show the temperature graph.
Both are on the latest version of iOS 11.
Hi,
I've installe Homebridge and your plugin today on a RPI 3 and somehow one change is skipped if I change the temperature. All times are correct touch, and timezone is in sync.
[2020-10-21 0:51:05] [Evohome] Request to set target temperature to 15
[2020-10-21 0:51:09] [Evohome] The current time is 0:51:09
[2020-10-21 0:51:09] [Evohome] Schedule points for today (Wednesday)
[2020-10-21 0:51:09] [Evohome] - 07:30:00
[2020-10-21 0:51:09] [Evohome] - 16:30:00 -> next change
[2020-10-21 0:51:09] [Evohome] - 23:30:00
[2020-10-21 0:51:09] [Evohome] Setting target temperature for Woonkamer Thermostat to 15° until 16:30:00
[2020-10-21 0:51:11] [Evohome] Successfully changed temperature!
Do you have any idea how I can solve this?
Why is it that the accessory in the home application shows the temperature only 26 degrees? In reality, there are 27 degrees in the room and the evohome app shows this well.
Hi,
Thanks for making this plugin. I just received a crash with the following log. For now I'll just post it as an issue, perhaps I can try to solve it later and issue a PR.
SyntaxError: Unexpected token T in JSON at position 0
at Object.parse (native)
at Request._callback (/usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:181:26)
at Request.self.callback (/usr/local/lib/node_modules/homebridge-evohome/node_modules/request/request.js:121:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request. (/usr/local/lib/node_modules/homebridge-evohome/node_modules/request/request.js:978:14)
at emitOne (events.js:101:20)
at Request.emit (events.js:188:7)
at IncomingMessage. (/usr/local/lib/node_modules/homebridge-evohome/node_modules/request/request.js:929:12)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
Hi there,
I've installed the plugin and it loads up and connects to my account correctly, finding the device and the correct temperature.
However no accessory tile is created in either Homebridge, the home app or eve.
The optional switches are still created, although i haven't tried to see if they are functional.
When i first tried to install there was an error regarding an existing UUID file, which i had to manually delete to get the plugin to install, this file however has been created again when the plugin has installed. (likely left over from a previous install of this plug in a few years ago).
Thanks,
Hey guys,
until now the plugin can only read temperatures. This is cool but my log-term plan was to make it Change values. I use the node-homebridge to read the vales but am not sure wether it can also write values. If any of you can help extending the functionality I would be so happy ;)
any other ideas?
Hey @zizzex,
just saw, that the plugin doesn't cause a problem when setting the temperature (the base station even reflects that the phone changed something - which is then persistent) but the temperature is not changed. Have you noticed something similar?
First of all, thanks for this great homebridge plugin 🙏.
I have a timing issue, I think this is related to #20, when I set the temperature from homekit I see this in my logs:
As you can see it is scheduled until 17:00 which is correct, but when I open my honeywell app on my iPhone I see that it's actually scheduled until 18:00. I live in the Netherlands (CEST).
Anyone knows how to fix this?
Got this working on my Pi 3 with Homebridge. All the debug info suggests it's connecting to the EvoHome service fine.
However, when I try and connect to the Pi from the Elgato Eve iPhone app, Homebridge crashes:
/usr/local/lib/node_modules/homebridge-evohome/index.js:238
var targetTemperature = this.device.thermostat.changeableValues.heatSetpoint['value'];
^
TypeError: Cannot read property 'value' of undefined
at Object.EvohomeThermostatAccessory.getTargetTemperature (/usr/local/lib/node_modules/homebridge-evohome/index.js:238:79)
at emitTwo (events.js:100:13)
at emit (events.js:185:7)
at Characteristic.getValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Characteristic.js:120:10)
at Bridge. (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:604:20)
at Array.forEach (native)
at Bridge.Accessory._handleGetCharacteristics (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:568:8)
at emitThree (events.js:110:13)
at HAPServer.emit (events.js:188:7)
at HAPServer._handleCharacteristics (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:914:10)
I don't understand enough about the code to help out, but thought I'd post the issue here.
Homebridge was stable with the only other registered platform.
Just installed the LTS. I notice that when setting a new temperature the plugin is using the wrong time.
[5/3/2020, 9:39:37 AM] [Evohome] The current time is 08:39:37
Now the plugin is losing track with the schedule. Checked home app and that has the right timezone.
I see it's in your road map to change temperature until next scheduled event, the current 10 minutes is a little low, is it straight forward enough to change the time from 10 minutes to 60 minutes?
I've been looking for a way to "boost" the heating for just an hour and I've never been able to do it. Instead, whenever I set the heating temperature change from the schedule, I either have to remember to change it back after an hour or just leave it so that it resets on the next update.
is the current 10 minute setting in the code somewhere that I could change to 60 please?
Thanks for your work, so far this implementation works great for me :)
Is the latest merge going to be published in npm?
Hi,
I have installed the latest version of the plugin. Great improvement!
The only issue I have is that no entries appear in the measurements and therefor the graph is not showing anything. How can I fix this?
Hi
I've just set up a raspberry pi running home bridge and added your plugin. Thanks for all the hard work, it's working great. Just wondered if you have got anywhere with implementing support for quick actions?
Hey there,
just noticed that changing temperature via Siri results in a temperature change until 00:00:00. So far so good. Seems like this is intended behavior. I double checked on my evohome-controller and noticed, that the next change event was set to 01:00:00 the next day. Could this be because the server "thinks" in GMT? As I live in Germany this would make complete sense.
Thanks.
I have been successfully using this plugin with homekit for a while now. Great work on creating this fantastic plugin. However, over the last few months, usually triggered by a reboot of my homebridge, Apple Home forgets all room allocations and updated names of my evohome items - thermostats and evohome mode switches - everything ends up in their default settings, and also dropps out of scenes. It is almost like (and I assume here) that homebridge is forgetting/not caching the old device ids, and issuing new ones which are effectively new to Apple Home, and it treats them as new devices.
I am on the latest version of everything, and am running on Raspberry Pi platform.
Is anyone else struggling with this problem? Is there a resolution through configuration? Or is this a bug?
Thanks for your help,
Chris
Is there any way within the homebridge-evohome plugin to pull multiple locations from Honeywells' servers? e.g. in the config.json file passing "location" =
Unfortunately I have more than 12 zones so had to setup two locations. The devices in the first location are being pulled and I do get a message saying "You have 2 location(s). Only the first one will be used!"
thanks
The first "platform" in the sample config should read "platforms" with an s. I just copied and pasted this to my config file and it took me a while to realize the missing s was the reason for the platform not being registered.
When I look at other thermostat (i.e. Tado) I notice that the tiles are using colors. This plugin works but the tile is always gray and the temperature is not showing any color.
Any idea how I can use these colors in this plugin?
I've just installed homebridge and homebridge-evohome on my mac and created config.json.
when invoking home bridge i get the following error, could you possibly advise what I've omitted to do?
[11/24/2016, 1:14:55 PM] Loading 1 platforms...
[11/24/2016, 1:14:55 PM] [Evohome] Initializing Evohome platform...
[11/24/2016, 1:14:55 PM] [Evohome] Logging into Evohome...
[11/24/2016, 1:14:55 PM] [Evohome] Error during Login: TypeError: Cannot read property 'userID' of undefined
at new UserInfo (/usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:6:23)
at new Session (/usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:26:18)
at /usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:190:11
at _fulfilled (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:787:54)
at self.promiseDispatch.done (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:749:13)
at /usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:557:44
at flush (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:108:17)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
Hi there,
I've been trying to get the evohome plugin running and i've come across a couple of issues.
I'll start with the good bit, which is that the plugin loads up, finds my device and then finds the correct current temperature of the thermostat.
Here's where i start having a problem.
In homekit 5 accessories are created as switches for the modes (Away, Custom, Heating Off, Day Off, Auto with Eco) but no thermostat accessory is created.
The logs are saying : "system mode away is false" , which is then repeated for the other 4 options.
if you try and press one of the switches in home kit i get: " Evohome failed: message "an error has occured"
any idea's where it's failing?
I'm running:
homebridge version 0.4.49 on a Raspberry Pi 3B+
version 0.6.1 of the evohome plugin
Thermostat model: RTH9580WF1005GG
Software Rev: 03.02.00.00
Config Rev: 04.00
Radio Rev: 05.02.07.10
Date Code:1323
Homebridge Config (syntax correct on RPi):
Platform: evohome
Name: Heater
Username :xxxxxxxx
Password: xxxxxxxxx
TemperatureUnit" Celsius
LocationIndex: 0
I'm based in Australia with the correct date and time on both the RPi and the thermostat.
Control via the honeywell Home app works correctly.
Just installed on my NAS and loaded ok but doesn’t seem to link to my homekit. Hombridge is there but the evohome plug-in is not visible? Have I missed something?
I’m still investigating but i think that the problem is slightly different.
If I change the setting to 18.0 then after a minute the honywell app jumps back to 21.0 ! At that moment the home and eve app both say that the setpoint is 18.0 ?!?!
For some reason the app automatically jumps back to 21.0 but there is no schedule in the honeywell app anymore.
I do see something strange in the log. Does your plugin send a “until” command without info? Is that the reason that the temperature is only set for 1 minute??
Originally posted by @Maykel1969 in #39 (comment)
Hi, I have 6 rooms setup in my Evohome system. All 6 rooms are shown in the HomeKit app.
Unfortunately only 2 (' Woonkamer' and ' Badkamer kids' ) of them seems to work. 4 of them show are not responding.
On the raspberry Pi I can see that all 6 rooms are read:
[12/19/2016, 9:44:39 AM] [Evohome] Current temperature of Speelkamer Thermostat is 12.55°
[12/19/2016, 9:44:39 AM] [Evohome] getCurrentHeatingCooling
[12/19/2016, 9:44:39 AM] [Evohome] Temperature unit for Speelkamer Thermostat is set to Celsius
[12/19/2016, 9:44:39 AM] [Evohome] Device type is: EMEA_ZONE. Target temperature should be there.
[12/19/2016, 9:44:39 AM] [Evohome] Target temperature for Speelkamer Thermostat is 5°
[12/19/2016, 9:44:39 AM] [Evohome] getCurrentHeatingCooling
[12/19/2016, 9:44:39 AM] [Evohome] Current temperature of Charlotte Thermostat is 11.13°
[12/19/2016, 9:44:39 AM] [Evohome] Temperature unit for Charlotte Thermostat is set to Celsius
[12/19/2016, 9:44:39 AM] [Evohome] Device type is: EMEA_ZONE. Target temperature should be there.
[12/19/2016, 9:44:39 AM] [Evohome] Target temperature for Charlotte Thermostat is 5°
[12/19/2016, 9:44:39 AM] [Evohome] Temperature unit for Badkamer kids Thermostat is set to Celsius
[12/19/2016, 9:44:39 AM] [Evohome] Device type is: EMEA_ZONE. Target temperature should be there.
[12/19/2016, 9:44:39 AM] [Evohome] Target temperature for Badkamer kids Thermostat is 10°
[12/19/2016, 9:44:39 AM] [Evohome] Current temperature of Badkamer kids Thermostat is 13.63°
[12/19/2016, 9:44:39 AM] [Evohome] getCurrentHeatingCooling
[12/19/2016, 9:44:39 AM] [Evohome] Temperature unit for Woonkamer Thermostat is set to Celsius
[12/19/2016, 9:44:39 AM] [Evohome] Device type is: EMEA_ZONE. Target temperature should be there.
[12/19/2016, 9:44:39 AM] [Evohome] Target temperature for Woonkamer Thermostat is 21°
[12/19/2016, 9:44:39 AM] [Evohome] Current temperature of Woonkamer Thermostat is 20.29°
[12/19/2016, 9:44:39 AM] [Evohome] getCurrentHeatingCooling
[12/19/2016, 9:44:39 AM] [Evohome] Current temperature of Badkamer Thermostat is 14.09°
[12/19/2016, 9:44:39 AM] [Evohome] getCurrentHeatingCooling
[12/19/2016, 9:44:39 AM] [Evohome] Temperature unit for Badkamer Thermostat is set to Celsius
[12/19/2016, 9:44:39 AM] [Evohome] Device type is: EMEA_ZONE. Target temperature should be there.
[12/19/2016, 9:44:39 AM] [Evohome] Target temperature for Badkamer Thermostat is 5°
[12/19/2016, 9:44:39 AM] [Evohome] Temperature unit for Sophie Thermostat is set to Celsius
[12/19/2016, 9:44:39 AM] [Evohome] Device type is: EMEA_ZONE. Target temperature should be there.
[12/19/2016, 9:44:39 AM] [Evohome] Target temperature for Sophie Thermostat is 5°
[12/19/2016, 9:44:40 AM] [Evohome] Current temperature of Sophie Thermostat is 11.42°
[12/19/2016, 9:44:40 AM] [Evohome] getCurrentHeatingCooling
Any ideas?
Just today - the evohome plug in constantly updating - the log on Homebridge is constantly scrolling with updated temperatures from the various thermostats. Any ideas? Thanks
Hi,
thanks for that great plugin but since the last update (0.4.0) I get the following error. Homebridge with evohome is not working anymore...
2018-2-3 18:28:00] [Evohome] Evohome Failed: TypeError: Cannot read property 'locationId' of undefined
at /usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:125:53
at Function.map (/usr/local/lib/node_modules/homebridge-evohome/node_modules/lodash/dist/lodash.js:3509:27)
at /usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:122:18
at _fulfilled (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:787:54)
at self.promiseDispatch.done (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:749:13)
at /usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:557:44
at flush (/usr/local/lib/node_modules/homebridge-evohome/node_modules/q/q.js:108:17)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
plugin has a problem with node 10.4.1 (which i had to upgrade because of an another plugin).
at process._tickCallback (internal/process/next_tick.js:63:19)
at endReadableNT (_stream_readable.js:1081:12)
at IncomingMessage.emit (events.js:187:15)
at IncomingMessage. (/usr/local/lib/node_modules/homebridge-evohome/node_modules/request/request.js:929:12)
at Request.emit (events.js:187:15)
at Request. (/usr/local/lib/node_modules/homebridge-evohome/node_modules/request/request.js:978:14)
at Request.emit (events.js:182:13)
at Request.self.callback (/usr/local/lib/node_modules/homebridge-evohome/node_modules/request/request.js:121:22)
at Request._callback (/usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:254:29)
at JSON.parse ()
[6/16/2018, 2:13:29 PM] [Evohome] Evohome Failed: SyntaxError: Unexpected token < in JSON at position 0
[6/16/2018, 2:13:28 PM] [Evohome] Logged into Evohome!
The temperatures After the initial call doesn't change.
Did Honeywell change something? homebridge-evohome is suddenly crashing homebridge:
Apr 20 22:45:35 raspberrypi homebridge[1986]: ^
Apr 20 22:45:35 raspberrypi homebridge[1986]: SyntaxError: Unexpected token <
Apr 20 22:45:35 raspberrypi homebridge[1986]: at Object.parse (native)
Apr 20 22:45:35 raspberrypi homebridge[1986]: at Request._callback (/usr/local/lib/node_modules/homebridge-evohome/lib/evohome.js:181:26)
Apr 20 22:45:35 raspberrypi homebridge[1986]: at Request.self.callback (/usr/local/lib/node_modules/homebridge-evohome/node_modules/request/request.js:121:22)
Apr 20 22:45:35 raspberrypi homebridge[1986]: at emitTwo (events.js:87:13)
Hi,
Are you planning to implement the hot water module soon?
You can see here some source code:
Or the evohome async
https://github.com/zxdavb/evohome-async
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.