jwcnewton / rointe-homebridge-plugin

Rointe homebridge plugin
Apache License 2.0
6 stars 0 forks source link

Error fetching devices #2

Open domdtyler opened 1 year ago

domdtyler commented 1 year ago

Hi! Quickly want to say that I massively appreciate your work creating this - I’ve been hoping for a Rointe homebridge plugin for a very long time.

Upon installation, I am getting the error ‘Error fetching devices: TypeError: Cannot convert undefined or null to object’

I have checked the username and password are correct, and have changed the installation name to ‘MarlowLodge’ to remove the space, in case that was the issue. homebridge-rointe-unofficial is running in a child node in Homebridge v1.5.1 on an rPi 4.

Any advice would be greatly welcomed! Happy to provide any other details you might need!

jwcnewton commented 1 year ago

Hello thank you! Happy to help out, what Rointe device are you using? I only tested on the D series so it might be something I missed when developing the backend - also did you get the name of the installation correct?

The "error fetching devices" is a useless error to throw but to get the plugin verified i had to have a catch all

domdtyler commented 1 year ago

Yup, I have six of the D Series radiators. I’m not sure how to check I’ve got the installation name correct - this is what I get in the installation settings, and it matches what I have in the homebridge config file. EAE5B0BC-F8DF-4F05-9D62-56C9FC66CE38

jwcnewton commented 1 year ago

Unfortunately I found that the app gets out of sync with the actual installation - I have a script that can help debug installation names etc - are you familiar with node?

https://github.com/jwcnewton/rointe-sdk-node

If not I'm happy to see if I can debug it with your credentials or walk you through getting the script up and running for you

domdtyler commented 1 year ago

Happy to give it a shot myself - could you guide me through what I’d need to do to get that running? I have rointe-sdk@1.0.2 installed on the homebridge rPi.

jwcnewton commented 1 year ago

Are you able to see this? https://jwcnewton-refactored-space-bassoon-4jjqvvvp9qjh554x.github.dev/

Its a workspace that has: https://github.com/jwcnewton/rointe-installation-debug pre-setup, if you are confident give it a read and see if you can get it started

jwcnewton commented 1 year ago

If you're not in a hurry I can create a website tonight that will spit out some account info

domdtyler commented 1 year ago

Hi! Unfortunately I can’t see the first link that you sent: I get a 404 error. I have accepted the invitation to the throw-away package, and installed it on the Pi. I have also updated the index.js file on the Pi with the credentials.

Edit: I have the output of the script, which successfully shows the four zones I have set up. Where do I go from here?

jwcnewton commented 1 year ago

do an npm install - then do a npm start

domdtyler commented 1 year ago

So I’m going into the relevant folder with cd …/node_modules/throw-away then running npm install then npm start?

domdtyler commented 1 year ago

I get a long output with the four zones in my installation, and I do see ‘home’ as the name of the installation, which is what I’ve been using.

jwcnewton commented 1 year ago

Could you paste it out? also could you paste the original error

domdtyler commented 1 year ago

Output of throw-away with personal details removed:

throw-away@1.0.0 start node index.js

{ cost_limit: 30, currency: 'GBP', image_path: '', latitude: [removed by me], location: '[removed by me]', longitude: [removed by me], name: 'home', power: false, timeZone: 0, timeZoneId: 'Greenwich Mean Time', userid: '[removed by me]', zones: { '-Moo4ggFQhUUUu6ZeoFL': { block_local: false, block_remote: false, comfort: 20, eco: 16, final: true, ice_mode: false, id: '-Moo4ggFQhUUUu6ZeoFL', lastUpdate: '', last_device_id_update: '', meters: 11.56, mode: 'manual', name: 'Bedroom', path: '/zones/-Moo4ggFQhUUUu6ZeoFL', pilot_mode: false, pir_mode: false, power: false, presence_mode: true, schedule: [Array], status: 'eco', temp: 16, type: 'unknown', windowsMode: true, windowsStatus: false, windows_open_mode: false, windows_open_status: false, zones: [Object] }, '-Mot-poUKWGifTLZei13': { comfort: 20, devices: [Object], eco: 16, final: true, ice: 7, ice_mode: false, id: '-Mot-poUKWGifTLZei13', lastUpdate: '', last_device_id_update: '', meters: 8, mode: 'manual', name: 'Office', path: '/zones/-Mot-poUKWGifTLZei13', pilot_mode: false, pir_mode: false, power: false, presence_mode: true, schedule: [Array], status: 'comfort', temp: 20, type: 'radiator', windowsMode: true, windowsStatus: false, windows_open_mode: false, windows_open_status: false }, '-Mot4fYsWh_ovUVyOVYL': { comfort: 20, devices: [Object], eco: 16, final: true, ice: 7, ice_mode: false, id: '-Mot4fYsWh_ovUVyOVYL', last_device_id_update: '', meters: 28.08, mode: 'manual', name: 'Living Room', path: '/zones/-Mot4fYsWh_ovUVyOVYL', pilot_mode: false, pir_mode: false, power: true, presence_mode: false, schedule: [Array], status: 'comfort', temp: 20, type: 'radiator', windowsMode: false, windowsStatus: false, windows_open_mode: false, windows_open_status: false }, '-Mou2UatPh3KFNyVNh8r': { comfort: 20, devices: [Object], eco: 16, final: true, ice: 7, ice_mode: false, id: '-Mou2UatPh3KFNyVNh8r', last_device_id_update: '', meters: 12.76, mode: 'manual', name: 'Hall', path: '/zones/-Mou2UatPh3KFNyVNh8r', pilot_mode: false, pir_mode: false, power: false, presence_mode: false, schedule: [Array], status: 'eco', temp: 16, type: 'radiator', windowsMode: false, windowsStatus: false, windows_open_mode: false, windows_open_status: false } } }

