jaroschek / home-assistant-myuplink

Custom Home Assistant integration for devices and sensors in myUplink account.
39 stars 8 forks source link

Multiple System Support? #44

Open adorsett opened 6 months ago

adorsett commented 6 months ago

I have "Multiple Systems" registered to my account. However, it seems to only be pulling one device. What's the best way to troubleshoot this?

adorsett commented 6 months ago

Here's the output of /v2/systems/me from the swagger interface response_1703434171982.json

The Plugin seems to be using the "product name" vice the "system name" which also causes a problem as that's hard-coded to be the same for all of my systems so I can't tell which system it's actually imported.

image
jaroschek commented 6 months ago

I have "Multiple Systems" registered to my account. However, it seems to only be pulling one device. What's the best way to troubleshoot this?

Hello, the integration should support multiple systems and devices. It iterates over systems and devices to fetch the parameter points and create entities. And for each entity the related parent device is used for individual device definition. In detail it uses the unique device id to define the device. This way it should create separate devices for each id.

Now are you sure there is only one device in your integration? How does it look like in the integration view (Settings > Devices and Services > myUplink)?

I have just one device an this is how it looks for me:

image

There are two points, where the device count is shown. In my german installation it is called "1 Gerät".

Because of the namening issue (using the device name as device name) it just looks like 1 device?

But then you would have multiple similar entities (one for each device).

I would try to debug your situation with the given json response. But I'm currently in vacation and will not be back until January 6th.

Additionally I'm thinking of a configuration Option during setup to control the automatic device naming.

jaroschek commented 6 months ago

As I could not stop thinking about this issue, I found a quiet place to try something...

Can you try a pre-release version of the integration? https://github.com/jaroschek/home-assistant-myuplink/releases/tag/1.0.4-rc1

I refactored the initialization of the list of systems. It could be possible that the previous implementation would have an issue with reference. Then there would be just one system in the list of systems instead of all systems provided by the api.

Additionally the system name would be appended to the device name to identify identical devices in different systems.

jaroschek commented 5 months ago

@adorsett Did you have a chance to test the pre-release?

jaroschek commented 5 months ago

@adorsett I have finally released the version 1.0.4: https://github.com/jaroschek/home-assistant-myuplink/releases/tag/1.0.4

This should fix possible problems with multiple system and use system names to differentiate identical devices in different systems.

siggeb commented 5 months ago

Since I just finished adding my own heat pump, I figured I would try my dads Nibe. And I found the multiple systems support peculiar.

After having added another device, it looks like this. It is using the already existing "application name in Myuplink" for the new device, which got a different application name. There were some error messages on first setup, but when I re-did it no errors. That the first. Second, I also find it interesting that my own heat pump gives me 42 entities, where my dads only has 12. Does it sound reasonable, or am I missing some due to issues?

My device is a CTC 360 air/water pump, and my dads is a NIBE S1255-12 CU EM 3X400V, ie drillhole heat pump.

image

jaroschek commented 5 months ago

The feature to add different systems through different applications for different accounts on the myUplink API is a functionality from Home Assistant through the Oauth2 config flow. There is nothing I have done to enable this. It's just there and should work.

The config flow is implemented as part of Home Assistant Core in https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/config_entry_oauth2_flow.py

Every new entry has it's own entry_id in the global configuration. And it should support individual names out of the box. I'm curious why it doesn't. Especially as given an entry a name is one of the most basic things all config flows do.

Regarding the number of entities a devices provides, everything is possible. I have an NIBE S1255-6 E PC EM 3X400V and have 56 entities. But I remember having just a handful as I did not have a premium subscription for myUplink. The number increased after adding the premium subscription

You can just check the available parameters directly at https://dev.myuplink.com and compare the number of parameters.