jaroschek / home-assistant-myuplink

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

Setpoint temperature - wrong limits #21

Closed HansMaunsbach closed 1 year ago

HansMaunsbach commented 1 year ago

My setpoint for temperature gets wrong limitation: min value is 0.5 degrees (should be 5 degrees) max value 3.0 degrees (should be 30 degrees)

if I change these lines in number.py to /10 it works correct for that entity, but maybe it corrupts some other? if self._attr_device_class == NumberDeviceClass.TEMPERATURE: self._attr_native_max_value = parameter.max_value / 100 self._attr_native_min_value = parameter.min_value / 100

This is what core.entity_registry should contain: { "aliases": [], "area_id": null, "capabilities": { "min": 5.0, "max": 30.0, "step": 0.1, "mode": "auto" }, "config_entry_id": "2af448ac73141056a394e16ea3a7afba", "device_class": null, "device_id": "3459b8402470631dd69fb1b35a63d37f", "disabled_by": null, "entity_category": null, "entity_id": "number.nibe_vvm_s325_cu_em3x400v_klimatsystem_1_rumsgivare_borvarde_klimatsystem_1", "hidden_by": null, "icon": null, "id": "f650291011c1eee2b7927e82d1d555a7", "has_entity_name": false, "name": null, "options": { "cloud.google_assistant": { "should_expose": false }, "conversation": { "should_expose": false } }, "original_device_class": "temperature", "original_icon": null, "original_name": "NIBE VVM S325 CU EM3x400V Klimatsystem 1 Rums­givare börvärde: Klimatsystem 1", "platform": "myuplink", "supported_features": 0, "translation_key": null, "unique_id": "myuplink_U23046327601d658c-8510-4313-8b7e-9bfefd95e26f_47753", "unit_of_measurement": "°C" },

jaroschek commented 1 year ago

Could you check the values for the parameter with the ID 47753 in the response from the API?

You can do a request of the data points from the API directly and post the response here.

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.

HansMaunsbach commented 1 year ago

{ "category": "Klimatsystem 1", "parameterId": "47753", "parameterName": "Rums­givare börvärde: Klimatsystem 1", "parameterUnit": "°C", "writable": true, "timestamp": "2023-09-19T18:55:14+00:00", "value": 18, "strVal": "18°C", "smartHomeCategories": [ "sh-indoorSpHeat" ], "minValue": 50, "maxValue": 300, "stepValue": 5, "enumValues": [], "scaleValue": "0.1", "zoneId": null },

jaroschek commented 1 year ago

Thank you! It seems, as the values minValue, maxValue and stepValue have to be multiplied by scaleValue.

If so, you would have a minValue of 5.0, a maxValue of 30.0 and a stepValue of 0.5.

HansMaunsbach commented 1 year ago

The updatet version seems to work for me. Thanks for a very quick response!