Error in Homebridge:

[16/12/2022, 14:53:39] [homebridge-rointe-unofficial] Error fetching devices: TypeError: Cannot convert undefined or null to object

jwcnewton commented 1 year ago

It all looks good and we know your username and pass are correct so this is good,

[16/12/2022, 14:53:39] [homebridge-rointe-unofficial] Error fetching devices: TypeError: Cannot convert undefined or null to object

I have just push a new release that will hopefully give a bit more information - could you update to: v1.3.0 and see if you get a bit more from the logs?

domdtyler commented 1 year ago

633AFF6D-C6C5-4BE7-876D-71B276D664C6

I’m wondering - could this be because I have zones set up? There are four rooms, two of which have two radiators, two of which have one. That’s what came back in the throw-away test, rather than devices themselves?

jwcnewton commented 1 year ago

I have pushed a new version up that has some additional checks, I think the issue is empty zones within the installation - version 2.0.0 should be available

domdtyler commented 1 year ago

Hi! That’s working, although weirdly, for only five of the six radiators. The one in the bedroom is missing (it’s in a zone by itself, if that matters). The other five are pulled through to HomeKit correctly. I’m not getting any errors, and I’ve tried turning it on and restarting Homebridge, to no avail.

Not related to this issue, but what have you found is the best way to use them in HomeKit? I am guessing you just set the temperature and switch them on or off? Can I switch them to Auto mode (I don’t actually use any schedules, just trying to understand 😄)?

jwcnewton commented 1 year ago

Is it this one? I think its because its nested (zones inside zones), I think I can replicate it easily enough!

{
  block_local: false,
  block_remote: false,
  comfort: 20,
  eco: 16,
  final: true,
  ice_mode: false,
  id: '-Moo4ggFQhUUUu6ZeoFL',
  lastUpdate: '',
  last_device_id_update: '',
  meters: 11.56,
  mode: 'manual',
  name: 'Bedroom',
  path: '/zones/-Moo4ggFQhUUUu6ZeoFL',
  pilot_mode: false,
  pir_mode: false,
  power: false,
  presence_mode: true,
  schedule: [Array],
  status: 'eco',
  temp: 16,
  type: 'unknown',
  windowsMode: true,
  windowsStatus: false,
  windows_open_mode: false,
  windows_open_status: false,
  zones: [Object]
}

Yeah I don't have automation but you can set it up easily if you have an Apple homepod/mini - I use Homekit so my partner doesn't have to download 5-10 apps! I added her to my icloud and she can see everything in the Home app

jwcnewton commented 1 year ago

One thing I have noticed on Powercuts the D series just becomes detached from Rointe - and controlling it remotely even via the Rointe connect app is broken! It takes a while for it to become settled and reconnect to Rointe (I just leave it for a few hours)

domdtyler commented 1 year ago

Yeah that’s the one. It doesn’t show up differently to Office (the other single radiator in a room) in the Rointe Connect app 🤷‍♂️

Sounds good, this is the plan for me too. Got some temperature and presence sensors in each room so I’m planning to use them to automate the radiators a bit. This plugin is awesome, thank you so much for all your hard work on it!

jwcnewton commented 1 year ago

Yeah that’s the one. Would it be easier if I just removed it from the zone and added it again?

Erm its a bug for me to fix either way so Its up to you - hopefully spend sometime tonight one a few different use cases

domdtyler commented 1 year ago

Ahh yeah I get the dropout thing too - fwiw, I find manually turning the radiator on then restarting the wifi usually fixes it (at least until the next time it happens!)

jwcnewton commented 1 year ago

Ahh yeah I get the dropout thing too - fwiw, I find manually turning the radiator on then restarting the wifi usually fixes it (at least until the next time it happens!)

Yeah very annoying when it happens!

Appreciate you raising a bug I'm going to look into the zone within zones thing tonight, it's not something I have seen before

domdtyler commented 1 year ago

Want me to raise it as a separate issue?

jwcnewton commented 1 year ago

Its okay I can fix it here :)

domdtyler commented 1 year ago

Amazing, thanks!

domdtyler commented 1 year ago

Still no dice on that bedroom radiator - I tried uninstalling the plugin completely and setting up from scratch, but still nothing. No rush on this, just wanted to keep you posted (as I don't think it's a 'dropping off the network' issue). Happy to provide any other information you need!

jwcnewton commented 1 year ago

Sorry @domdtyler I juggle a few project and this one fell off the radar, I have release a major change to allow early integration with Equation. This change is large and may have helped with device discovery

domdtyler commented 1 year ago

Sounds good, thanks Jonathan! It’s working much better now.

Thanks!

Kind regards,

Dom On 11 Feb 2023 at 17:30 +0000, jwcnewton/rointe-homebridge-plugin @.***>, wrote:

Sorry @domdtyler I juggle a few project and this one fell off the radar, I have release a major change to allow early integration with Equation. This change is large and may have helped with device discovery

jwcnewton commented 1 year ago

Please let me know if you have any issues and if you get a moment star the project ⭐️ @domdtyler