Powerfox Flow integration in HA

Hi zusammen,

vorab bin noch recht neu in HA und gerade bei YAML noch nicht so fit wie ich es gerne wäre :wink:

Dafür aber sicherlich den ein oder anderen hier in der Community.

Es geht um folgendes in kürze habe ich 2 Geräte von PowerFox. Der Powerfox poweropti+ ud den flow. Der poweropti+ lässt sich direkt über Integration von Powerfox integrieren, der flow leider nicht. Nun nach etlichen gesuche im Web und auch hier im Forum folgenden YAML Code gefunden und in der bestehenden sensor.yaml integiert:

- platform: template
  sensors:
      daheimlader_charging_station_state:
        friendly_name: "DaheimLader Status"
        unique_id: daheimlader_charging_station_state_text
        value_template: >-
          {% if states('sensor.daheimlader_status') == '1' %}
            Bereit
          {% elif states('sensor.daheimlader_status') == '2' %}
            Verbunden
          {% elif states('sensor.daheimlader_status') == '3' %}
            Laden startet
          {% elif states('sensor.daheimlader_status') == '4' %}
            Lädt
          {% elif states('sensor.daheimlader_status') == '5' %}
            Start fehlgeschlagen
          {% elif states('sensor.daheimlader_status') == '6' %}
            Laden beendet
          {% elif states('sensor.daheimlader_status') == '7' %}
            Systemfehler
          {% elif states('sensor.daheimlader_status') == '8' %}
            Ladetimer
          {% elif states('sensor.daheimlader_status') == '9' %}
            Firmware Upgrade
          {% elif states('sensor.daheimlader_status') == '10' %}
            Eingeschaltet
          {% elif states('sensor.daheimlader_status') == '31' %}
            Blockiert
          {% else %}
            Unbekannt
          {% endif %}
          
      daheimlader_cable_state:
        friendly_name: "DaheimLader Status Ladekabel"
        unique_id: daheimlader_cable_state_text
        value_template: >-
          {% if states('sensor.daheimlader_status_ladekabel') == '0' %}
            Nicht verbunden
          {% elif states('sensor.daheimlader_status_ladekabel') == '1' %}
            Verbunden
          {% else %}
            Unbekannt
          {% endif %}

      daheimlader_fault_code:
        friendly_name: "DaheimLader Fehlercode"
        unique_id: daheimlader_fault_code_text
        value_template: >-
          {% if states('sensor.daheimlader_fehlercode') == '0' %}
            kein Fehler
          {% elif states('sensor.daheimlader_fehlercode') == '11' %}
            CP-Kontroll Wert
          {% elif states('sensor.daheimlader_fehlercode') == '13' %}
            Unterspannung
          {% elif states('sensor.daheimlader_fehlercode') == '14' %}
            Überspannung
          {% elif states('sensor.daheimlader_fehlercode') == '15' %}
            Temperatur zu hoch
          {% elif states('sensor.daheimlader_fehlercode') == '16' %}
            Zählerwert
          {% elif states('sensor.daheimlader_fehlercode') == '17' %}
            Leckage
          {% elif states('sensor.daheimlader_fehlercode') == '18' %}
            Output Short
          {% elif states('sensor.daheimlader_fehlercode') == '19' %}
            Überstrom
          {% elif states('sensor.daheimlader_fehlercode') == '21' %}
            Fahrzeug
          {% elif states('sensor.daheimlader_fehlercode') == '22' %}
            Fahrzeug nicht erkannt
          {% elif states('sensor.daheimlader_fehlercode') == '23' %}
            Relais
          {% elif states('sensor.daheimlader_fehlercode') == '24' %}
            Leckage, Gerät prüfen
          {% elif states('sensor.daheimlader_fehlercode') == '25' %}
            PE-Fehler
          {% elif states('sensor.daheimlader_fehlercode') == '26' %}
            Start / Stopp Ladefehler
          {% else %}
            Unbekannt
          {% endif %}

      daheimlader_charge_control:
        friendly_name: "DaheimLader Modus"
        unique_id: daheimlader_charge_control_text
        value_template: >-
          {% if states('sensor.daheimlader_modus') == '0' %}
            Plug % Charge
          {% elif states('sensor.daheimlader_modus') == '1' %}
            RFID / OCPP Start+Stopp
          {% elif states('sensor.daheimlader_modus') == '2' %}
            Ladestation gesperrt
          {% else %}
            Unbekannt
          {% endif %}
          
      daheimlader_charged_energy_scaled:
        friendly_name: "DaheimLader geladene Energie scaled"
        value_template: "{{ states('sensor.daheimlader_geladene_energie') | float }}"
        unit_of_measurement: kWh
        device_class: energy
        unique_id: daheimlader_charged_energy_scaled
        
      daheimlader_ladedauer_scaled:
        friendly_name: "DaheimLader Ladedauer scaled"
        value_template: "{{ states('sensor.daheimlader_ladedauer') | int(0) | timestamp_custom('%-Hh %-Mmin %-Ssec', false) | regex_replace('(^0h| 0min| 0sec$)', '') | regex_replace('(^ )', '') }}"
        
      Powerfox_Flow_scaled: 
        friendly_name: "powerfox_flow_scaled"
        authentication: basic
        username: xxxxxx
        password: xxxxxx
        scan_interval: 30
        headers:
            User-Agent: "Mozilla/5.0"
        resource: https://backend.powerfox.energy/api/2.0/my/xxxxxxxxx/report?day=0&month=0&year=0&fromhour=0
        value_template: "{{ value_json.Gas.Sum }}"
        unit_of_measurement: "m³"
        device_class: gas
        state_class: total_increasing
        json_attributes:
            - Gas       
        unique_id: powerfox_flow_scaled"

