Last active
May 21, 2024 06:01
-
-
Save e-bits/96a130ebb52efe5b9b5041326568f9e0 to your computer and use it in GitHub Desktop.
Home-Assistant Template to discover MQTT entities for SolarFlow HUB 1200.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sensor: | |
- name: "Hub State" | |
unique_id: "<deviceID>hubState" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: "{{ value_json.properties.hubState | int }}" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Solar Input Power" | |
unique_id: "<deviceID>solarInputPower" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
unit_of_measurement: "W" | |
device_class: "power" | |
value_template: "{{ value_json.properties.solarInputPower | int(0) }}" | |
state_class: "measurement" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Pack Input Power" | |
unique_id: "<deviceID>packInputPower" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
unit_of_measurement: "W" | |
device_class: "power" | |
value_template: "{{ value_json.properties.packInputPower | int(0) }}" | |
state_class: "measurement" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Output Pack Power" | |
unique_id: "<deviceID>outputPackPower" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
unit_of_measurement: "W" | |
device_class: "power" | |
value_template: "{{ value_json.properties.outputPackPower | int(0) }}" | |
state_class: "measurement" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Output Home Power" | |
unique_id: "<deviceID>outputHomePower" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
unit_of_measurement: "W" | |
device_class: "power" | |
value_template: "{{ value_json.properties.outputHomePower | int(0) }}" | |
state_class: "measurement" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Input Limit" | |
unique_id: "<deviceID>inputLimit" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: "{{ value_json.properties.inputLimit | int }}" | |
unit_of_measurement: "W" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Remain Out Time" | |
unique_id: "<deviceID>remainOutTime" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: "{{ value_json.properties.remainOutTime | int }}" | |
device_class: "duration" | |
unit_of_measurement: "min" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Remain Input Time" | |
unique_id: "<deviceID>remainInputTime" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: "{{ value_json.properties.remainInputTime | int }}" | |
device_class: "duration" | |
unit_of_measurement: "min" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Pack State" | |
unique_id: "<deviceID>packState" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: "{{ value_json.properties.packState | int }}" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Pack Num" | |
unique_id: "<deviceID>packNum" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: "{{ value_json.properties.packNum | int }}" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Electric Level" | |
unique_id: "<deviceID>electricLevel" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
unit_of_measurement: "%" | |
device_class: "battery" | |
value_template: "{{ value_json.properties.electricLevel | int }}" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "WiFi State" | |
unique_id: "<deviceID>wifiState" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: "{{ value_json.properties.wifiState | bool('') }}" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Solar Power 1" | |
unique_id: "<deviceID>solarPower1" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: "{{ value_json.properties.solarPower1 | int(0) }}" | |
unit_of_measurement: "W" | |
device_class: "power" | |
state_class: "measurement" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Solar Power 2" | |
unique_id: "<deviceID>solarPower2" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: "{{ value_json.properties.solarPower2 | int(0) }}" | |
unit_of_measurement: "W" | |
device_class: "power" | |
state_class: "measurement" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Pass Mode" | |
unique_id: "<deviceID>passMode" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: "{{ value_json.properties.passMode | int }}" | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- name: "Max Cell Temp" | |
unique_id: "<deviceID>Battery01maxTemp" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: > | |
{% for i in value_json.packData %} | |
{% if i.sn == "<YourBatterySeriennummer>" %} | |
{{ (i.maxTemp | float /10 - 273.15) | round(2) }} | |
{% endif %} | |
{% endfor %} | |
unit_of_measurement: "°C" | |
device_class: "temperature" | |
device: | |
name: "<BatteryNumber> - AB1000" | |
identifiers: "<YourBatterySeriennummer>" | |
manufacturer: "Zendure" | |
model: "AB1000" | |
via_device: "<YourSolarFlowSerialNumber>" | |
- name: "Max Cell Voltage" | |
unique_id: "<deviceID>Battery01maxVol" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: > | |
{% for i in value_json.packData %} | |
{% if i.sn == "<YourBatterySeriennummer>" %} | |
{{ i.maxVol | float / 100 }} | |
{% endif %} | |
{% endfor %} | |
unit_of_measurement: "V" | |
device_class: "voltage" | |
device: | |
name: "<BatteryNumber> - AB1000" | |
identifiers: "<YourBatterySeriennummer>" | |
manufacturer: "Zendure" | |
model: "AB1000" | |
via_device: "<YourSolarFlowSerialNumber>" | |
- name: "Min Cell Voltage" | |
unique_id: "<deviceID>Battery01minVol" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: > | |
{% for i in value_json.packData %} | |
{% if i.sn == "<YourBatterySeriennummer>" %} | |
{{ i.minVol | float / 100 }} | |
{% endif %} | |
{% endfor %} | |
unit_of_measurement: "V" | |
device_class: "voltage" | |
device: | |
name: "<BatteryNumber> - AB1000" | |
identifiers: "<YourBatterySeriennummer>" | |
manufacturer: "Zendure" | |
model: "AB1000" | |
via_device: "<YourSolarFlowSerialNumber>" | |
- name: "Total Voltage" | |
unique_id: "<deviceID>Battery01totalVol" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: > | |
{% for i in value_json.packData %} | |
{% if i.sn == "<YourBatterySeriennummer>" %} | |
{{ i.totalVol | float / 100 }} | |
{% endif %} | |
{% endfor %} | |
unit_of_measurement: "V" | |
device_class: "voltage" | |
device: | |
name: "<BatteryNumber> - AB1000" | |
identifiers: "<YourBatterySeriennummer>" | |
manufacturer: "Zendure" | |
model: "AB1000" | |
via_device: "<YourSolarFlowSerialNumber>" | |
- name: "Battery Level" | |
unique_id: "<deviceID>Battery01socLevel" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: > | |
{% for i in value_json.packData %} | |
{% if i.sn == "<YourBatterySeriennummer>" %} | |
{{ i.socLevel | int }} | |
{% endif %} | |
{% endfor %} | |
unit_of_measurement: "%" | |
device_class: "battery" | |
device: | |
name: "<BatteryNumber> - AB1000" | |
identifiers: "<YourBatterySeriennummer>" | |
manufacturer: "Zendure" | |
model: "AB1000" | |
via_device: "<YourSolarFlowSerialNumber>" | |
- name: "Max Cell Temp" | |
unique_id: "<deviceID>Battery02maxTemp" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: > | |
{% for i in value_json.packData %} | |
{% if i.sn == "<YourBatterySeriennummer>" %} | |
{{ (i.maxTemp | float /10 - 273.15) | round(2) }} | |
{% endif %} | |
{% endfor %} | |
unit_of_measurement: "°C" | |
device_class: "temperature" | |
device: | |
name: "<BatteryNumber> - AB1000" | |
identifiers: "<YourBatterySeriennummer>" | |
manufacturer: "Zendure" | |
model: "AB1000" | |
via_device: "<YourSolarFlowSerialNumber>" | |
- name: "Max Cell Voltage" | |
unique_id: "<deviceID>Battery02maxVol" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: > | |
{% for i in value_json.packData %} | |
{% if i.sn == "<YourBatterySeriennummer>" %} | |
{{ i.maxVol | float / 100 }} | |
{% endif %} | |
{% endfor %} | |
unit_of_measurement: "V" | |
device_class: "voltage" | |
device: | |
name: "<BatteryNumber> - AB1000" | |
identifiers: "<YourBatterySeriennummer>" | |
manufacturer: "Zendure" | |
model: "AB1000" | |
via_device: "<YourSolarFlowSerialNumber>" | |
- name: "Min Cell Voltage" | |
unique_id: "<deviceID>Battery02minVol" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: > | |
{% for i in value_json.packData %} | |
{% if i.sn == "<YourBatterySeriennummer>" %} | |
{{ i.minVol | float / 100 }} | |
{% endif %} | |
{% endfor %} | |
unit_of_measurement: "V" | |
device_class: "voltage" | |
device: | |
name: "<BatteryNumber> - AB1000" | |
identifiers: "<YourBatterySeriennummer>" | |
manufacturer: "Zendure" | |
model: "AB1000" | |
via_device: "<YourSolarFlowSerialNumber>" | |
- name: "Total Voltage" | |
unique_id: "<deviceID>Battery02totalVol" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: > | |
{% for i in value_json.packData %} | |
{% if i.sn == "<YourBatterySeriennummer>" %} | |
{{ i.totalVol | float / 100 }} | |
{% endif %} | |
{% endfor %} | |
unit_of_measurement: "V" | |
device_class: "voltage" | |
device: | |
name: "<BatteryNumber> - AB1000" | |
identifiers: "<YourBatterySeriennummer>" | |
manufacturer: "Zendure" | |
model: "AB1000" | |
via_device: "<YourSolarFlowSerialNumber>" | |
- name: "Battery Level" | |
unique_id: "<deviceID>Battery02socLevel" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
value_template: > | |
{% for i in value_json.packData %} | |
{% if i.sn == "<YourBatterySeriennummer>" %} | |
{{ i.socLevel | int }} | |
{% endif %} | |
{% endfor %} | |
unit_of_measurement: "%" | |
device_class: "battery" | |
device: | |
name: "<BatteryNumber> - AB1000" | |
identifiers: "<YourBatterySeriennummer>" | |
manufacturer: "Zendure" | |
model: "AB1000" | |
via_device: "<YourSolarFlowSerialNumber>" | |
switch: | |
- unique_id: "<deviceID>buzzerSwitch" | |
name: "Buzzer" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
state_off: 0 | |
state_on: 1 | |
command_topic: "iot/73bkTV/<deviceID>/properties/write" | |
device_class: "switch" | |
value_template: "{{ value_json.properties.buzzerSwitch | int }}" | |
payload_on: '{"properties":{"buzzerSwitch":1}}' | |
payload_off: '{"properties":{"buzzerSwitch":0}}' | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- unique_id: "<deviceID>masterSwitch" | |
name: "Master" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
state_off: 0 | |
state_on: 1 | |
command_topic: "iot/73bkTV/<deviceID>/properties/write" | |
device_class: "switch" | |
value_template: "{{ value_json.properties.masterSwitch | int }}" | |
payload_on: '{"properties":{"masterSwitch":1}}' | |
payload_off: '{"properties":{"masterSwitch":0}}' | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- unique_id: "<deviceID>autoRecover" | |
name: "Auto Recover" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
state_off: 0 | |
state_on: 1 | |
command_topic: "iot/73bkTV/<deviceID>/properties/write" | |
device_class: "switch" | |
value_template: "{{ value_json.properties.autoRecover | int }}" | |
payload_on: '{"properties":{"autoRecover":1}}' | |
payload_off: '{"properties":{"autoRecover":0}}' | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
number: | |
- unique_id: "<deviceID>socSet" | |
name: "Charge Limit" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
command_topic: "iot/73bkTV/<deviceID>/properties/write" | |
command_template: '{"properties":{"socSet":{{ value * 10}}}}' | |
unit_of_measurement: "%" | |
value_template: "{{ value_json.properties.socSet | int / 10 }}" | |
min: 1 | |
max: 100 | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- unique_id: "<deviceID>minSoc" | |
name: "Discharge Limit" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
command_topic: "iot/73bkTV/<deviceID>/properties/write" | |
command_template: '{"properties":{"minSoc":{{ value * 10}}}}' | |
unit_of_measurement: "%" | |
value_template: "{{ value_json.properties.minSoc | int / 10 }}" | |
min: 1 | |
max: 100 | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- unique_id: "<deviceID>inverseMaxPower" | |
name: "Inverter Input Limit" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
command_topic: "iot/73bkTV/<deviceID>/properties/write" | |
command_template: '{"properties":{"inverseMaxPower":{{ value }}}}' | |
unit_of_measurement: "W" | |
value_template: "{{ value_json.properties.inverseMaxPower | int }}" | |
min: 100 | |
max: 800 | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" | |
- unique_id: "<deviceID>outputLimit" | |
name: "Output Limit" | |
state_topic: "/73bkTV/<deviceID>/properties/report" | |
command_topic: "iot/73bkTV/<deviceID>/properties/write" | |
command_template: '{"properties":{"outputLimit":{{ value }}}}' | |
unit_of_measurement: "W" | |
value_template: "{{ value_json.properties.outputLimit | int }}" | |
min: 0 | |
max: 600 | |
device: | |
name: "SolarFlow" | |
identifiers: "<YourSolarFlowSerialNumber>" | |
manufacturer: "Zendure" | |
model: "SolarFlow Hub 1200" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment