Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
924eaa90b6 | ||
|
|
4f95fed85a |
No files matched your search
@@ -8,11 +8,48 @@ MANUFACTURER = "Bluetti"
|
|||||||
CONF_OPTIONS = "options"
|
CONF_OPTIONS = "options"
|
||||||
|
|
||||||
DIAGNOSTIC_FIELDS = [
|
DIAGNOSTIC_FIELDS = [
|
||||||
|
"max_ac_input_power",
|
||||||
|
"max_ac_input_current",
|
||||||
|
"max_ac_output_power",
|
||||||
|
"max_ac_output_current",
|
||||||
"bcu_version",
|
"bcu_version",
|
||||||
"safety_module_version",
|
"safety_module_version",
|
||||||
|
"high_voltage_module_version",
|
||||||
]
|
]
|
||||||
|
|
||||||
ADDITIONAL_DEVICE_FIELDS = {
|
ADDITIONAL_DEVICE_FIELDS = {
|
||||||
|
"max_ac_input_power": MqttFieldConfig(
|
||||||
|
type=MqttFieldType.NUMERIC,
|
||||||
|
setter=False,
|
||||||
|
advanced=False,
|
||||||
|
home_assistant_extra={
|
||||||
|
"name": "Max AC Input Power per Phase",
|
||||||
|
},
|
||||||
|
),
|
||||||
|
"max_ac_input_current": MqttFieldConfig(
|
||||||
|
type=MqttFieldType.NUMERIC,
|
||||||
|
setter=False,
|
||||||
|
advanced=False,
|
||||||
|
home_assistant_extra={
|
||||||
|
"name": "Max AC Input Current per Phase",
|
||||||
|
},
|
||||||
|
),
|
||||||
|
"max_ac_output_power": MqttFieldConfig(
|
||||||
|
type=MqttFieldType.NUMERIC,
|
||||||
|
setter=False,
|
||||||
|
advanced=False,
|
||||||
|
home_assistant_extra={
|
||||||
|
"name": "Max AC Output Power per Phase",
|
||||||
|
},
|
||||||
|
),
|
||||||
|
"max_ac_output_current": MqttFieldConfig(
|
||||||
|
type=MqttFieldType.NUMERIC,
|
||||||
|
setter=False,
|
||||||
|
advanced=False,
|
||||||
|
home_assistant_extra={
|
||||||
|
"name": "Max AC Output Current per Phase",
|
||||||
|
},
|
||||||
|
),
|
||||||
"bcu_version": MqttFieldConfig(
|
"bcu_version": MqttFieldConfig(
|
||||||
type=MqttFieldType.NUMERIC,
|
type=MqttFieldType.NUMERIC,
|
||||||
setter=False,
|
setter=False,
|
||||||
@@ -25,4 +62,10 @@ ADDITIONAL_DEVICE_FIELDS = {
|
|||||||
advanced=False,
|
advanced=False,
|
||||||
home_assistant_extra={"name": "Safety Module Version"},
|
home_assistant_extra={"name": "Safety Module Version"},
|
||||||
),
|
),
|
||||||
|
"high_voltage_module_version": MqttFieldConfig(
|
||||||
|
type=MqttFieldType.NUMERIC,
|
||||||
|
setter=False,
|
||||||
|
advanced=False,
|
||||||
|
home_assistant_extra={"name": "High Voltage Safety Module Version"},
|
||||||
|
),
|
||||||
}
|
}
|
||||||
@@ -49,9 +49,10 @@ class DummyDevice(BluettiDevice):
|
|||||||
return [
|
return [
|
||||||
ReadHoldingRegisters(100, 62),
|
ReadHoldingRegisters(100, 62),
|
||||||
ReadHoldingRegisters(2022, 6),
|
ReadHoldingRegisters(2022, 6),
|
||||||
|
ReadHoldingRegisters(2213, 4),
|
||||||
|
# Battery
|
||||||
ReadHoldingRegisters(6101, 7),
|
ReadHoldingRegisters(6101, 7),
|
||||||
ReadHoldingRegisters(6175, 2),
|
ReadHoldingRegisters(6175, 11),
|
||||||
ReadHoldingRegisters(6181, 2),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
return self._parent.polling_commands
|
return self._parent.polling_commands
|
||||||
@@ -148,7 +149,7 @@ class PollingCoordinator(DataUpdateCoordinator):
|
|||||||
command.starting_address, body
|
command.starting_address, body
|
||||||
)
|
)
|
||||||
|
|
||||||
self.logger.error("Parsed data: %s", parsed)
|
self.logger.error("[NO ERROR] Parsed data: %s", parsed)
|
||||||
parsed_data.update(parsed)
|
parsed_data.update(parsed)
|
||||||
|
|
||||||
except TimeoutError:
|
except TimeoutError:
|
||||||
@@ -156,15 +157,17 @@ class PollingCoordinator(DataUpdateCoordinator):
|
|||||||
"Polling timed out (address: %s)", self._address
|
"Polling timed out (address: %s)", self._address
|
||||||
)
|
)
|
||||||
except ParseError:
|
except ParseError:
|
||||||
self.logger.debug("Got a parse exception...")
|
self.logger.warning("Got a parse exception...")
|
||||||
except ModbusError as err:
|
except ModbusError as err:
|
||||||
self.logger.debug(
|
self.logger.warning(
|
||||||
"Got an invalid request error for %s: %s",
|
"Got an invalid request error for %s: %s",
|
||||||
command,
|
command,
|
||||||
err,
|
err,
|
||||||
)
|
)
|
||||||
except (BadConnectionError, BleakError) as err:
|
except (BadConnectionError, BleakError) as err:
|
||||||
self.logger.debug("Needed to disconnect due to error: %s", err)
|
self.logger.warning(
|
||||||
|
"Needed to disconnect due to error: %s", err
|
||||||
|
)
|
||||||
except TimeoutError:
|
except TimeoutError:
|
||||||
self.logger.error("Polling timed out for device %s", self._address)
|
self.logger.error("Polling timed out for device %s", self._address)
|
||||||
return None
|
return None
|
||||||
|
|||||||
Reference in new issue
Block a user