Hallo Forum,
wenn man sich immer mehr mit HA beschäftigt und anfängt, sich über den Aufbau von YAML zu informieren, bekommt man tatsächlich mit der Zeit einige Lösungen selber hin.
Hier nun der Code für die Sensoren der beiden oben genannten Geräte:
wenn man sich immer mehr mit HA beschäftigt und anfängt, sich über den Aufbau von YAML zu informieren, bekommt man tatsächlich mit der Zeit einige Lösungen selber hin.
Hier nun der Code für die Sensoren der beiden oben genannten Geräte:
YAML:
rest:
# Batterie
- resource: http://192.168.xxx.xxx:80/api/v2/latestdata
method: GET
headers:
User-Agent: Home Assistant
Content-Type: application/json
Auth-Token: xxxxxxxxxx
scan_interval: 30
timeout: 15
sensor:
# Aktuelle Stromproduktion
- name: solar_power_w
value_template: '{{ value_json["Production_W"] }}'
unit_of_measurement: W
device_class: power
# Aktueller Ladestand in %
- name: battery_soc
value_template: '{{ value_json["USOC"] }}'
unit_of_measurement: '%'
device_class: battery
# Aktueller Ladestand in Wh
- name: battery_soc_energy
value_template: '{{ (value_json["USOC"]|float / 100 * value_json["FullChargeCapacity"]|float)|round(0)|int }}'
unit_of_measurement: Wh
device_class: energy
# Hausverbrauch
- name: house_consumption
value_template: '{{ value_json["Consumption_W"] }}'
unit_of_measurement: W
device_class: power
#Kapazität der Batterie
- name: battery_capacity
value_template: '{{ value_json["FullChargeCapacity"] }}'
unit_of_measurement: Wh
device_class: energy
# Differenz Erzeugung minus Hausverbrauch
- name: battery_setpoint_w
value_template: '{{ value_json["SetPoint_W"] }}'
unit_of_measurement: W
device_class: power
# Differenz Erzeugung minus Batterieladung minus Hausverbrauch = Einspeisung ins Netz
- name: battery_consumption_production_diff
value_template: '{{ value_json["Pac_total_W"] }}'
unit_of_measurement: W
device_class: power
# Einspeisung oder Bezug Netz
- name: battery_einspeisung_netz
value_template: '{{ (value_json["SetPoint_W"]|float - value_json["Pac_total_W"]|float) }}'
unit_of_measurement: W
device_class: power
# Zeitstempel
- name: battery_timestamp
value_template: '{{ value_json["Timestamp"] }}'
# Wechselrichter
- resource: https://www.solaxcloud.com:9443/proxy/api/getRealtimeInfo.do?tokenId=xxxxxxxxxx&sn=XXXXXXXXXX
scan_interval: 30
sensor:
# Aktuelle Stromerzeugung der PV-Anlage
- name: solax_now
value_template: '{{ value_json.result.acpower }}'
unit_of_measurement: "W"
device_class: power
# Heutige Stromerzeugung
- name: solax_today
value_template: '{{ value_json.result.yieldtoday }}'
unit_of_measurement: "kWh"
device_class: power
# Gesamte STromerzeugun
- name: solax_total
value_template: '{{ value_json.result.yieldtotal }}'
unit_of_measurement: "kWh"
device_class: power
# Zeitstempel
- name: solax_upload_time
value_template: "{{ value_json.result.uploadTime }}"
# Status der PV-Anlage
- name: solax_status
value_template: >
{% if value_json.result.inverterStatus == '100' %}Wait
{% elif value_json.result.inverterStatus == '101' %}Check
{% elif value_json.result.inverterStatus == '102' %}Normal
{% elif value_json.result.inverterStatus == '103' %}Fault
{% elif value_json.result.inverterStatus == '104' %}Permanent Fault
{% elif value_json.result.inverterStatus == '105' %}Update
{% elif value_json.result.inverterStatus == '106' %}EPS Check
{% elif value_json.result.inverterStatus == '107' %}EPS
{% elif value_json.result.inverterStatus == '108' %}Self-test
{% elif value_json.result.inverterStatus == '109' %}Idle
{% elif value_json.result.inverterStatus == '110' %}Standby
{% elif value_json.result.inverterStatus == '111' %}Pv Wake Up Bat
{% elif value_json.result.inverterStatus == '112' %}Gen Check
{% elif value_json.result.inverterStatus == '113' %}Gen Run
{% else %}I dont know{% endif %}