Solarwatt Manager FLEX (!) auslesen via Rest

Hi,
ich bin neu in Home Assistant (also falls die Frage(n) lang/komisch sind, dann daher) und möchte meine Verbrauchsdaten vom Haus/ Solar etc. anzeigen in so einer Energieverteilungskarte.

Da die Rest-Schnittstelle vom Solarwatt Manager Flex viele Dinge liefert bin ich mir nicht so ganz klar, was ich wie machen muss.

Ich habe schon:
Visual Studio Code installiert :slight_smile:
In der Configuration.yaml diverse Dinge aus der Rest-Rückmeldung eingetragen (habe mir die Rest-Antwort, weil das ein Array ist ohne Namen, umwandeln lassen in yaml).
In der configuration.yaml habe ich unter

rest:
  resource: http://192.168.1.176/rest/items/
  sensor:

Damit bekomme ich so Dinge zustande wie:

 # 27:  << das ist zumindest in meiner Antwort das richtige Arrayfeld
      # link: "http://[meineIP]/rest/items/solarwattBattery_batteryflex_BatteryFlex_0BC333_batteryChannelGroup_batteryStateOfCharge"
    - name: "Solarwatt - State Of Charge"
      value_template: "{{ value_json[27]['state'] }}"
      device_class: battery
      state_class: measurement
      unit_of_measurement: "%"
      unique_id: "intern.solarwatt.batteryflex.batterychannelgroup.batterystateofcharge"

oder

    # 36: Bsp. state: "1729607460000|0.0 W"
      # link: "http://192.168.1.176/rest/items/solarwattBattery_batteryflex_BatteryFlex_0BC333_harmonized_bat_power_out"
    - name: "{{ 'Solarwatt - bat_power_out' }}"
      value_template: "{{ float(value_json[36]['state'].split('|')[1].split(' ')[0]) }}"
      unit_of_measurement: "W"
      unique_id: "intern.solarwatt.batteryflex.harmonized.bat.power.out"

Folgende Anfängerfragen hätte ich:
a) kann ich bzw. wie kann ich den Namen abhängig vom Label machen. In der Restantwort kommt auch ein label: “blah blah blah” zurück
Da würde ich als motivierter Laie

- name: "{{ value_json[36]['label'] }}"

versuchen, was aber nicht geht.

b) da die Rest-Rückgabe der Form

[
  {
    diverse dingse
  },
  {
   andere diverse dingse
  },
.....

usw. ist, kann ich die einzelnen Arrayobjekte auch anders ansteuern als über value_json[nr] ? Diese nr ist ja nur bei speziell mir so. In der Liste der Objekte sind auch kunterbunt mystrom-Dosen dazwischen, nehme ich eine raus, passt die Nummerierung ja nicht mehr ?!

c) hat schonmal einer bei den diversen Rückgabewerten von Solarwatt rausgefunden, was sie bedeuten (manche sind mir klar)? Aber zB. kriege ich aktuell gerade den Wert “Strom aus Speicher zum Verbrauch des Hauses” nicht zusammen mit “aktueller Hausverbrauch” die sind immer unterschiedlich. Während keine Erzeugung und kein Netzbezug ist. Es scheint da noch eine Rechnung hinterzustecken?!
Und ja, ich habe bei Solarwatt angefragt … keine Antwort.

Kompliziert es ist!

So, nun habe ich die Felder soweit rausgesucht und es läuft …zumindest in der PowerFlowCardPlus … der Home Assistant Energy bringt mich aber zur Verzweiflung …

In deiner Sensor Definition fehlt noch:
device_class: energy

Ja, da hast Du recht… Habs korrigiert. Und nur nochmal das ich das richtig verstehe (ich fange mal klein an “Strom-rein-Strom-raus”): so habe ich das nu gebaut

	# link: "http://192.168.1.176/rest/items/kiwigrid_location_standard_f3383059f84f_harmonized_power_out"
    #   state: "1729607445000|8.333333333333334 W"
    - name: "{{ 'Kiwi- net power out' }}"
      value_template: "{{ float(value_json[65]['state'].split('|')[1].split(' ')[0]) }}"
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      unique_id: "intern.solarwatt.kiwigrid.harmonized.net.power.out"

      #   link: "http://192.168.1.176/rest/items/kiwigrid_location_standard_f3383059f84f_harmonized_power_in"  
      #   state: "1729607445000|0.0 W"
    - name: "Kiwi- net power in"
      value_template: "{{ float(value_json[164]['state'].split('|')[1].split(' ')[0]) }}"
      unit_of_measurement: "W"      
      device_class: power
      state_class: measurement      
      unique_id: "solarwatt.kiwigrid.location.harmonized.power.in"

