Hoymiles Wechselrichter mit AhoyDTU auslesen und in HomeAssistant einbinden

Wie die AhoyDTU korrekt konfiguriert wird um den Wechselrichter auszulesen soll hier nicht das Thema sein. Anleitungen gibt es im Internet dazu genug. Aber die Punkte die wichtig sind um die verfügbaren Werte aus der AhoyDTU in HomeAssistant zu bekommen schon.


Hierfür muss im Setup von AhoyDTU folgendes beachtet werden.

Der Name unter Inverter ist wichtig und bei MQTT muss als Broker die IP-Adresse von HomeAssistant, der Port, und ein Topic definiert sein. Ich habe mir in HomeAssistant einen eigenen User angelegt. Auch hierzu gibt es in Bezug auf MQTT ausreichend YT-Videos und Dokumentationen

Danach habe ich in der configuration.yaml die Zeile

mqtt: !include mqtt.yaml

hinzugefügt, die Datei mqtt.yaml angelegt und wie folgt befüllt.

Hier findet man in den “state_topic” den im AhoyDTU angelegten Topic und den Namen des Inventers (siehe Screenshot oben). Man kann also meine Daten einfach kopieren und “ahoy/” durch den eigenen Topic ersetzen und “HM-800” durch den eigenen Name, den man dem Wechselrichter gegeben hat.

#####################################################
### MQQT Sensoren anlegen
#####################################################

