fixed enum sensors

This commit is contained in:
Patrick762 committed 2023-08-19 22:38:30 +02:00
1 parent 61bc379d3a
commit 95f2331cc3
2 files changed
+7 -4

No files matched your search

+2 -1
View File
@@ -26,4 +26,5 @@ All sensors which are available in bluetti_mqtt (Based on [this file](https://gi
excluding battery pack fields. excluding battery pack fields.
### Available controls: ### Available controls:
AC and DC outputs (for now) If enabled in the Integration options (you need to reload the integration if you change this option):
AC and DC outputs
+5 -3
View File
@@ -1,6 +1,7 @@
"""Bluetti BT sensors.""" """Bluetti BT sensors."""
from __future__ import annotations from __future__ import annotations
from enum import Enum
import logging import logging
from decimal import Decimal from decimal import Decimal
@@ -146,6 +147,7 @@ class BluettiSensor(CoordinatorEntity, SensorEntity):
and not isinstance(response_data, float) and not isinstance(response_data, float)
and not isinstance(response_data, complex) and not isinstance(response_data, complex)
and not isinstance(response_data, Decimal) and not isinstance(response_data, Decimal)
and not isinstance(response_data, Enum)
): ):
_LOGGER.warning( _LOGGER.warning(
"Invalid response data type from coordinator (sensor.%s): %s has type %s", "Invalid response data type from coordinator (sensor.%s): %s has type %s",
@@ -161,11 +163,11 @@ class BluettiSensor(CoordinatorEntity, SensorEntity):
# Different for enum and numeric # Different for enum and numeric
if ( if (
self._options is not None self._options is not None
and isinstance(response_data, int) and isinstance(response_data, Enum)
and response_data < len(self._options) and response_data.value < len(self._options)
): ):
# Enum # Enum
self._attr_native_value = self._options[response_data] self._attr_native_value = self._options[response_data.value]
else: else:
# Numeric # Numeric
self._attr_native_value = response_data self._attr_native_value = response_data