Template Sensor für Solax Wechselrichter

atrost

Active member
Hallo Forum,
ich möchte nach der Online-Doku meine PV-Anlage in HA einbinden. Die Online-API funktioniert, jedoch habe ich Schwierigkeiten, die Sensoren anzulegen (die xxxxxxx werden natürlich mit den korrekten Daten eingetragen).
Vorgeschlagen wird folgender Code, der aber eine Fehlermeldung ausgibt, daß "sensors" nicht bekannt ist.

YAML:
sensors:
  - platform: rest
    name: "Solax total"
    resource: https://www.solaxcloud.com/proxyApp/proxy/api/getRealtimeInfo.do?tokenId=20230219165838294xxxxxx&sn=xxxxxxxxxx
    value_template: '{{ ( value_json.result.yieldtotal | round(0) ) }}'
    unit_of_measurement: "KW

Sobald ich einen weiteren Template-Sensor unterhalb meiner Sensoren "WP_Verbrauch" und "WP_Leistung" anlege, sehe ich diese nicht mehr (unavailable).
Wie muß ich die Daten anlegen?

YAML:
template:
  - sensor:
    - name: "WP_Leistung"
      unique_id: "wp_leistung"
      device_class: "power"
      state_class: "measurement"
      unit_of_measurement: "KW"
      state: >
            {% set l1_power = states('sensor.shelly_em3_channel_a_power') | float(0) %}
            {% set l2_power = states('sensor.shelly_em3_channel_b_power') | float(0) %}
            {% set l3_power = states('sensor.shelly_em3_channel_c_power') | float(0) %}
          
            {{ ((l1_power + l2_power + l3_power) / 1000) | round(3) }}
          
    - name: "WP_Verbrauch"
      unique_id: "wp_verbrauch"
      unit_of_measurement: "KWh"
      device_class: "energy"
      state_class: "total_increasing"
      state: >
            {% set l1_energy = states('sensor.shelly_em3_channel_a_energy') | float(0) %}
            {% set l2_energy = states('sensor.shelly_em3_channel_b_energy') | float(0) %}
            {% set l3_energy = states('sensor.shelly_em3_channel_c_energy') | float(0) %}
            {% set l4_energy = states('input_number.wp_zaehlerstand') | float(0) %}
            {% set konst = states('input_number.wp_faktor') | float(0) %}
          
            {{ ((l1_energy + l2_energy + l3_energy  + l4_energy) * konst) | round(1) }}
        
    - name: "Solax_total"
      unique_id: "solax_total"
      device_class: "power"
      state_class: "measurement"
      unit_of_measurement: "KWh"
      resource: "https://www.solaxcloud.com/proxyApp/proxy/api/getRealtimeInfo.do?tokenId=20230219165838294xxxxxx&sn=xxxxxxxxxx"
      value_template: '{{ ( value_json.result.yieldtotal | round(0) ) }}'
 
Scheiterte an der Verbindung.
- IP über Fritzbox: da habe ich 3 unbekannte Adressen, die alle drei nicht funktionieren. 5.8.8.8 funktionierte auch nicht.
- das Kennwort des Wechselrichters kenne ich
- ich habe einen Pocket-Wlan-Stick im Wechselrichter
Tipps hierzu? Wäre natürlich einfacher.
 
Also ich kenne die Integration bzw die Geräte jetzt nicht wirklich.
Verstehe das aber so, das wenn du die Geräte mit deinem WLAN verbunden hast senden die die Daten sind darüber, sondern senden weiterhin ein eigenes Wlan aus. Damit musst du dich über eine zweite Netzwerkverbindung (zB dem Wlan des Raspi, wenn du normalerweise das verkabelte Netz des Raspi nutzt) um an die Sensoren zu kommen. Dann musst du das Addon NGINX einrichten und dort die IP eintragen die der Solax auf dieser zweiten Verbindung hat.
 
@IvoryBalboa90:
Danke - den Fehler hatte ich übersehen. Jetzt läuft es....

YAML:
sensor:
  - platform: rest
    name: "Solax total"
    resource: https://www.solaxcloud.com/proxyApp/proxy/api/getRealtimeInfo.do?tokenId=20230219165838294xxxxxx&sn=xxxxxxxxxx
    value_template: '{{ ( value_json.result.yieldtotal | round(0) ) }}'
    unit_of_measurement: "KWh"

  - platform: rest
    name: "Solax now"
    resource: https://www.solaxcloud.com/proxyApp/proxy/api/getRealtimeInfo.do?tokenId=20230219165838294xxxxxx&sn=xxxxxxxxxx
    value_template: '{{ ( value_json.result.acpower | round(0) ) }}'
    unit_of_measurement: "W"

  - platform: rest
    name: "Solax today"
    resource: https://www.solaxcloud.com/proxyApp/proxy/api/getRealtimeInfo.do?tokenId=20230219165838294xxxxxx&sn=xxxxxxxxxx
    value_template: '{{ value_json.result.yieldtoday }}'
    unit_of_measurement: "KWh"
 
  - platform: rest
    name: "Solax upload time"
    resource: https://www.solaxcloud.com/proxyApp/proxy/api/getRealtimeInfo.do?tokenId=20230219165838294xxxxxx&sn=xxxxxxxxxx
    value_template: "{{ value_json.result.uploadTime }}"
 
  - platform: rest
    name: "Solax status"
    resource: https://www.solaxcloud.com/proxyApp/proxy/api/getRealtimeInfo.do?tokenId=20230219165838294xxxxxx&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 %}
 
Zuletzt bearbeitet:
.... und so kann es ausssehen.
Die Wärmepumpe ist übrigens von Mitsubishi und die Daten kommen über die Melcloud Integration.

1676815080038.png
 

Zurzeit aktive Besucher

Neueste Beiträge

Letzte Anleitungen

Statistik des Forums

Themen
5.438
Beiträge
53.747
Mitglieder
5.234
Neuestes Mitglied
Distiller
Zurück
Oben