Hallo Forum,
nachdem weiter recherchiert habe bin ich noch mal auf den Beitrag von blurrr zurückgekommen.
Es gibt tatsächlich 2 Anleitungen zur API. Die erste im persönlichen Bereich bei Solax, in dem man seine Anlage sieht und die zweite findet man über Google, so wie es blurrr gemacht hat.
Hier der Link zur korrekten Anleitung:
https://www.eu.solaxcloud.com/phoebus/resource/files/userGuide/Solax_API_for_End-user_V1.0.pdf
In dieser steht dann auch die Verwendung des Port 9443. Ich hatte bei der ersten Verwendung jedoch eine Fehler im Link, weswegen es nicht gleich funktionierte. Die Seriennummer ist nicht die des Wechselrichters sondern die des Lan- bzw. Wlan-Dongles.
Hier nun die Lösung, die auch blurrr weiter oben so beschrieben hat. Vielen Dank dafür......
Wenn man übrigens den Link hinter "resource" direkt im Browser eingibt, sollte es so zurückkommen:
{"success":true,"exception":"Query success!","result":{"inverterSN":"xxxxxxxxxxxx","sn":"XXXXXXXXXX","acpower":0.0,"yieldtoday":17.4,"yieldtotal":552.7,"feedinpower":0.0,"feedinenergy":0.0,"consumeenergy":0.0,"feedinpowerM2":null,"soc":null,"peps1":null,"peps2":null,"peps3":null,"inverterType":"16","inverterStatus":"100","uploadTime":"2023-03-08 22:37:06","batPower":null,"powerdc1":0.0,"powerdc2":0.0,"powerdc3":0.0,"powerdc4":null,"batStatus":null}}
YAML:
sensor:
- platform: rest
name: "Solax now"
resource: https://www.solaxcloud.com:9443/proxy/api/getRealtimeInfo.do?tokenId=xxxxxxxxxx&sn=XXXXXXXXXX
value_template: '{{ value_json.result.acpower }}'
unit_of_measurement: "W"
- platform: rest
name: "Solax today"
resource: https://www.solaxcloud.com:9443/proxy/api/getRealtimeInfo.do?tokenId=xxxxxxxxxx&sn=XXXXXXXXXX
value_template: '{{ ( value_json.result.yieldtoday | round(1) ) }}'
unit_of_measurement: "kWh"
- platform: rest
name: "Solax total"
resource: https://www.solaxcloud.com/proxyApp/proxy/api/getRealtimeInfo.do?tokenId=xxxxxxxxxx&sn=XXXXXXXXXX
value_template: '{{ value_json.result.yieldtotal }}'
unit_of_measurement: "kWh"
- platform: rest
name: "Solax today"
resource: https://www.solaxcloud.com:9443/proxy/api/getRealtimeInfo.do?tokenId=xxxxxxxxxx&sn=XXXXXXXXXX
value_template: '{{ value_json.result.feedinpower }}'
unit_of_measurement: "W"
- platform: rest
name: "Solax today"
resource: https://www.solaxcloud.com:9443/proxy/api/getRealtimeInfo.do?tokenId=xxxxxxxxxx&sn=XXXXXXXXXX
value_template: '{{ value_json.result.feedinenergy }}'
unit_of_measurement: "kWh"
- platform: rest
name: "Solax upload time"
resource: https://www.solaxcloud.com:9443/proxy/api/getRealtimeInfo.do?tokenId=xxxxxxxxxx&sn=XXXXXXXXXX
value_template: "{{ value_json.result.uploadTime }}"
- platform: rest
name: "Solax status"
resource: https://www.solaxcloud.com:9443/proxy/api/getRealtimeInfo.do?tokenId=xxxxxxxxxx&sn=XXXXXXXXXX
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 %}