Add data age at battery MQTT (#322)

* Add data age at battery MQTT

* Update README.md

typo

* Update MQTT_Topics.md

typo

* Update PylontechCanReceiver.cpp

typo
This commit is contained in:
Phantomias2006 2023-07-19 09:47:37 +02:00 committed by GitHub
parent cea1f94b5e
commit e06740fbb8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 25 deletions

View File

@ -157,30 +157,31 @@ Topics for 3 phases of a power meter is configurable. Given is an example for th
| Topic | R / W | Description | Value / Unit | | Topic | R / W | Description | Value / Unit |
| --------------------------------------- | ----- | ---------------------------------------------------- | -------------------------- | | --------------------------------------- | ----- | ---------------------------------------------------- | -------------------------- |
| battery/settings/chargeVoltage | R | Voltage | Volt (V) | | battery/settings/chargeVoltage | R | Voltage | Volt (V) |
| battery/settings/chargeCurrentLimitation | R | | | | battery/settings/chargeCurrentLimitation | R | BMS requested max. charge current | Ampere (A) |
| battery/settings/dischargeCurrentLimitation | R | | | | battery/settings/dischargeCurrentLimitation | R | BMS requested max. discharge current | Ampere (A) |
| battery/stateOfCharge | R | | | | battery/stateOfCharge | R | State of Health | % |
| battery/stateOfHealth | R | | | | battery/stateOfHealth | R | State of Charge | % |
| battery/voltage | R | | | | battery/dataAge | R | How old the data is | Seconds |
| battery/current | R | | | | battery/voltage | R | Actual voltage | Volt (V) |
| battery/temperature" | R | | | | battery/current | R | Actual current | Ampere (A) |
| battery/alarm/overCurrentDischarge | R | | | | battery/temperature" | R | Actual temperature | °C |
| battery/alarm/underTemperature | R | | | | battery/alarm/overCurrentDischarge | R | Alarm: High discharge current | 0 / 1 |
| battery/alarm/overTemperature | R | | | | battery/alarm/underTemperature | R | Alarm: Low temperature | 0 / 1 |
| battery/alarm/underVoltage | R | | | | battery/alarm/overTemperature | R | Alarm: High temperature | 0 / 1 |
| battery/alarm/overVoltage | R | | | | battery/alarm/underVoltage | R | Alarm: Low voltage | 0 / 1 |
| battery/alarm/bmsInternal | R | | | | battery/alarm/overVoltage | R | Alarm: High voltage | 0 / 1 |
| battery/alarm/bmsInternal | R | Alarm: BMS internal | 0 / 1 |
| battery/alarm/overCurrentCharge | R | | | | battery/alarm/overCurrentCharge | R | | |
| battery/warning/highCurrentDischarge | R | | | | battery/warning/highCurrentDischarge | R | Warning: High discharge current | 0 / 1 |
| battery/warning/lowTemperature | R | | | | battery/warning/lowTemperature | R | Warning: Low temperature | 0 / 1 |
| battery/warning/highTemperature | R | | | | battery/warning/highTemperature | R | Warning: High temperature | 0 / 1 |
| battery/warning/lowVoltage | R | | | | battery/warning/lowVoltage | R | Warning: Low voltage | 0 / 1 |
| battery/warning/highVoltage | R | | | | battery/warning/highVoltage | R | Warning: High voltage | 0 / 1 |
| battery/warning/bmsInternal | R | | | | battery/warning/bmsInternal | R | Warning: BMS internal | 0 / 1 |
| battery/manufacturer | R | | | | battery/manufacturer | R | Manufacturer | String |
| battery/charging/chargeEnabled | R | | | | battery/charging/chargeEnabled | R | Charge enabled flag | 0 / 1 |
| battery/charging/dischargeEnabled | R | | | | battery/charging/dischargeEnabled | R | Discharge enabled flag | 0 / 1 |
| battery/charging/chargeImmediately | R | | | | battery/charging/chargeImmediately | R | Charge immediately flag | 0 / 1 |
## Huawei AC charger topics ## Huawei AC charger topics
| Topic | R / W | Description | Value / Unit | | Topic | R / W | Description | Value / Unit |

View File

@ -132,6 +132,7 @@ cmd topics are used to set values. Status topics are updated from values set in
| battery/settings/dischargeCurrentLimitation | R | BMS requested max. discharge current | Ampere (A) | | battery/settings/dischargeCurrentLimitation | R | BMS requested max. discharge current | Ampere (A) |
| battery/stateOfCharge | R | State of Health | % | | battery/stateOfCharge | R | State of Health | % |
| battery/stateOfHealth | R | State of Charge | % | | battery/stateOfHealth | R | State of Charge | % |
| battery/dataAge | R | How old the data is | Seconds |
| battery/voltage | R | Actual voltage | Volt (V) | | battery/voltage | R | Actual voltage | Volt (V) |
| battery/current | R | Actual current | Ampere (A) | | battery/current | R | Actual current | Ampere (A) |
| battery/temperature" | R | Actual temperature | °C | | battery/temperature" | R | Actual temperature | °C |
@ -141,6 +142,7 @@ cmd topics are used to set values. Status topics are updated from values set in
| battery/alarm/underVoltage | R | Alarm: Low voltage | 0 / 1 | | battery/alarm/underVoltage | R | Alarm: Low voltage | 0 / 1 |
| battery/alarm/overVoltage | R | Alarm: High voltage | 0 / 1 | | battery/alarm/overVoltage | R | Alarm: High voltage | 0 / 1 |
| battery/alarm/bmsInternal | R | Alarm: BMS internal | 0 / 1 | | battery/alarm/bmsInternal | R | Alarm: BMS internal | 0 / 1 |
| battery/alarm/overCurrentCharge | R | | |
| battery/warning/highCurrentDischarge | R | Warning: High discharge current | 0 / 1 | | battery/warning/highCurrentDischarge | R | Warning: High discharge current | 0 / 1 |
| battery/warning/lowTemperature | R | Warning: Low temperature | 0 / 1 | | battery/warning/lowTemperature | R | Warning: Low temperature | 0 / 1 |
| battery/warning/highTemperature | R | Warning: High temperature | 0 / 1 | | battery/warning/highTemperature | R | Warning: High temperature | 0 / 1 |

View File

@ -118,6 +118,7 @@ void PylontechCanReceiverClass::mqtt()
MqttSettings.publish(topic + "/settings/dischargeCurrentLimitation", String(Battery.dischargeCurrentLimitation)); MqttSettings.publish(topic + "/settings/dischargeCurrentLimitation", String(Battery.dischargeCurrentLimitation));
MqttSettings.publish(topic + "/stateOfCharge", String(Battery.stateOfCharge)); MqttSettings.publish(topic + "/stateOfCharge", String(Battery.stateOfCharge));
MqttSettings.publish(topic + "/stateOfHealth", String(Battery.stateOfHealth)); MqttSettings.publish(topic + "/stateOfHealth", String(Battery.stateOfHealth));
MqttSettings.publish(topic + "/dataAge", String((millis() - Battery.lastUpdate) / 1000));
MqttSettings.publish(topic + "/voltage", String(Battery.voltage)); MqttSettings.publish(topic + "/voltage", String(Battery.voltage));
MqttSettings.publish(topic + "/current", String(Battery.current)); MqttSettings.publish(topic + "/current", String(Battery.current));
MqttSettings.publish(topic + "/temperature", String(Battery.temperature)); MqttSettings.publish(topic + "/temperature", String(Battery.temperature));