MYPV ELWA-E einbinden

Hallo ich besitze eine ELWA-E die vom SMA HM2.0 gesteuert wird. Daran möchte ich auch nichts ändern.

Ich würde aber gerne den Temperatursensor und Leistung (W) auslesen. um die Werte zu benutzen.
Habe gesehen da gibt es schon etwas .
GitHub - zaubererty/homeassistant-mvpv: MYPV integration for home assistant

Könnt ihr mir helfen wie ich das verwende. Da es nicht über HACS aufgerufen werden kann.

DANKE

Nachtrag:
Hallo zur Erklärung mir geht es darum wie bekomme ich die Dateien heruntergeladen und was muss ich machen. Bin ein Anfänger.

SORRY bitte helft mir es geht nicht der Standardweg mit HACS

:crayon:by HarryP: Zusammenführung Doppelpost

Noch ein Nachtrag:

Also auf der GitHub Seite:
GitHub - zaubererty/homeassistant-mvpv: MYPV integration for home assistant

Steht: Copy this folder to <config_dir>/custom_components/mypv/ .

Welchen Ordner? Soll ich da was von GitHub herunterladen wenn ja wie?

DANKE

Hallo habe die Integration hinbekommen. der ELWA-E liefert auch Werte nur leider ist der aktuelle Stromverbrauch nicht dabei. Obwohl dieser in der App ersichtlich ist.

Folgendes in die Configuration.yaml aufnehmen, die IP Deiner ELWA musst Du natürlich in der ressource-Zeile anpassen:

# myPV AC-ELWA E auslesen
rest:
  - resource: "http://192.168.22.151/data.jsn"
    scan_interval: 10
    sensor:
      - name: "ELWA Leistungsaufnahme"
        value_template: "{{ value_json.power }}"
        unit_of_measurement: "W"
        icon: "mdi:lightning-bolt"
      - name: "ELWA Wassertemperatur"
        value_template: "{{ value_json.temp1 / 10 }}"
        unit_of_measurement: "°C"
        icon: "mdi:thermometer"
      - name: "ELWA Zieltemperatur"
        value_template: "{{ value_json.ww1target / 10 }}"
        unit_of_measurement: "°C"
        icon: "mdi:thermometer"
      - name: "ELWA Netzmonitoring"
        value_template: "{{ value_json.surplus }}"
        unit_of_measurement: "W"
        icon: "mdi:flash"
      - name: "ELWA Status"
        value_template: "{{ value_json.status }}"
        icon: "mdi:cog-outline"
      - name: "ELWA Connection-Status"
        value_template: "{{ value_json.ctrlstate }}"
        icon: "mdi:connection"
      - name: "ELWA Boost-Status"
        value_template: "{{ value_json.boostactive }}"
        icon: "mdi:flash-alert"

Dann kannst Du die Entitäten normal einbinden:
image

Danke habe den Code integriert und werde beim nächsten PV Überschuss sehen ob es passt.

DANKE

Moinsen ,

Ist es auch möglich Werte zu schreiben z…B. um das Teil während des Urlaubes zu deaktivieren…

Hallo zusammen,

als Forumsfrischling habe ich eine Frage zur MyPV Einbindung in Home Assistant.

Ich habe es bereits geschafft über verschiedene Wege den MyPV ACElwa2 in meinem Netzwerk zu kontaktieren und Daten auszulesen. Im ersten Versuch habe ich über die Config.yaml eine modbus.yaml eingebunden und über diese dann meine gewünschten Sensoren definiert und ausgelesen.
Im zweiten Versuch habe ich über die Integration von Thomas Zauberertz
(GitHub - zaubererty/homeassistant-mvpv: MYPV integration for home assistant) diverse Daten auslesen können.