Dann habe ich (weil Watt) je ein Riemannintegral gebaut. Mit jeweils dem Eingangssensor. Linke Summe ausgesucht, kW pro Stunde, Genauigkeit 2 und Max. Teilintervall 30 - weil ich die Sensoren alle 30 sec abfrage.

Und diese beiden neuen Integralsensoren habe ich dann in der Energieseite unter Stromnetz bei Verbrauch und Einspeisung eingetragen

Ist das so erstmal richtig? Morgen beobachte ich es :slight_smile:

Hallo,

wir besitzen seit kurzem eine Solarwatt PV-Anlage, die wir nun mit Homeassistent koppeln möchten. Leider sind die Bezeichnungen, die im REST API benutzt werden alles andere als intuitiv :slightly_frowning_face:
Deshalb folge Frage: stimmen die Annahmen …

  • Leistung bezogen aus dem Netz: http://<my_ip>/rest/items/solarwattBattery_batteryflex_BatteryFlex_0C3512_netChannelGroup_netPowerConsumption

  • Leistung Solaranlage: http://<my_ip>/rest/items/pvplant_standard_0dc3199788a7_harmonized_power_out

  • Aktueller Verbrauch: http://<my_ip>/rest/items/kiwigrid_location_standard_6ce51aeb70e1_harmonized_power_consumed

  • Lade Zustand Batterie (scheint das einzig eindeutige zu sein :wink:): http://<my_ip>/rest/items/solarwattBattery_batteryflex_BatteryFlex_0C3512_batteryChannelGroup_batteryStateOfCharge

  • Leistung von Batterie: http://<my_ip>/rest/items/solarwattBattery_batteryflex_BatteryFlex_0C3512_harmonized_bat_power_out

  • Leistung in Batterie: http://solar-energiemanager.fritz.box/rest/items/solarwattBattery_batteryflex_BatteryFlex_0C3512_harmonized_bat_power_in

Wäre sehr nett, wenn das jemand bestättigen könnte … was uns auch noch fehlt ist:

  1. Direkt verbrauchte Leistung der Solaranlage
  2. Eingespeiste Leistung der Solaranlage
  3. Verbrauch unserer Wallbox

Vielleicht hat das von euch ja schon jemand herausbekommen …

Vielen Dank für eure Unterstützung.

Update:
Hallo,

habe nun alle Felder nach bestem Wissen und Gewissen herausgesucht … hier das Ergebnis:

rest:
    # solar power produced
  - resource: http://solar-energiemanager.fritz.box/rest/items/pvplant_standard_0dc3199788a7_harmonized_power_out
    scan_interval: 60
    sensor:
      - name: "SolarWatt Leistung Erzeugung"
        unique_id: "solarwatt.powerplant.power.out"
        icon: mdi:solar-power-variant-outline
        state_class: measurement
        unit_of_measurement: "W"
        device_class: power
        value_template: '{{ value_json.state.split("|")[1]| trim(" W")| float | round(1) }}'
        
    # solar power self consumed
  - resource: http://solar-energiemanager.fritz.box/rest/items/kiwigrid_location_standard_6ce51aeb70e1_harmonized_power_self_consumed
    scan_interval: 60
    sensor:
      - name: "SolarWatt Leistung Eigenverbrauch"
        unique_id: "solarwatt.powerplant.power.selfconsumed"
        icon: mdi:home-lightning-bolt-outline
        state_class: measurement
        unit_of_measurement: "W"
        device_class: power
        value_template: '{{ value_json.state.split("|")[1]| trim(" W")| float | round(1) }}'        
        
    # solar power self supplied
  - resource: http://solar-energiemanager.fritz.box/rest/items/kiwigrid_location_standard_6ce51aeb70e1_harmonized_power_self_supplied
    scan_interval: 60
    sensor:
      - name: "SolarWatt Leistung Einspeisung"
        unique_id: "solarwatt.powerplant.power.selfsupplied"
        icon: mdi:transmission-tower-import
        state_class: measurement
        unit_of_measurement: "W"
        device_class: power
        value_template: '{{ value_json.state.split("|")[1]| trim(" W")| float | round(1) }}'        
        
    # power consumed
  - resource: http://solar-energiemanager.fritz.box/rest/items/kiwigrid_location_standard_6ce51aeb70e1_harmonized_power_consumed
    scan_interval: 60
    sensor:
      - name: "SolarWatt Leistung Gesamtverbrauch"
        unique_id: "solarwatt.power.consumed"
        icon: mdi:home-lightning-bolt-outline
        state_class: measurement
        unit_of_measurement: "W"
        device_class: power
        value_template: '{{ value_json.state.split("|")[1]| trim(" W")| float | round(1) }}'

    # power provided by power station
  - resource: http://solar-energiemanager.fritz.box/rest/items/solarwattBattery_batteryflex_BatteryFlex_0C3512_harmonized_net_power
    scan_interval: 60
    sensor:
      - name: "SolarWatt Verbrauch Netz"
        unique_id: "solarwatt.power.net.consumed"
        icon: mdi:transmission-tower-export
        state_class: measurement
        unit_of_measurement: "W"
        device_class: power
        value_template: '{{ value_json.state.split("|")[1]| trim(" W")| float | round(1) }}'
    
    # battery state of charge
  - resource: http://solar-energiemanager.fritz.box/rest/items/solarwattBattery_batteryflex_BatteryFlex_0C3512_batteryChannelGroup_batteryStateOfCharge
    scan_interval: 60
    sensor:
      - name: "SolarWatt Batterie Ladezustand"
        unique_id: "solarwatt.battery.state.charge"
        icon: mdi:home-battery-outline
        state_class: measurement
        unit_of_measurement: "%"
        device_class: battery
        value_template: '{{ value_json.state }}'
        
    # power consumed from battery
  - resource: http://solar-energiemanager.fritz.box/rest/items/solarwattBattery_batteryflex_BatteryFlex_0C3512_harmonized_bat_power_out
    scan_interval: 60
    sensor:
      - name: "SolarWatt Batterie Verbrauchsleistung"
        unique_id: "solarwatt.battery.power.provided"
        icon: mdi:battery-arrow-down-outline
        state_class: measurement
        unit_of_measurement: "W"
        device_class: power
        value_template: '{{ value_json.state.split("|")[1]| trim(" W")| float | round(1) }}'
        
    # power consumed from battery
  - resource: http://solar-energiemanager.fritz.box/rest/items/solarwattBattery_batteryflex_BatteryFlex_0C3512_harmonized_bat_power_in
    scan_interval: 60
    sensor:
      - name: "SolarWatt Batterie Ladeleistung"
        unique_id: "solarwatt.battery.power.loaded"
        icon: mdi:battery-arrow-up-outline
        state_class: measurement
        unit_of_measurement: "W"
        device_class: power
        value_template: '{{ value_json.state.split("|")[1]| trim(" W")| float | round(1) }}'

    # power consumed by wallbox        
  - resource: http://solar-energiemanager.fritz.box/rest/items/alfensingle_wallbox_7e3cafd5ab59_harmonized_power
    scan_interval: 60
    sensor:
      - name: "SolarWatt Wallbox Verbrauch"
        unique_id: "solarwatt.wallbox.power.consumed"
        icon: mdi:ev-station
        state_class: measurement
        unit_of_measurement: "W"
        device_class: power
        value_template: '{{ value_json.state.split("|")[1]| trim(" W")| float | round(1) }}'

Wäre absolut super wenn jemand von euch bestätigen könnte, dass die Felder korrekt interpreiert werden. Das Einzige eineindeutige ist der Batterieladezustand … der Rest :wink:

Vielen Dank für eure Unterstützung … noch eine Frage: Solarwatt Batterie Ladeleistung liefert OHNE(!) Solarstrom 1.5 Watt … kann das sein?

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)