#AhoyDTU HM-800
sensor:
  #<TOPIC>/#
  - name: "AHOY comm_start"
    state_topic: ahoy/comm_start
  - name: "AHOY comm_start_extended"
    state_topic: ahoy/comm_start
    value_template: >-
      {{ value | int | timestamp_custom('%d.%m.%Y %H:%M:%S') }}
  - name: "AHOY comm_stop"
    state_topic: ahoy/comm_stop
  - name: "AHOY comm_stop_extended"
    state_topic: ahoy/comm_stop
    value_template: >-
      {{ value | int | timestamp_custom('%d.%m.%Y %H:%M:%S') }}
  - name: "AHOY dis_night_comm"
    state_topic: ahoy/dis_night_comm
  - name: "AHOY mqtt"
    state_topic: ahoy/mqtt
  - name: "AHOY status"
    state_topic: ahoy/status
  - name: "AHOY status extended"
    state_topic: ahoy/status
    value_template: >-
      {% if (value | int) == 0 %}
        offline
      {% elif (value | int) == 1 %}
        partial
      {% elif (value | int) == 2 %}
        online
      {% endif %}
  - name: "AHOY sunrise"
    state_topic: ahoy/sunrise
  - name: "AHOY sunrise_extended"
    state_topic: ahoy/sunrise
    value_template: >-
      {{ value | int | timestamp_custom('%d.%m.%Y %H:%M:%S') }}
  - name: "AHOY sunset"
    state_topic: ahoy/sunset
  - name: "AHOY sunset_extended"
    state_topic: ahoy/sunset
    value_template: >-
      {{ value | int | timestamp_custom('%d.%m.%Y %H:%M:%S') }}
  - name: "AHOY Uptime"
    state_topic: ahoy/uptime
    unit_of_measurement: "s"
  - name: "AHOY Uptime_extended"
    state_topic: ahoy/uptime
    value_template: >-
      {{ value | int | timestamp_custom('%H:%M:%S', local=false) }}
  - name: "AHOY Version"
    state_topic: ahoy/version
  - name: "AHOY Device"
    state_topic: ahoy/device
  - name: "AHOY WiFi"
    state_topic: ahoy/wifi_rssi
    unit_of_measurement: "dBm"
  - name: "AHOY Gesamtertrag"
    state_topic: ahoy/YieldTotal
    unit_of_measurement: "kWh"
  #<TOPIC>/<INVERTER_NAME_FROM_SETUP>/#
  - name: "AHOY available"
    state_topic: ahoy/HM-800/available
  - name: "AHOY available extended"
    state_topic: ahoy/HM-800/available
    value_template: >-
      {% if (value | int) == 0 %}
        not available and not producing
      {% elif (value | int) == 1 %}
        available but not producing
      {% elif (value | int) == 2 %}
        available and producing
      {% endif %}
  - name: "AHOY last_success"
    state_topic: ahoy/HM-800/last_success
  - name: "AHOY last_success_extended"
    state_topic: ahoy/HM-800/last_success
    value_template: >
      {{ value | int | timestamp_custom('%d.%m.%Y %H:%M:%S') }}
  #Basic <TOPIC>/<INVERTER_NAME_FROM_SETUP>/ch0/#
  - name: "AHOY U_AC"
    state_topic: ahoy/HM-800/ch0/U_AC
    unit_of_measurement: "V"
  - name: "AHOY I_AC"
    state_topic: ahoy/HM-800/ch0/I_AC
    unit_of_measurement: "A"
  - name: "AHOY P_AC"
    state_topic: ahoy/HM-800/ch0/P_AC
    unit_of_measurement: "W"
  - name: "AHOY Q_AC"
    state_topic: ahoy/HM-800/ch0/Q_AC
  - name: "AHOY F_AC"
    state_topic: ahoy/HM-800/ch0/F_AC
    unit_of_measurement: "Hz"
  - name: "AHOY PF_AC"
    state_topic: ahoy/HM-800/ch0/PF_AC
  - name: "AHOY Temperatur"
    state_topic: ahoy/HM-800/ch0/Temp
    unit_of_measurement: "°C"
  - name: "AHOY EVT"
    state_topic: ahoy/HM-800/ch0/EVT
  - name: "AHOY YieldDay"
    state_topic: ahoy/HM-800/ch0/YieldDay
    device_class: power
    unit_of_measurement: "Wh"
  - name: "AHOY YieldTotal"
    state_topic: ahoy/HM-800/ch0/YieldTotal
    device_class: energy
    unit_of_measurement: "kWh"
  - name: "AHOY P_DC"
    state_topic: ahoy/HM-800/ch0/P_DC
    unit_of_measurement: "W"
  - name: "AHOY Efficiency"
    state_topic: ahoy/HM-800/ch0/Efficiency
    unit_of_measurement: "%"
  - name: "AHOY FWVersion"
    state_topic: ahoy/HM-800/ch0/FWVersion
  - name: "AHOY FWBuildYear"
    state_topic: ahoy/HM-800/ch0/FWBuildYear
  - name: "AHOY FWBuildMonthDay"
    state_topic: ahoy/HM-800/ch0/FWBuildMonthDay
  - name: "AHOY HWPartID"
    state_topic: ahoy/HM-800/ch0/HWPartId
  - name: "AHOY PowerLimit"
    state_topic: ahoy/HM-800/ch0/PowerLimit
  - name: "AHOY LastAlarmCode"
    state_topic: ahoy/HM-800/ch0/LastAlarmCode
  #Panel 1 - UNTEN - <TOPIC>/<INVERTER_NAME_FROM_SETUP>/ch<CHANNEL_NUMBER>/#
  - name: "AHOY U_DC 1"
    state_topic: ahoy/HM-800/ch1/U_DC
    unit_of_measurement: "V"
  - name: "AHOY I_DC 1"
    state_topic: ahoy/HM-800/ch1/I_DC
    unit_of_measurement: "A"
  - name: "AHOY P_DC 1"
    state_topic: ahoy/HM-800/ch1/P_DC
    unit_of_measurement: "W"
  - name: "AHOY YieldDay 1"
    state_topic: ahoy/HM-800/ch1/YieldDay
    unit_of_measurement: "Wh"
  - name: "AHOY YieldTotal 1"
    state_topic: ahoy/HM-800/ch1/YieldTotal
    unit_of_measurement: "kWh"
  - name: "AHOY Irradiation 1"
    state_topic: ahoy/HM-800/ch1/P_DC
    unit_of_measurement: "%"
  #Panel 2 - OBEN - <TOPIC>/<INVERTER_NAME_FROM_SETUP>/ch<CHANNEL_NUMBER>/#
  - name: "AHOY U_DC 2"
    state_topic: ahoy/HM-800/ch2/U_DC
    unit_of_measurement: "V"
  - name: "AHOY I_DC 2"
    state_topic: ahoy/HM-800/ch2/I_DC
    unit_of_measurement: "A"
  - name: "AHOY P_DC 2"
    state_topic: ahoy/HM-800/ch2/P_DC
    unit_of_measurement: "W"
  - name: "AHOY YieldDay 2"
    state_topic: ahoy/HM-800/ch2/YieldDay
    unit_of_measurement: "Wh"
  - name: "AHOY YieldTotal 2"
    state_topic: ahoy/HM-800/ch2/YieldTotal
    unit_of_measurement: "kWh"
  - name: "AHOY Irradiation 2"
    state_topic: ahoy/HM-800/ch2/P_DC
    unit_of_measurement: "%"

