jaroschek / home-assistant-myuplink

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

F1255-16 missing some (almost all) controls #48

Open roccolord opened 6 months ago

roccolord commented 6 months ago

Hi, first off thanks for your hard work and very nice integration to myUplink!

I have a F1255-16 with the upgraded firmware to be compatible with myUplink instead of Nibe Uplink.

Everything looks to be working fine, except the controls for everything but temporary lux hot water. I have the myUplink Premium Manage package, is it so that this is not supported yet?

Is there anything I can do to help you adding support for this? I would like to be able so change temperature in the system and scheduling for instance. holiday mode and so on :)

nibe_settings

Matmarknaden commented 6 months ago

Hello, I share this problem. Appreciate som input / guidance (if there is a solution to this). I am also trying to get support from MyUplink (check if there are bugs on their side)

jaroschek commented 6 months ago

Hello,

the Integration should create an entity in Home Assistant for each parameter point available in the myUplink api. Writable datapoints should be controlable in Home Assistant too.

To check the availability of the missing data points, you can do a request of the data points from the API directly:

Go to the MyUplink Swagger site, and authorize (top right). Find your device ID by querying ​"/v2​/systems​/me", enter it when querying "/v2/devices/{deviceId}". Find the relevant data points and post them here.

If the expected parameters are not available there, this has to be solved Boy myUplink.

Else there could be api endpoints providing this functionality that are not implemented yet. This could be also checked in the myUplink swagger site.

roccolord commented 6 months ago

Ok thanks! Have asked the question to myUplink! I hope for an answer this year ;)

pszewello commented 5 months ago

As most of old users of uplink have to move to myuplink i expect to have same functionality in the api, right now i miss the climate entity, water heater entity and status of the extra heater… i will add the points from the api tomorrow here so u can take a look :)

pszewello commented 5 months ago

myUplinkPointsAnswe.json myUplinkDevicesAnswer.json Please find the API json responses for devices and points...

jaroschek commented 5 months ago

As most of old users of uplink have to move to myuplink i expect to have same functionality in the api, right now i miss the climate entity, water heater entity and status of the extra heater… i will add the points from the api tomorrow here so u can take a look :)

Hello @pszewello, thanks for providing api responses for your device and parameter points.

I have developed the integration for monitoring of my heating in the first step. So the main functionality of the integration was to create (basic) sensor entities. Further on @7RST1 added the possibility to alter writable parameter points and allowed to control certain values through the API.

If parameter points are writable, you should be able to change them through HA.

There is also a first implementation for a water header available, but this is currently hardcoded/limit to a device name 18760NE and specific parameter ids. Currently there is no climate entity implemented.

As far as I understand, water heater entities and climate entities are working on combinations of different parameter points. And because myUplink provides many different parameters from many different devices of many different manufacturers it will be challenging to create entity implementations to combine the different individual parameter points from the different devices and manufacturers.

But anybody is free to provide necessary changes through an PR to add these.

elden1337 commented 5 months ago

am in touch with a guy at Nibe regarding some parameters. Missing the heating offset for instance (if spa is active it's there but not writable, if spa is inactive it's not there at all). in the swagger that is, so not an error in this integration. Nibe F730

pszewello commented 5 months ago

How do you get in touch with nibe guys?

elden1337 commented 5 months ago

How do you get in touch with nibe guys? Was contacted a couple of years ago when i started developing PeaqHvac which does things their own logic does not, plus started debating swedish climate actions online. I hope they answer, I'm just testing it out as we speak and yes there are differences from the old uplink.

Mortenjoe commented 5 months ago

The list of parameter ID's when querying /v2/devices/{deviceId}/points does not seem to be complete. I can control many parameters from the MyUplink webpage but it's only the lux hot water control that is listed as writable (VVM310 + F2120-16). Would it be possible to integrate custom parameter ID's not included in the list?

Morten

jaroschek commented 5 months ago

