Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

geyserwise_water_heater - None in not a valid temperature unit. #1855

Closed
RenierM26 opened this issue Apr 29, 2024 · 1 comment
Closed

geyserwise_water_heater - None in not a valid temperature unit. #1855

RenierM26 opened this issue Apr 29, 2024 · 1 comment

Comments

@RenierM26
Copy link

RenierM26 commented Apr 29, 2024

Describe the bug
Getting a lot of "None is not a valid temperature unit for a tuya device type geyserwise_water_heater

To Reproduce
Don't need to do anything specific, the error is logged after every state update.

Expected behavior
Source: custom_components/tuya_local/water_heater.py:40 should not return None.

Additional context
The error started about 2 - 3 releases back.

"integration_manifest": {
"domain": "tuya_local",
"name": "Tuya Local",
"codeowners": [
"@make-all"
],
"config_flow": true,
"dependencies": [],
"documentation": "https://github.com/make-all/tuya-local",
"integration_type": "device",
"iot_class": "local_push",
"issue_tracker": "https://github.com/make-all/tuya-local/issues",
"requirements": [
"tinytuya==1.13.2"
],
"version": "2024.4.0",
"is_built_in": false
},
"data": {
"name": "Geyserwise Tse",
"type": "geyserwise_water_heater",
"device_id": "REDACTED",
"device_cid": "",
"local_key": "REDACTED",
"host": "REDACTED",
"protocol_version": 3.3,
"tinytuya_version": "1.13.2",
"api_version_set": 3.3,
"api_version_used": 3.3,
"api_working": true,
"status": {},
"cached_state": {
"updated_at": 1714368197.3818698,
"1": false,
"2": "Timer",
"10": 51,
"13": "Off",
"20": 0,
"101": "Off",
"102": 50,
"103": 30,
"104": 55,
"105": 55,
"106": 30,
"107": 184
},
"pending_state": {},
"connected": true,
"force_dps": [],
"home_assistant": {
"name": "Geyserwise Tse",
"name_by_user": null,
"disabled": false,
"disabled_by": null,
"entities": [
{
"disabled": true,
"disabled_by": "user",
"entity_category": "config",
"device_class": null,
"original_device_class": null,
"icon": null,
"unit_of_measurement": "\u00b0C",
"state": null
},
{
"disabled": false,
"disabled_by": null,
"entity_category": "config",
"device_class": null,
"original_device_class": "temperature",
"icon": null,
"unit_of_measurement": "\u00b0C",
"state": {
"entity_id": "number.geyserwise_tse_overnight_temperature",
"state": "30",
"attributes": {
"min": 30.0,
"max": 75.0,
"step": 1.0,
"mode": "auto",
"unit_of_measurement": "\u00b0C",
"device_class": "temperature",
"friendly_name": "Geyserwise Tse Overnight temperature"
},
"last_changed": "2024-04-28T16:58:27.793185+00:00",
"last_reported": "2024-04-28T16:58:27.793185+00:00",
"last_updated": "2024-04-28T16:58:27.793185+00:00"
}
},
{
"disabled": false,
"disabled_by": null,
"entity_category": "config",
"device_class": null,
"original_device_class": "temperature",
"icon": null,
"unit_of_measurement": "\u00b0C",
"state": {
"entity_id": "number.geyserwise_tse_morning_temperature",
"state": "55",
"attributes": {
"min": 30.0,
"max": 75.0,
"step": 1.0,
"mode": "auto",
"unit_of_measurement": "\u00b0C",
"device_class": "temperature",
"friendly_name": "Geyserwise Tse Morning temperature"
},
"last_changed": "2024-04-28T16:58:27.793338+00:00",
"last_reported": "2024-04-28T16:58:27.793338+00:00",
"last_updated": "2024-04-28T16:58:27.793338+00:00"
}
},
{
"disabled": false,
"disabled_by": null,
"entity_category": "config",
"device_class": null,
"original_device_class": "temperature",
"icon": null,
"unit_of_measurement": "\u00b0C",
"state": {
"entity_id": "number.geyserwise_tse_afternoon_temperature",
"state": "55",
"attributes": {
"min": 30.0,
"max": 75.0,
"step": 1.0,
"mode": "auto",
"unit_of_measurement": "\u00b0C",
"device_class": "temperature",
"friendly_name": "Geyserwise Tse Afternoon temperature"
},
"last_changed": "2024-04-28T16:58:27.793466+00:00",
"last_reported": "2024-04-28T16:58:27.793466+00:00",
"last_updated": "2024-04-28T16:58:27.793466+00:00"
}
},
{
"disabled": false,
"disabled_by": null,
"entity_category": "config",
"device_class": null,
"original_device_class": "temperature",
"icon": null,
"unit_of_measurement": "\u00b0C",
"state": {
"entity_id": "number.geyserwise_tse_evening_temperature",
"state": "30",
"attributes": {
"min": 30.0,
"max": 75.0,
"step": 1.0,
"mode": "auto",
"unit_of_measurement": "\u00b0C",
"device_class": "temperature",
"friendly_name": "Geyserwise Tse Evening temperature"
},
"last_changed": "2024-04-28T16:58:27.793606+00:00",
"last_reported": "2024-04-28T16:58:27.793606+00:00",
"last_updated": "2024-04-28T16:58:27.793606+00:00"
}
},
{
"disabled": true,
"disabled_by": "user",
"entity_category": "config",
"device_class": null,
"original_device_class": "temperature",
"icon": null,
"unit_of_measurement": "\u00b0C",
"state": null
},
{
"disabled": false,
"disabled_by": null,
"entity_category": "diagnostic",
"device_class": null,
"original_device_class": "running",
"icon": null,
"unit_of_measurement": null,
"state": {
"entity_id": "binary_sensor.geyserwise_tse_element",
"state": "off",
"attributes": {
"device_class": "running",
"friendly_name": "Geyserwise Tse Element"
},
"last_changed": "2024-04-28T16:58:27.791415+00:00",
"last_reported": "2024-04-28T16:58:28.003320+00:00",
"last_updated": "2024-04-28T16:58:27.791415+00:00"
}
},
{
"disabled": false,
"disabled_by": null,
"entity_category": "diagnostic",
"device_class": null,
"original_device_class": "problem",
"icon": null,
"unit_of_measurement": null,
"state": {
"entity_id": "binary_sensor.geyserwise_tse_fault",
"state": "off",
"attributes": {
"device_class": "problem",
"friendly_name": "Geyserwise Tse Problem"
},
"last_changed": "2024-04-28T16:58:27.791677+00:00",
"last_reported": "2024-04-28T16:58:27.791677+00:00",
"last_updated": "2024-04-28T16:58:27.791677+00:00"
}
},
{
"disabled": true,
"disabled_by": "user",
"entity_category": "diagnostic",
"device_class": null,
"original_device_class": "running",
"icon": null,
"unit_of_measurement": null,
"state": null
},
{
"disabled": false,
"disabled_by": null,
"entity_category": null,
"device_class": null,
"original_device_class": null,
"icon": null,
"unit_of_measurement": null,
"state": {
"entity_id": "water_heater.geyserwise_tse",
"state": "off",
"attributes": {
"min_temp": 30,
"max_temp": 75,
"operation_list": [
"off",
"electric"
],
"current_temperature": 51,
"temperature": 30,
"target_temp_high": null,
"target_temp_low": null,
"operation_mode": "off",
"away_mode": "off",
"fault_code": 0,
"friendly_name": "Geyserwise Tse",
"supported_features": 7
},
"last_changed": "2024-04-28T16:58:27.792866+00:00",
"last_reported": "2024-04-29T04:50:07.844632+00:00",
"last_updated": "2024-04-29T04:50:07.844632+00:00"
}
},
{
"disabled": true,
"disabled_by": "user",
"entity_category": "diagnostic",
"device_class": null,
"original_device_class": "temperature",
"icon": null,
"unit_of_measurement": "\u00b0C",
"state": null
}
]
}
}