Neben den Werten, die mir die AhoyDTU liefert habe ich auch einige Identifier gleich in “verständliche Werte” transformiert und Zeitstempel im UTC-Format gleich ich menschlich lesbare Notationen.
Die Darstellung der “Uptime” ist mir nicht wirklich gelungen, da muss ich nochmals suchen. Stunden, Minuten, Sekunden ist da nicht ausreichen ein “Tage” fehlt noch.

Nach den ersten Tagen der Nutzung sind mir folgende Ungereimtheiten aufgefallen, die ich dann wie folgt versucht habe abzufangen. Der Wechselrichter hat einen Eigenverbrauch. Darum nutze ich für die Werte der Stromproduktion den sensor “sensor.ahoy_p_ac” das entspricht zwar nicht der Gleichstromproduktion des BKWs, aber den am Ende bereitgestellten Strom.
Dann ist mir aufgefallen, dass dieser Sensor den Wert von ca. 5Watt nie unterschreitet. Also auch bei schlechtem Wetter und in der Nacht produziert das BKW 5Watt (erwartet hätte ich eher negative Werte). Das ist natürlich Quatsch und darum habe ich einen weiteren Sensor in der template.yaml angelegt, der mir diesen “Fehlstrom” herausrechnen soll.

#Wenn nur noch der Wechselrichter Strom zieht (<5 Watt), dann soll das auch als Verbrauch gezählt werden
#und nicht als Produktion. Der Verbrauch wird dann im Shelly 3EM ermittelt.
- sensor:
  - name: "Total Power Solar"
    device_class: power
    unit_of_measurement: "W"
    state: >
      {{
      states('sensor.ahoy_p_ac')|float(0) if states('sensor.ahoy_p_ac')| int > 5 else 0
      }}

Um dann meine kWh für den EnergieMonitor zu bekommen habe ich einen Helfer angelegt

Eingangssensor: Total Power Solar
Typ: Integration - Riemann Summenintegralsensor
Integrationsmethode: linke Riemannsche Summe
Genauigkeit: 2
Metrisches Präfix: k
Zeitschnitt: Stunden

Da man diesen Helfer im Nachhinein nicht mehr aufrufen kann um sich die Einstellungen anzuschauen empfehle ich hiervor einen Screenshot zu machen. Man kann sich sicherlich den Helfer und den Sensor "Total Power Solar" sparen und auf einen der kWh- oder Wh-Werte die der Wechselrichter liefert einbinden, jedoch fand ich die Umsetzung über den eigenen Helfer ansprechender.

Der eigene Helfer birgt natürlich das Risiko bei einem Ausfall der AhoyDTU oder des HomeAssistant Daten zu verlieren, die mit der Einbindung der kWh-Werte des Wechselrichters nicht passieren würden. Man hätte bei der direkten Einbindung der Wechselrichterwerte nur bei einem Reconnect einen WertePeak. Trotzdem habe ich mich entschieden den Wert in HomeAssistant selbst zu ermitteln, auch unter dem Hintergrund, dass ich nicht wusste wie die 5Watt bei schlechtem Wetter oder in der Nacht in den Wert "sensor.ahoy_yieldtotal" einfliesst oder nicht. (--> man hätte das auch einfach mal einige Nächste beobachten können. Da fehlte die Geduld)

OFFENE FRAGEN:

wie würden sich die Werte ändern, wenn ein 2. Hoymiles hinzugefügt werden würde, da es doch einige Sensoren gibt, die in ihrem state_topic keinen Bezug auf den "name" des Wechselrichters haben?