Mein Problem ist jetzt dass ich aber gerne nicht nur Daten auslesen möchte sondern dem ACElwa2 über den Modbus auch das Power Signal von meinem Stromzähler bzw. dem Infrarotlesekopf zur Verfügung stellen möchte.
Der Stromzähler ist über die Tasmota Integration in meiner Ha Instanz eingebunden und liefert u.a. die aktuelle Leistung (+Bezug vom Netz / - Einspeisung) in Watt.

Wie bekomme ich diesen Wert über den Modbus an den PV Stab gesendet?
Ich bin in der Yaml Programmiersprache noch zu unsicher und eine geeignete Vorlage habe ich leider noch nicht gefunden.

vielen Dank vorab für Eure Antowrten

ich habe dafür diese automatisierung und diese zeilen in die config eingefügt:
https://community.home-assistant.io/t/mypv-integation-started/395584/26?u=sleepymaxx

Moin,
wo genau lag dein Fehler? Ich stehe vor dem selben Problem und finde den Ordner nicht. Bin leider auch ein Neuling hier…

Gruß FloKwax

Hallo FloKwax, für das Senden der Daten auf den ModBus musst du zunächst eine Automation erstellen (z.B. über die benutzer Oberfläche) und diese dann im gewünschten Zeit Intervall ausführen um den gewünschten Wert auf den ModBus zu schreiben.
die Automaion ist in meinem Fall unter:
/homeassistant/automations.yaml

und ich sende jede Sekunde den Wert meines PID Reglers auf den Modbus sobald die Sonne über dem Horizont ist

- id: '1719496145235'
  alias: Elwa-PID
  description: ''
  trigger:
  - platform: time_pattern
    seconds: '*'
  condition:
  - condition: state
    entity_id: sun.sun
    state: above_horizon
  action:
  - service: modbus.write_register
    metadata: {}
    data:
      hub: hub1
      address: 1000
      slave: 1
      value: '{{ states(''sensor.ac_elwa_pid_power_ctrl'') }}'
  mode: single

ob das jetzt zu kompliziert oder falsch ist weiß ich natürlich nicht, bei jedenfalls bokomme ich damit den überschuss meiner PV Anlage recht gut in das Wasser meiner Heizung.

Gruß Binford3000

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)

Neue Integration verfügbar

Ich habe eine neue Integration für myPV Heizstäbe geschrieben, allerdings nur für den ELWA 2 testen können.

Für Rückmeldungen bin ich sehr dankbar.

Ich habe es gerade mal bei mir installiert und dort traten folgende Fehler auf bzw. komme ich auch nicht weiter.

Als erster Schritt mußte ja eine Range für die myPV Geräte angegeben werden. Da ich die IP meines Geräts kenne, habe ich eine Range von einer Ip davor und einer danach angegeben. Leider kam immer Error.
Habe dann jedoch die korrekte IP als Anfang und Ende der Range angegeben und dann ging es weiter und die Integration wurde erstellt.
Aber es kam zu folgender Fehlermeldung:

Ich habe das System dann einmal neu gestartet und dann sah die Integration wie folgt aus:

mehr kann ich jetzt auch nicht machen.

Ach noch als Info. Ich habe ein mypv ac thor 9s der bisher sehr gut mit meiner SMA Anlage kommuniziert. Muss ich eventuell dort noch etwas einstellen?

Hallo zusammen, ich würde es auch gerne installieren, bekomme aber folgenden Fehlermeldun
grafik
g:

Bekomme die gleiche Fehlermeldung wie sleepymaxx

OK, das Problem mit dem IP-Range muss ich lösen, wenn ich vor Ort bin. Zur Zeit greife ich über einen VPN-Zugang auf meine Anlage zu, da sind solche Netzwerk-Zugriffe nicht so gut zu debuggen. Aber mit dem auf die tatsächliche IP eingeschränkten Bereich hast du das für dich ja gelöst-

Kniffliger ist dein eigentliches Problem. Da du den ac thor 9s verwendest, weiß ich nicht, wie sich dieser meldet. Kannst du bei Home Assistant in den Bereich Einstellungen / System / Protokolle gehen und dort bei den Fehlermeldungen von Home Assistant Core die Meldungen nach myPV filtern? Vielleicht kann ich damit das Problem einkreisen.