@RenierM26 RenierM26 added the bug Something isn't working label Apr 29, 2024
make-all added a commit that referenced this issue Apr 30, 2024
HA now issues a warning instead of defaulting to the system configured
unit if temperature unit is not specified by the integration.

Issue #1855
@make-all make-all added awaiting confirmation Wating for confirmation the issue is solved unreleased Will be in next release and removed bug Something isn't working awaiting confirmation Wating for confirmation the issue is solved unreleased Will be in next release labels Apr 30, 2024
@make-all make-all closed this as completed May 1, 2024
@beerygaz
Copy link

beerygaz commented Jun 4, 2024

Despite the commit to rectify this issue it still seems to exist in 2024.5.3 for my Geyserwise Max

2024-06-04 20:50:55.035 WARNING (MainThread) [custom_components.tuya_local.water_heater] None is not a valid temperature unit

make-all added a commit that referenced this issue Jun 5, 2024
This helper function is just for translating simple ASCII into more
complex Unicode units (C to °C, m3 to m³ etc) to make editing files
easier.

Now that HA converted most of the unit constants into Enum's, they are
converting to instances of enums, which might no work in some cases.

Issue #1855

Unit tests appear to have coverage of this, and were not deteecting
any issues, but this is the only possiblity I can see for the issue
not being resolved.
make-all added a commit that referenced this issue Jun 5, 2024
If unit was static (attached to temperature / current_temperature etc
dp), there was a possibility that a None value could get reported from
another dp that was checked earlier.

Also, water_heater only checked temperature, which meany anko kettle
would report as no unit, since the config has it on the
current_temperature.

Issue #1855
timlaing pushed a commit to timlaing/tuya-local that referenced this issue Aug 8, 2024
HA now issues a warning instead of defaulting to the system configured
unit if temperature unit is not specified by the integration.

Issue make-all#1855
timlaing pushed a commit to timlaing/tuya-local that referenced this issue Aug 8, 2024
This helper function is just for translating simple ASCII into more
complex Unicode units (C to °C, m3 to m³ etc) to make editing files
easier.

Now that HA converted most of the unit constants into Enum's, they are
converting to instances of enums, which might no work in some cases.

Issue make-all#1855

Unit tests appear to have coverage of this, and were not deteecting
any issues, but this is the only possiblity I can see for the issue
not being resolved.
timlaing pushed a commit to timlaing/tuya-local that referenced this issue Aug 8, 2024
If unit was static (attached to temperature / current_temperature etc
dp), there was a possibility that a None value could get reported from
another dp that was checked earlier.

Also, water_heater only checked temperature, which meany anko kettle
would report as no unit, since the config has it on the
current_temperature.

Issue make-all#1855
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

3 participants