Ich habe jetzt doch noch eine "schöne" Darstellung für die Uptime-Information gefunden

  - name: "AHOY Uptime_extended"
    state_topic: ahoy/uptime
    value_template: >
      {% set uptime =value | int %}
      {% set days = (uptime / 86400) | int %}
      {%- if days > 0 -%}
        {{ days }}Tage {{ (uptime - (days * 86400)) | int | timestamp_custom('%-Hh %-Mm', false) }}
      {%- else -%}
        {{ uptime | int | timestamp_custom('%-Hh %-Mm', false) }}
      {%- endif -%}

Ich habe 2 Wechselrichter. Einen 1200er und einen 1500er.

Ergibt sich dann auch das Problem (ich habe mir den ganzen Code noch nicht angesehen)?

Wenn nicht, könntest Du ja den zweiten als HM-800-2 benennen?

@imany Die Frage der Bezeichnungen ist ja hier nicht das Thema, sondern ob in den AhoyDTU-Daten dann alle Sensoren, die keinen Bezeichnungsbezug haben von beiden Wechselrichtern einfach addiert werden.

Da es aber nur folgende Werte betrifft, ist das wohl verschmerzbar.

  - name: "AHOY Gesamtertrag"
    state_topic: ahoy/YieldTotal
    unit_of_measurement: "kWh"

Moin,

ich hatte das System auch eine Weile und bei mir wurden die Entities nicht über die MQTT-Integration eingebunden. In der dev-Version der Firmware Issue ist das gefixt und du brauchst nicht jeden Wert mühsam einzeln definieren.

Have fun!

Ich hatte aus anderen Gründen OpenDTU statt Ahoy genutzt. Nach der MQTT Konfiguration und Discovery, die genau so aussieht, kam alles direkt im HA an.

Kann ich mal eine ganz andere Frage stellen? Was habt ihr für Reichweiten?
Ich habe das Sendemodul mit schraubbarer Antenne und Luftlinie 4m durch eine Aussenwand ging schon nicht mehr. Ist das normal?

Ich habe eine Außenantenne. Diese steht senkrecht zur Hauswand.
Die AhoyDTU liegt in einem Sideboard in ca 120cm Höhe. Das Sideboard hat 2 Holzwände ca. 1cm dick, dann kommt 3-4m Luftlinie, dann eine Außenwand mit glaube 20cm Isolierung, dann ca 1m Luft und dann der Hoymiles mit dem Antennenstummel von der Hauswand weg zeigend.
Anfang steckte die AhoyDTU im Raspberry PI 3 zur Stromversorgung. Nachdem ich ihr eine eigene Stromversorgung gegönnt habe funktioniert alles problemlos.

2 „Gefällt mir“

Danke dir! Dann teste ich nochmal was rum mit Positionierung der Antenne, vielleicht noch einen Kondensator ergänzen und stärkeres Netzteil

Hey

Ich bin ganz neu hier im forum.
Habe auch das Ahoy DTU Projekt umgesetzt.

Zu anfang hatte ich ein paar Schwierigkeiten, diese wurden konplett alle behoben, seit ich den Kondensator, beim NRF24L01, an die PINs mit dazu gelötet habe.

Seit dem kann ich auch alle 15 sec. nach neuen Werten Scannen und wenn ich über die IP adresse ein Power limit sende, startet der ESP nicht mehr neu.

Eventuell hilft das auch.

Schöne Grüße
Sebastian

Sorry hatte Überlesen das du den Kondensator mit ein arbeiten möchtest.

Netzteil bei mir altes Samsung Handyladegerät mit 1 A

1 „Gefällt mir“

Danke. In jedem Fall ein guter Tipp. War nur als versuch gedacht. Gut, wenn du bestätigen kannst dass das bei dir hilft :smiley:

@simon42 ich sehe gerade, dass dieser Beitrag von mir auch nicht vollständig migrieren wurde. Könntest du den bitte auch reparieren?
Danke Dir
Claudius

Danke dir für den Hinweis, ich schaue mir den morgen mal genau an :microscope:

1 „Gefällt mir“

Guten Tag liebe Community,