Allerdings wird keine neue Identität in HA aufgelistet oder ist verfügbar.

Was mache ich falsch oder bzw. wie könnte es funktionieren?! Muss ggf. die Integration von Powerfox gelöscht werden und alle Sensoren separat über YAML integriert werden? Bin echt überfragt.

Vielen Dank im Voraus für alle die Helfen. Einfach eine Top Community

Blockzitat

Bist du sicher, dass da Stings kommen und keine integer-Werte?

== 1

Die Sensoren für Daheinlade Wallbox wird korrekt geladen und der Status korrekt dargestellt.

Siehe Screenshot:

Problem ist die Powerfox Integration die “Ignoriert” wird bzw. nichts lädt. Eventuell falsch integriert in YAML?!

dies ist das “Problem” wenn man es denn so betitelt kann… :wink:

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Für alle die eventuell eine ähnliche Situation haben und eine Daheimladen Wallbox sowie einen Powerfox flow integrieren wollen meine YAML Dateien die nun alle Werte liefern und auch zuverlässig laufen.

Folgend die configuration.yaml:

# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include sensors.yaml

# Modbus TCP original wallbox ist 192.168.178.192 // proxy ist HA 192.168.178.133
modbus:
   - name: "modbus_hub"
     type: tcp
     host: 192.168.178.192
     port: 502
     delay: 25
     message_wait_milliseconds: 30
     timeout: 60
     sensors:
      - name: "DaheimLader Status"
        address: "0000"
        scan_interval: 30
        data_type: uint16
        unique_id: daheimLader_charging_station_state
      - name: "DaheimLader Status Ladekabel"
        address: "0002"
        scan_interval: 30
        data_type: uint16
        unique_id: daheimLader_cable_state
      - name: "DaheimLader Fehlercode"
        address: "0004"
        scan_interval: 30
        data_type: uint16
        unique_id: daheimlader_fault_code
      - name: "L1 charging current"
        address: "0006"
        scan_interval: 30
        data_type: uint16
        scale: 0.1
        precision: 1
        unit_of_measurement: A
        device_class: current
        unique_id: daheimlader_l1_charging_current
      - name: "L2 charging current"
        address: "0008"
        scan_interval: 30
        data_type: uint16
        scale: 0.1
        precision: 1
        unit_of_measurement: A
        device_class: current
        unique_id: daheimlader_l2_charging_current
      - name: "L3 charging current"
        address: "0010"
        scan_interval: 30
        data_type: uint16
        scale: 0.1
        precision: 1
        unit_of_measurement: A
        device_class: current
        unique_id: daheimlader_l3_charging_current
        
      - name: "DaheimLader Ladeleistung"
        unit_of_measurement: kWh
        address: "0012"
        scan_interval: 30
        data_type: uint32
        scale: 0.001
        precision: 2
        unique_id: daheimlader_active_power
        device_class: energy
        
      - name: "DaheimLader Zählerstand"
        address: "0028"
        scan_interval: 30
        data_type: uint32
        scale: 0.1
        precision: 2
        unique_id: daheimLader_energy_meter
        device_class: energy
        state_class: total_increasing
        unit_of_measurement: kWh
      - name: "DaheimLader geladene Energie"
        unit_of_measurement: kWh
        address: "0072"
        scan_interval: 30
        data_type: uint16
        scale: 0.1
        precision: 2
        unique_id: daheimLader_charged_energy
        device_class: energy
        state_class: total
      - name: "DaheimLader Ladedauer"
        unit_of_measurement: s
        address: "0078"
        scan_interval: 30
        data_type: uint32
        unique_id: daheimlader_charging_time
        device_class: duration
        state_class: measurement
      - name: "DaheimLader Modus"
        address: "0093"
        input_type: holding
        scan_interval: 30
        data_type: uint16
        unique_id: daheimlader_charge_control
      - name: "DaheimLader Ladeleistung L1"
        unit_of_measurement: W
        address: "0016"
        scan_interval: 30
        data_type: uint32
        unique_id: daheimLader_l1_active_power
        device_class: power
        state_class: measurement
      - name: "DaheimLader Ladeleistung L2"
        unit_of_measurement: W
        address: "0020"
        scan_interval: 30
        data_type: uint32
        unique_id: daheimLader_l2_active_power
        device_class: power
        state_class: measurement
      - name: "DaheimLader Ladeleistung L3"
        unit_of_measurement: W
        address: "0024"
        scan_interval: 30
        data_type: uint32
        unique_id: daheimlader_l3_active_power
        device_class: power
      - name: "L1 real-time Spannung"
        unit_of_measurement: V
        address: "0109"
        scan_interval: 30
        data_type: uint16
        unique_id: daheimlader_l1_realtime_spannung
        scale: 0.1
        precision: 1
        device_class: voltage
      - name: "L2 real-time Spannung"
        unit_of_measurement: V
        address: "0111"
        scan_interval: 30
        data_type: uint16
        scale: 0.1
        precision: 1
        unique_id: daheimlader_l2_realtime_spannung
        device_class: voltage
      - name: "L3 real-time Spannung"
        unit_of_measurement: V
        address: "0113"
        scan_interval: 30
        data_type: uint16
        scale: 0.1
        precision: 1
        unique_id: daheimlader_l3_realtime_spannung
        device_class: voltage
        
      - name: "DaheimLader Ladesteuerung"
        input_type: holding
        address: "0095"
        scan_interval: 5
        data_type: uint16
        unique_id: daheimlader_charge_command
        
      - name: "Input Current limit"
        input_type: holding
        address: "0091"
        scan_interval: 5
        data_type: uint16
        unit_of_measurement: A
        device_class: current
        scale: 0.1
        slave: "255"
        unique_id: input_current_limit
        
      - name: "Conn timeout"
        input_type: holding
        address: "0089"
        scan_interval: 15
        data_type: uint16
        unit_of_measurement: s
        device_class: duration
        unique_id: conn_timeout
        