Sorry, but this integration does only work on the data that is provided through the API. I'm pretty sure that the API is somehow limited in comparison to the web interface.

A parameter ID that is not provided through /v2/devices/{deviceId}/points does simply not exist for the given credentials. Of course you can try yourself by querying the endpoint with a given parameter ID if you know any other than what is listed in the endpoints response.

Or do you mean, you have the parameters but they are not listed as writable? You can of course also test this for yourself, and try to PATCH any parameter with a value of your choice (it should at least be a value in the limits of the parameter). This is also possible on the swagger site... it's the next (green) request just below the GET request for the points.

elden1337 commented 5 months ago

There is a clear diff in what's provided in the app (and old api) vs new api yes.

Some findings i have done:

-Electrical addon current power -Heating offset (not the spa one but the one you can set) -dm compressor start -raw ventilation speed (the one in %).

There ate probably more. These are the ones i've reported to my contact at Nibe as of now and awaiting reply.

Mortenjoe commented 5 months ago

Sorry for not being more clear. I have endpoints which are working on the swagger but are not listed when querying /v2/devices/{deviceId}/points. You can get the endpoints by looking at the header of the http request when using the MyUplink webpage.

Morten

elden1337 commented 5 months ago

Yes, like 47011 for instance. I have a dialogue with Nibe about the missing params and hope it will be resolved shortly.

zissou1 commented 4 months ago

I have just moved to myUplink aswell and noticed some API-points missing from the old API. Have you gotten any answer from Nibe @elden1337 ?

elden1337 commented 4 months ago

I dont have any resolvement yet no, sadly.

jaroschek commented 4 months ago

May be the internalapi is the place to look into: https://internalapi.myuplink.com/swagger/index.html

There are several APIs available through the select in the upper right corner: image

But as the name suggests, these APIs are meant for "internal" use. Theoretically it could be used as soon as we find a way to authorize a user. But unfortunately the application credentials generated at https://dev.myuplink.com are only suitable for the public api.

May be it is somehow possible to authorizes using the username and password, like if you log into the dashboard?

elden1337 commented 4 months ago

Awaiting response from Nibe. 47001 is set-able but not visible on get. And i've gotten info that for instance the amount of elec addon usage has been removed on purpose, so that one is no longer available with myuplink+nibe

zissou1 commented 4 months ago

Sad about 47001, did they mention why it was removed?

elden1337 commented 4 months ago

They have now told me it looks like a bug. So awaiting reply on when it's fixed.

letienne commented 3 months ago

Hello,

I was able to login on the internalapi using username/password, client_id: Public-Test-Client; client_secret: [leave empty]; as indicated on their swagger.

Using this, I was able to emulate the website behavior, by querying their menu api (for example this menu item to get the vacation settings and setting rawpoints data using their device data api (PUT 0 to /menu/81/rawpoints/48043 to disable vacation mode).

I'm not used to develop HA plugins, but do you think there is any way to get some of those menu readings into HA? And some way to modify them using their internalapi?

@elden1337, is the bug you mention specific to your parameter or device? Or do you know if they have any plan to expose all writable parameters in the "public" api?

Thanks !

elden1337 commented 3 months ago

They have admitted to some kind of bad implementation and told me it will take a while, affecting both fm and the api side. This was almost 1 month ago.

LarsFransson65 commented 3 months ago

Hi elden! Can you please ask them for the posibility to switch vacation mode on or off? That would be awswom, thanks :)

elden1337 commented 3 months ago

@LarsFransson65 I think since they said there was some issue they needed to attend to, that they are redoing part of the implementation. So let's see what params appear once ready. It's been a while now but they said it would take a while also.

elden1337 commented 2 months ago

Not expecting anything til after May. Got notice that there are other higher prios first.

elden1337 commented 2 months ago

Just got latest beta from Nibe, and at first glance offsets seem to work. Will test more but i can see them. So waiting should hopefully soon be over.