ich habe seit heute die Ahoy DTU mit nem HM Wechselrichter. Ich habe die den mqtt eingetragen und sehe die Daten im MQTT Explorer. Nur komme ich jetzt nicht weiter. In der Configuration.yaml steht noch nicht von broker oder mqtt und wenn ich dies eintragen will, dann zeigt er mir beim prüfen der yaml einen Fehler.

Kann mir jemand weiter helfen? Gibt es den keine Integration oder Adon für Ahoy?

Gruß Denny

Leider ist mein AusgangsPost beim Umzug ins neue Forum kaputt gegangen.
Ich versuche hier die fehlenden Teile aufzunehmen.

Ich habe in der Konfiguration.yaml nur folgende Zeile hinzugefügt.

mqtt: !include mqtt.yaml

dann eine eigene Datei matt.yaml mit folgendem Code angelegt
ACHTUNG: da wo bei mir im Code “HM-800” steht muss Du Deine Einstellung (Name) aus der AhoyDTU einfügen und da wo in meinem Code “ahoy” steht, musst Du Deinen Tonic einsetzen.
Screenshots was ich mit Name und Topic meine kannst du im Urpost sehen.

#####################################################
### MQQT Sensoren anlegen
#####################################################

#AhoyDTU HM-800
sensor:
  #<TOPIC>/#
  - name: "AHOY comm_start"
    state_topic: ahoy/comm_start
  - name: "AHOY comm_start_extended"
    state_topic: ahoy/comm_start
    value_template: >-
      {{ value | int | timestamp_custom('%d.%m.%Y %H:%M:%S') }}
  - name: "AHOY comm_stop"
    state_topic: ahoy/comm_stop
  - name: "AHOY comm_stop_extended"
    state_topic: ahoy/comm_stop
    value_template: >-
      {{ value | int | timestamp_custom('%d.%m.%Y %H:%M:%S') }}
  - name: "AHOY dis_night_comm"
    state_topic: ahoy/dis_night_comm
  - name: "AHOY mqtt"
    state_topic: ahoy/mqtt
  - name: "AHOY status"
    state_topic: ahoy/status
  - name: "AHOY status extended"
    state_topic: ahoy/status
    value_template: >-
      {% if (value | int) == 0 %}
        offline
      {% elif (value | int) == 1 %}
        partial
      {% elif (value | int) == 2 %}
        online
      {% endif %}
  - name: "AHOY sunrise"
    state_topic: ahoy/sunrise
  - name: "AHOY sunrise_extended"
    state_topic: ahoy/sunrise
    value_template: >-
      {{ value | int | timestamp_custom('%d.%m.%Y %H:%M:%S') }}
  - name: "AHOY sunset"
    state_topic: ahoy/sunset
  - name: "AHOY sunset_extended"
    state_topic: ahoy/sunset
    value_template: >-
      {{ value | int | timestamp_custom('%d.%m.%Y %H:%M:%S') }}
  - name: "AHOY Uptime"
    state_topic: ahoy/uptime
    unit_of_measurement: "s"
  - name: "AHOY Uptime_extended"
    state_topic: ahoy/uptime
    value_template: >
      {% set uptime =value | int %}
      {% set days = (uptime / 86400) | int %}
      {%- if days > 0 -%}
        {{ days }}Tage {{ (uptime - (days * 86400)) | int | timestamp_custom('%-Hh %-Mm', false) }}
      {%- else -%}
        {{ uptime | int | timestamp_custom('%-Hh %-Mm', false) }}
      {%- endif -%}
  - name: "AHOY Version"
    state_topic: ahoy/version
  - name: "AHOY Device"
    state_topic: ahoy/device
  - name: "AHOY WiFi"
    state_topic: ahoy/wifi_rssi
    unit_of_measurement: "dBm"
  - name: "AHOY Gesamtertrag"
    state_topic: ahoy/YieldTotal
    unit_of_measurement: "kWh"
  #<TOPIC>/<INVERTER_NAME_FROM_SETUP>/#
  - name: "AHOY available"
    state_topic: ahoy/HM-800/available
  - name: "AHOY available extended"
    state_topic: ahoy/HM-800/available
    value_template: >-
      {% if (value | int) == 0 %}
        not available and not producing
      {% elif (value | int) == 1 %}
        available but not producing
      {% elif (value | int) == 2 %}
        available and producing
      {% endif %}
  - name: "AHOY last_success"
    state_topic: ahoy/HM-800/last_success
  - name: "AHOY last_success_extended"
    state_topic: ahoy/HM-800/last_success
    value_template: >
      {{ value | int | timestamp_custom('%d.%m.%Y %H:%M:%S') }}
  #Basic <TOPIC>/<INVERTER_NAME_FROM_SETUP>/ch0/#
  - name: "AHOY U_AC"
    state_topic: ahoy/HM-800/ch0/U_AC
    unit_of_measurement: "V"
  - name: "AHOY I_AC"
    state_topic: ahoy/HM-800/ch0/I_AC
    unit_of_measurement: "A"
  - name: "AHOY P_AC"
    state_topic: ahoy/HM-800/ch0/P_AC
    unit_of_measurement: "W"
  - name: "AHOY Q_AC"
    state_topic: ahoy/HM-800/ch0/Q_AC
  - name: "AHOY F_AC"
    state_topic: ahoy/HM-800/ch0/F_AC
    unit_of_measurement: "Hz"
  - name: "AHOY PF_AC"
    state_topic: ahoy/HM-800/ch0/PF_AC
  - name: "AHOY Temperatur"
    state_topic: ahoy/HM-800/ch0/Temp
    unit_of_measurement: "°C"
  - name: "AHOY EVT"
    state_topic: ahoy/HM-800/ch0/EVT
  - name: "AHOY YieldDay"
    state_topic: ahoy/HM-800/ch0/YieldDay
    device_class: energy
    unit_of_measurement: "Wh"
  - name: "AHOY YieldTotal"
    state_topic: ahoy/HM-800/ch0/YieldTotal
    device_class: energy
    unit_of_measurement: "kWh"
  - name: "AHOY P_DC"
    state_topic: ahoy/HM-800/ch0/P_DC
    unit_of_measurement: "W"
  - name: "AHOY Efficiency"
    state_topic: ahoy/HM-800/ch0/Efficiency
    unit_of_measurement: "%"
  - name: "AHOY FWVersion"
    state_topic: ahoy/HM-800/ch0/FWVersion
  - name: "AHOY FWBuildYear"
    state_topic: ahoy/HM-800/ch0/FWBuildYear
  - name: "AHOY FWBuildMonthDay"
    state_topic: ahoy/HM-800/ch0/FWBuildMonthDay
  - name: "AHOY HWPartID"
    state_topic: ahoy/HM-800/ch0/HWPartId
  - name: "AHOY PowerLimit"
    state_topic: ahoy/HM-800/ch0/PowerLimit
  - name: "AHOY LastAlarmCode"
    state_topic: ahoy/HM-800/ch0/LastAlarmCode
  #Panel 1 - UNTEN - <TOPIC>/<INVERTER_NAME_FROM_SETUP>/ch<CHANNEL_NUMBER>/#
  - name: "AHOY U_DC 1"
    state_topic: ahoy/HM-800/ch1/U_DC
    unit_of_measurement: "V"
  - name: "AHOY I_DC 1"
    state_topic: ahoy/HM-800/ch1/I_DC
    unit_of_measurement: "A"
  - name: "AHOY P_DC 1"
    state_topic: ahoy/HM-800/ch1/P_DC
    unit_of_measurement: "W"
  - name: "AHOY YieldDay 1"
    state_topic: ahoy/HM-800/ch1/YieldDay
    unit_of_measurement: "Wh"
  - name: "AHOY YieldTotal 1"
    state_topic: ahoy/HM-800/ch1/YieldTotal
    unit_of_measurement: "kWh"
  - name: "AHOY Irradiation 1"
    state_topic: ahoy/HM-800/ch1/P_DC
    unit_of_measurement: "%"
  #Panel 2 - OBEN - <TOPIC>/<INVERTER_NAME_FROM_SETUP>/ch<CHANNEL_NUMBER>/#
  - name: "AHOY U_DC 2"
    state_topic: ahoy/HM-800/ch2/U_DC
    unit_of_measurement: "V"
  - name: "AHOY I_DC 2"
    state_topic: ahoy/HM-800/ch2/I_DC
    unit_of_measurement: "A"
  - name: "AHOY P_DC 2"
    state_topic: ahoy/HM-800/ch2/P_DC
    unit_of_measurement: "W"
  - name: "AHOY YieldDay 2"
    state_topic: ahoy/HM-800/ch2/YieldDay
    unit_of_measurement: "Wh"
  - name: "AHOY YieldTotal 2"
    state_topic: ahoy/HM-800/ch2/YieldTotal
    unit_of_measurement: "kWh"
  - name: "AHOY Irradiation 2"
    state_topic: ahoy/HM-800/ch2/P_DC
    unit_of_measurement: "%"