homeassistant:
  customize:
    sensor.daheimlader_energy_meter_scaled:
      state_class: total_increasing
      unit_of_measurement: kWh
      
template:
  - trigger:
      - platform: event
        event_type: bubble_card_update_modules
    sensor:
      - name: "Bubble Card Modules"
        state: "saved"
        icon: "mdi:puzzle"
        attributes:
          modules: "{{ trigger.event.data.modules }}"
          last_updated: "{{ trigger.event.data.last_updated }}"

  - sensor:
      - name: "Gasverbrauch Aktuell"
        state: "{{ state_attr('sensor.gas_json_debug', 'Gas').CurrentConsumption }}"
        unit_of_measurement: "m³"

      - name: "Gasverbrauch kWh"
        state: "{{ state_attr('sensor.gas_json_debug', 'Gas').CurrentConsumptionKwh }}"
        unit_of_measurement: "kWh"

      - name: "Gas Max"
        state: "{{ state_attr('sensor.gas_json_debug', 'Gas').Max }}"
        unit_of_measurement: "m³"

      - name: "Gas Kosten"
        state: "{{ state_attr('sensor.gas_json_debug', 'Gas').TotalDeltaCurrency | round(2) }}"
        unit_of_measurement: "€"
          
powercalc:
 
  

In der Sensor.yaml dann folgendes:

# sensor.yaml