Ein zweiter Ansatz, der mir helfen kann, ist, dass du im Browser die Zeilen
http://{device.ip}/mypv_dev.jsn
bzw.
http://{device.ip}/data.jsn
eingibst. In beiden Fällen bin ich an der Rückgabe interessiert.

Vielen Dank für deine Rückmeldungen, nur so kann ich die Integration von Fehlern befreien.

Sorry, das war ein super blöder Fehler: Intern hieß das Repo mvpv, als ein V statt eines Y. Ist jetzt korrigiert und sollte jetzt klappen.

Weil ich unten nicht antworten darf (Neue user dürfen nur 3 Antworten geben):

Beim ELWA 2 gibt es auf die Abfrage
“http://{device.ip}/control.html?”
eine Variable namens “State” zurück. Vielleicht ist das bei euch anders?
Könntet ihr bitte mal die Abfrage siehe oben im Browser eingeben und die Antwort posten? Vielen Dank.

Jetzt hat die Installation funktioniert - bekomme jetzt allerdings den selben Fehler wie bigbaerchen

Nachtrag:
Bei mir ist folgende Fehlermeldung im System Log:

Logger: homeassistant.components.rest.data
Quelle: components/rest/data.py:120
Integration: RESTful (Dokumentation, Probleme)
Erstmals aufgetreten: 23:51:55 (13 Vorkommnisse)
Zuletzt protokolliert: 23:54:05

Error fetching data: http://192.168.178.118/data.jsn failed with All connection attempts failed

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.mypv.communicate
Quelle: helpers/update_coordinator.py:354
Integration: myPV (Dokumentation)
Erstmals aufgetreten: 00:25:29 (3 Vorkommnisse)
Zuletzt protokolliert: 00:26:01

Unexpected error fetching mypv data
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 354, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/mypv/communicate.py", line 100, in _async_update_data
    await mpv_dev.update()
  File "/config/custom_components/mypv/mypv_device.py", line 149, in update
    self.state = int(self.state_dict["State"])
                     ~~~~~~~~~~~~~~~^^^^^^^^^
KeyError: 'State'

:crayon:by HarryP:
. Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)
. Code-/Logzeilen formatiert (bitte immer in </> einbinden)

Hi

In meinem Logfile steht wie bei cacciac auch folgendes:

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht
 
 Logger: custom_components.mypv.communicate
 Quelle: helpers/update_coordinator.py:354
 Integration: myPV (Dokumentation)
 Erstmals aufgetreten: 19. Oktober 2024 um 20:03:26 (42 Vorkommnisse)
 Zuletzt protokolliert: 18:08:51
 
 Unexpected error fetching mypv data
 Traceback (most recent call last):
   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 354, in _async_refresh
     self.data = await self._async_update_data()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/config/custom_components/mypv/communicate.py", line 100, in _async_update_data
     await mpv_dev.update()
   File "/config/custom_components/mypv/mypv_device.py", line 149, in update
     self.state = int(self.state_dict["State"])
                     ~~~~~~~~~~~~~~~^^^^^^^^^
KeyError: 'State'

Auf die Anfrage http://device.ip/mypv_dev.jsn bekomme ich die folgende Antwort, wobei ich die Seriennummer mal mit x versehen habe:

{
  "device": "AC-THOR",
  "acthor9s": 2,
  "number": 1,
  "sn": "xxxxxxxxxxxxxxxxxxxx",
  "fwversion": "a0021002"
}

Auf die Anfrage http://device.ip/data.jsn kommt folgendes:

{
"device":"ACTHOR",
"acthor9s":2,
"fwversion":"a0021002",
"psversion":110,
"p9sversion":102,
"fsetup":0,
"screen_mode_flag":0,
"power_act":null,
"power_solar_act":null,
"power_grid_act":null,
"power_ac9":0,
"power_solar_ac9":0,
"power_grid_ac9":0,
"power1_solar":0,
"power1_grid":0,
"power2_solar":0,
"power2_grid":0,
"power3_solar":0,
"power3_grid":0,
"load_state":" 1:1 2:1 3:1",
"load_nom":0,
"rel1_out":"0001",
"pump_pwm":0,
"temp1":303,
"temp2":null,
"temp3":null,
"temp4":null,
"boostactive":0,
"legboostnext":"null",
"date":"21.10.24",
"loctime":"18:16:27",
"unixtime":1729527387,
"wp_flag":0,
"wp_time1_ctr":0,
"wp_time2_ctr":0,
"wp_time3_ctr":0,
"schicht_flag":0,
"act_night_flag":0,
"ctrlstate":"Conn. to Home Manager",
"blockactive":0,
"error_state":0,
"meter1_id":null,
"meter1_ip":"null",
"meter2_id":null,
"meter2_ip":"null",
"meter3_id":null,
"meter3_ip":"null",
"meter4_id":null,
"meter4_ip":"null",
"meter5_id":null,
"meter5_ip":"null",
"meter6_id":null,
"meter6_ip":"null",
"meter_ss":null,
"meter_ssid":"null",
"surplus":null,
"m0sum":null,
"m0l1":null,
"m0l2":null,
"m0l3":null,
"m0bat":null,
"m1sum":null,
"m1l1":null,
"m1l2":null,
"m1l3":null,
"m1devstate":null,
"m2sum":null,
"m2l1":null,
"m2l2":null,
"m2l3":null,
"m2soc":null,
"m2state":null,
"m2devstate":null,
"m3sum":null,
"m3l1":null,
"m3l2":null,
"m3l3":null,
"m3soc":null,
"m3devstate":null,
"m4sum":null,
"m4l1":null,
"m4l2":null,
"m4l3":null,
"m4devstate":null,
"ecarstate":"null",
"ecarboostctr":null,
"mss2":"null",
"mss3":"null",
"mss4":"null",
"mss5":"null",
"mss6":"null",
"mss7":"null",
"mss8":"null",
"mss9":"null",
"mss10":"null",
"mss11":"null",
"volt_mains":230,
"curr_mains":0,
"volt_L2":1,
"curr_L2":0,
"volt_L3":1,
"curr_L3":0,
"volt_out":0,
"freq":49986,
"temp_ps":266,
"fan_speed":0,
"ps_state":7,
"cur_ip":"192.168.2.27",
"cur_sn":"255.255.255.0",
"cur_gw":"192.168.2.1",
"cur_dns":"192.168.2.1",
"fwversionlatest":"a0021702",
"psversionlatest":111,
"p9sversionlatest":102,
"upd_state":1,
"upd_files_left":0,
"ps_upd_state":1,
"p9s_upd_state":0,
"cloudstate":4,
"debug_ip":"0.0.0.0"
}

Die Variable State gibt es so nicht.
Viele Werte sind jetzt bei Null, da es schon dunkel ist und auch nichts an Energie im Überschuss vorhanden ist. Aber eventuell kommst du ja mit den Infos weiter…

Gruß
bigbaerchen

1 „Gefällt mir“

Beim ELWA 2 gibt es auf die Abfrage
“http://{device.ip}/control.html?”
eine Variable namens “State” zurück. Vielleicht ist das bei euch anders?
Könntet ihr bitte mal die Abfrage siehe oben im Browser eingeben und die Antwort posten? Vielen Dank.

Achtung:

Bitte lasst uns die Diskussion in dem Beitrag “Neue Custom Integration für myPV” Neue Custom Integration für myPV - #3 von dneumerk weiter führen.

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

Hallo zusammen,

ich habe gute Erfahrungen mit einer anderen Integration gemacht. ich nutze den AC-ELWA-E.
Schaut euch mal folgendes an:
EldarKarahasanovic/myPVHomeAssistant: my-PV Integration for Home Assistant