Damit hat du dann für alle von der AhoyDTU gelieferten MQTT-Werte Sensoren angelegt.
Einen Fehler bei der Überprüfung der YAML-Dateien habe ich so nicht bekommen.

Falls Du noch Fragen hast, dann einfach antworten.

Viel Erfolg

Claudius

Ich danke dir schon mal sehr, das hat geklappt. Danke!

Jetzt will ich dies natürlich zu dem Energiedashboard hinzufügen, kann aber von ahoy nichts auswählen. Ist es richtig das ich da jetzt ne Statistik anlegen muss? und falls ja wie mache ich das?

Gruß Denny

Nein.
Du musst eine Sensor anlegen der kWh oder Wh hat.
Oder einen Helfer.
Ich habe es mit einem Helfer (Riemann Summen Integral Sensor) gemacht

Eingangssensor: Total Power Solar
Typ: Integration - Riemann Summenintegralsensor
Integrationsmethode: linke Riemannsche Summe
Genauigkeit: 2
Metrisches Präfix: k
Zeitschnitt: Stunden

Dann musst du etwas warten, denn der Helfer muss erst Werte bauen/sammeln und dann kannst Du es im Energiedashboard einbinden. Das kann 15-120min dauern bis der Helfer sich einbinden lässt.

Ich habe aus den AhoyDTU-Sensoren aber zuerst einen neuen Sensor gemacht und dafür folgenden Sensor in der template.yaml angelegt.
Mit dem Sensor wird alles unter 5Wall ausgeblendet, denn der Wechselrichter zieht selber auch Strom und wenn von den Panels nichts mehr kommt, dann zieht er aus dem Netz. Watt im Wechselrichter bleibt aber immer positiv. Darum wird alle unter 5Watt als 0Watt genommen.
“ahoy_p_ac” habe ich genommen, weil das der Watt-Output des Wechselrichters ist, also abzüglich des Wechselrichterverbrauchs.