- platform: template
  sensors:
    daheimlader_charging_station_state:
      friendly_name: "DaheimLader Status"
      unique_id: daheimlader_charging_station_state_text
      value_template: >-
        {% if states('sensor.daheimlader_status') == '1' %}
          Bereit
        {% elif states('sensor.daheimlader_status') == '2' %}
          Verbunden
        {% elif states('sensor.daheimlader_status') == '3' %}
          Laden startet
        {% elif states('sensor.daheimlader_status') == '4' %}
          Lädt
        {% elif states('sensor.daheimlader_status') == '5' %}
          Start fehlgeschlagen
        {% elif states('sensor.daheimlader_status') == '6' %}
          Laden beendet
        {% elif states('sensor.daheimlader_status') == '7' %}
          Systemfehler
        {% elif states('sensor.daheimlader_status') == '8' %}
          Ladetimer
        {% elif states('sensor.daheimlader_status') == '9' %}
          Firmware Upgrade
        {% elif states('sensor.daheimlader_status') == '10' %}
          Eingeschaltet
        {% elif states('sensor.daheimlader_status') == '31' %}
          Blockiert
        {% else %}
          Unbekannt
        {% endif %}

    daheimlader_cable_state:
      friendly_name: "DaheimLader Status Ladekabel"
      unique_id: daheimlader_cable_state_text
      value_template: >-
        {% if states('sensor.daheimlader_status_ladekabel') == '0' %}
          Nicht verbunden
        {% elif states('sensor.daheimlader_status_ladekabel') == '1' %}
          Verbunden
        {% else %}
          Unbekannt
        {% endif %}

    daheimlader_fault_code:
      friendly_name: "DaheimLader Fehlercode"
      unique_id: daheimlader_fault_code_text
      value_template: >-
        {% set code = states('sensor.daheimlader_fehlercode') %}
        {% if code == '0' %}
          kein Fehler
        {% elif code == '11' %}
          CP-Kontroll Wert
        {% elif code == '13' %}
          Unterspannung
        {% elif code == '14' %}
          Überspannung
        {% elif code == '15' %}
          Temperatur zu hoch
        {% elif code == '16' %}
          Zählerwert
        {% elif code == '17' %}
          Leckage
        {% elif code == '18' %}
          Output Short
        {% elif code == '19' %}
          Überstrom
        {% elif code == '21' %}
          Fahrzeug
        {% elif code == '22' %}
          Fahrzeug nicht erkannt
        {% elif code == '23' %}
          Relais
        {% elif code == '24' %}
          Leckage, Gerät prüfen
        {% elif code == '25' %}
          PE-Fehler
        {% elif code == '26' %}
          Start / Stopp Ladefehler
        {% else %}
          Unbekannt
        {% endif %}

    daheimlader_charge_control:
      friendly_name: "DaheimLader Modus"
      unique_id: daheimlader_charge_control_text
      value_template: >-
        {% if states('sensor.daheimlader_modus') == '0' %}
          Plug & Charge
        {% elif states('sensor.daheimlader_modus') == '1' %}
          RFID / OCPP Start+Stopp
        {% elif states('sensor.daheimlader_modus') == '2' %}
          Ladestation gesperrt
        {% else %}
          Unbekannt
        {% endif %}

    daheimlader_charged_energy_scaled:
      friendly_name: "DaheimLader geladene Energie scaled"
      value_template: "{{ states('sensor.daheimlader_geladene_energie') | float }}"
      unit_of_measurement: kWh
      device_class: energy
      unique_id: daheimlader_charged_energy_scaled

    daheimlader_ladedauer_scaled:
      friendly_name: "DaheimLader Ladedauer scaled"
      value_template: >-
        {{ states('sensor.daheimlader_ladedauer') | int(0)
           | timestamp_custom('%-Hh %-Mmin %-Ssec', false)
           | regex_replace('(^0h| 0min| 0sec$)', '')
           | regex_replace('(^ )', '') }}
      unique_id: daheimlader_ladedauer_scaled

- platform: rest
  name: gas_json_debug
  resource: https://backend.powerfox.energy/api/2.0/my/1020ba44b968/report?day=0&month=0&year=0&fromhour=0
  username: christian.stade@gmx.de
  password: !secret powerfox_password
  authentication: basic
  scan_interval: 300
  value_template: "{{ value_json.Gas.CurrentConsumption }}"
  json_attributes:
    - Gas