senorshaun / homebridge-nuheat

NuHeat Homebridge plugin
7 stars 8 forks source link

Plugin Register Error after update and config of new plugin version #6

Closed scoutbeer closed 1 year ago

scoutbeer commented 1 year ago

After updating to the new plug-in and moving the config data to the visual/UI page, i'm not able to see the plugin working properly. No devices show up and i see a register error in the logs.

Only thing i can see is a possible case sensitivity issue?? (in Bold below)

I'm running on HOOBS, latest versions of everything

11/17/2022, 1:09:23 AM nuheatbridge stopping 11/17/2022, 1:09:23 AM Nuheat BridgeShutting down 11/17/2022, 1:09:25 AM Nuheat BridgeStopped 11/17/2022, 1:09:28 AM Nuheat Bridge starting 11/17/2022, 1:09:32 AM Nuheat BridgeLoaded plugin 'homebridge-nuheat' 11/17/2022, 1:09:32 AM Nuheat BridgePlugin 'homebridge-nuheat' tried to register with an incorrect plugin identifier: 'homebridge-NuHeat'. Please report this to the developer! 11/17/2022, 1:09:32 AM Nuheat BridgeRegistering platform 'homebridge-nuheat.NuHeat' 11/17/2022, 1:09:32 AM Nuheat BridgeLoading 1 platforms... 11/17/2022, 1:09:32 AM Nuheat BridgeSetup URI 'X-HM://0023ISYWYV4TZ' 11/17/2022, 1:09:32 AM Nuheat BridgeBridge is running on port 51856.

senorshaun commented 1 year ago

thanks for that, it looks like homebridge is less case sensitive than HOOBS. this updated in 1.1.1 Homebridge does the translation when the cased name changes with this update, and HOOBS should boot fine

scoutbeer commented 1 year ago

Updated the PI. That allows it to register but no devices are created. I think something with the UI based config is not allowing the PI to use the inputs in the fields in a proper manner. (just a guess)

11/17/2022, 2:04:33 PM Nuheat Bridge 2 starting 11/17/2022, 2:04:34 PM Nuheat Bridge 2 Loaded plugin 'homebridge-nuheat' 11/17/2022, 2:04:34 PM Nuheat Bridge 2 Registering platform 'homebridge-nuheat.NuHeat' 11/17/2022, 2:04:34 PM Nuheat Bridge 2 Loading 1 platforms... 11/17/2022, 2:04:34 PM Nuheat Bridge 2 Setup URI 'X-HM://0023ISYWY4LE0' 11/17/2022, 2:04:34 PM Nuheat Bridge 2 Bridge is running on port 51826.

senorshaun commented 1 year ago

can you enable debug for this plugin and see if more logs spit out? Sorry I'm not familiar with HOOBS but from my experience, they handle plugins a little different than homebridge i.e. I've seen plugins with no issues in homebridge have weird bugs in HOOBS

scoutbeer commented 1 year ago

I'm able to recreate the issues. I've tried this on two new clean platforms. Fresh install of Debian and Fresh install of Ubuntu. Fresh install of HOOBS4. Fresh install of your plugin.

Using the UI/Visual configuration to input the variables.

This is the error with debug on for the bridge and the plugin.

11/18/2022, 10:43:55 AM NuheatBridge4Stopped 11/18/2022, 10:43:58 AM NuheatBridge4 starting 11/18/2022, 10:44:01 AM NuheatBridge4Loaded plugin 'homebridge-nuheat' 11/18/2022, 10:44:01 AM NuheatBridge4Registering platform 'homebridge-nuheat.NuHeat' 11/18/2022, 10:44:01 AM NuheatBridge4Loading 2 platforms... 11/18/2022, 10:44:01 AM NuheatBridge4NuHeatWARNINGIgnoring NuHeat Platform setup because it is not configured properly. Missing email or password 11/18/2022, 10:44:01 AM NuheatBridge4Setup URI 'X-HM://0023ISYWYR2YX' 11/18/2022, 10:44:01 AM NuheatBridge4Bridge is running on port 51826.

For some reason the Visual/UI Config isn't working as it should with HOOBS. When i look at the config under advanced view i see this formatting. Platform shows twice for some reason.

{ "accessories": [], "platforms": [ { "platform": "NuHeat" }, { "platform": "Nuheat", "name": "NuHeat4", "debug": true, "password": "my password", "email": "my email address", "devices": [ { "serialNumber": "my serial number" } ] } ] }

If i manually remove the first/empty platform entry and save the plugin restarts with the follow log output, but no device is created.

11/18/2022, 10:49:33 AM NuheatBridge4Stopped 11/18/2022, 10:49:37 AM NuheatBridge4 starting 11/18/2022, 10:49:39 AM NuheatBridge4Loaded plugin 'homebridge-nuheat' 11/18/2022, 10:49:39 AM NuheatBridge4Registering platform 'homebridge-nuheat.NuHeat' 11/18/2022, 10:49:39 AM NuheatBridge4Loading 1 platforms... 11/18/2022, 10:49:39 AM NuheatBridge4Setup URI 'X-HM://0023ISYWYR2YX' 11/18/2022, 10:49:39 AM NuheatBridge4Bridge is running on port 51826.

senorshaun commented 1 year ago

You definitely are on the right track. the plugin platform should be NuHeat. However it seems that all your stuff is saving as Nuheat. I believe I had the config.schema.json set as that, incorrectly, in the v1.1.0 release but fixed in v1.1.1. Can you lock at the config.schema.json file for this plugin in your HOOBS installation. I believe HOOBS has it at /home/hoobs/.hoobs/node_modules/homebridge-nuheat Look at the second line "pluginAlias", is it NuHeat or Nuheat

I think the fix for you is to set the platform: to NuHeat in your config and it should boot up. turn debug on for this plugin as well, its a checkbox at the bottom

scoutbeer commented 1 year ago

Looks like that was it. the Case Sensitive variable was the issue. the config.schema.json showed "pluginAlias": "NuHeat",

As you recommended i changed my platform variable from Nuheat to NuHeat and everything worked as planned after the PI restarted.

senorshaun commented 1 year ago

Well thats frustrating, that the pluginAlias is correct, but HOOBS is changing the platform identifier when it saved the config.json.

I'll spin up an ubuntu vm to test out a hoobs new installation when I get a chance. closing out for now as you are up and running

scoutbeer commented 1 year ago

Thanks for the help @senorshaun. It, may be worth also pinging @mkellsy on this. He's been super responsive with general HOOBS issues.

senorshaun commented 1 year ago

Just got confirmation from HOOBs that that ignore the cased platformAlias, as defined, and instead rewrite the plugin name as first letter upper case, the rest lower case. Which is crazy to me, just renaming things in a case sensitive environment, and it's not published information because people don't write plugins for HOOBs they write them for Homebridge.

rant aside, I dont know how to fix this. They overrode the dynamic schema, so it will probably be named NuHeat as defined in the plugin and config.schema.json however that means the config.schema.json is frozen. I can't make changes without them updating it. So the fix would be the to rename it in the plugin everywhere from NuHeat to Nuheat to match their case. However, that will cause a breaking change for everyone else. its a stupid thing they did and a lose lose situation

scoutbeer commented 1 year ago

Wow, that is eye opening. Makes me wonder if this is one of the reasons so many people seem to struggle with HOOBS and getting plugins to work. Also makes me think i should just bit the bullet and switch to Homebridge native. I do like some of the UI log filtering features in HOOBs but then you read something like this and makes you realize you'll probably have more issues in the future to do deviation from Homebridge standards. Thanks for digging into this. I've got things working how on HOOBS due to the manual change you noted in a previous post.