#Der Sensor steht hier, da dann an dieser Stelle weitere Sensoren als Lieferanten
#in den Gesamtertrag einfliessen können indem sie im 'state' command einfach hinzugefügt werden
#Wenn nur noch der Wechselrichter Strom zieht (<5 Watt), dann soll das auch als Verbrauch gezählt werden
#und nicht als Produktion. Der Verbrauch wird dann im Shelly 3EM ermittelt.
- sensor:
  - name: "Total Power Solar"
    unique_id: "total_power_solar"
    device_class: power
    unit_of_measurement: "W"
    state: >
      {{
      states('sensor.ahoy_p_ac')|float(0) if states('sensor.ahoy_p_ac')| int > 5 else 0
      }}

Viel Erfolg.

Claudius

ich kann bei mir leider keine template.yaml finden

ich habe den sensor jetzt unter configuration.yaml unter templates hinzugefügt. ich habe noch keine template.yaml. aber diese kann ich ja bestimmt wie die mqtt.yaml hinzufügen, damit es übersichtlicher wird.

Ups…

dann schreibe in die configuration.yaml folgendes

template: !include template.yaml

lege eine template.yaml an und packe den obigen Code rein.

BITTE unbedingt vorher prüfen ob alles korrekt ist vor dem Reboot von HA.

Viel Erfolg

Claudius

ok ich danke dir jetzt schon vielmals für deine Hilfe. Habe das jetzt alles so weit gemacht und konnte es nun auch als Sonnenkollektor hinzufügen. Er zeigt mir jetzt nur noch einen Fehler an:

Ich produziere jetzt aber auch gerade nur noch 8 watt und weiß nicht ob es damit zusammen hängt.

Gruß Denny