( Erledigt) yaml Datei mit MODBUS Integration in configuration.yaml einbinden.

Volker70

New member
Guten Morgen,
Ich bin offensichtlich noch ziemlicher Anfänger mit meinem Home Assistent System.
Ich würde gerne meine Lambda Wärmepumpe über Home Assist auslesen und steuern und habe dazu auch bereits ein Skript zum auslesen der Sensorenwerte über Modus tcp gefunden.
Allerdings ist mir nicht klar, in welcher Form ich diese yaml-Dateei in der Konfiguration.yaml einbinden muss.
Könnte ich das auch über den Modus Server für Home Assistant tun?

Vielleicht mag ja jemand hier einen Tipp für Grundlagen geben.

Volker
 
Zuletzt bearbeitet:
Ich habe folgenden Eintrag in der configuration.yaml:
modbus: !include modbus.yaml
Funktioniert ohne Script, die modbus.yaml muss entsprechend angepasst werden. Alle Register, die gelesen oder geschrieben werden sollen, müssen als Sensoren in der modbus.yaml Datei vorhanden sein.
Bei mir sieht modbus.yaml Datei z.B. so aus
YAML:
  - name: modbus heidelberg wallbox
    type: serial
    port: /dev/ttyUSB0
    baudrate: 19200
    bytesize: 8
    method: rtu
    parity: E
    stopbits: 1

    delay: 0
    message_wait_milliseconds: 30
    timeout: 5

    sensors:
  #This register can be read to check the Modbus Register Layouts Version.
  #This is important for correct use of registers.
      - name: "Modbus Version"  #Modbus Register-Layouts Version
        unique_id: whec_modbus_version
        slave: 1
        address: 4
        scan_interval: 30
        input_type: input
        scale: 1
        offset: 0
        precision: 0
        data_type: uint16
 
Zuletzt bearbeitet:
Wenn ich das richtig verstehe fügst du den kompletten Code in die configuration.yaml ein.
Das wollte ich eigentlich vermeiden, da dieser doch sehr umfangreich ist.
 
Ich denke, da hat amiko sich vertan.
Sein "!include modbus.yaml" besagt, das er eine modbus.yaml hat und diese mit lädt.
Und sein Code steht dann doch sicher in der modbus.yaml und nicht in der configuration.yaml.
 
Habe ich mir inzwischen auch gedacht, sonst wäre es ja doppelt gemoppelt. Konnte es aber noch nicht ausprobieren.
 
Ich denke, da hat amiko sich vertan.
Du hast Recht, die Modbus konfiguration ist in modbus.yaml
Der obige Code ist ein Auszug aus der modbus.yaml Datei.
Ich habe meinen obigen Beitrag ein wenig geändert, ich hoffe, er ist jetzt besser verständlich.
 
Zuletzt bearbeitet:
So hatte ich es auch bereits probiert, aber das klappt nicht.
Ich sollte vielleicht doch mal ausholen....
Ich habe von RalfWinter diese Lösung hier entdeckt und bekomme sie nicht zum laufen....
https://github.com/RalfWinter/lambd...-HA/blob/main/HA-Lambda-WP_configuration.yaml

würde die Parameter erst einmal gerne wie von ihm gezeigt im HA anzeigen lassen und in einem zweiten Schritt für evcc verwenden.

wie meint er die Aussage: the contents of this file needs to be appended to the configuration.yaml in your HA-installation!
 
the contents of this file needs to be appended to the configuration.yaml in your HA-installation!
Das bedeutet, dass Du den Inhalt der Datei an Deine configuration.yaml anhängen sollst (also vermutlich am Ende einfügen, sofern es sich nicht mit irgendwas - bereits vorhandenem - beisst.
 
Das würde ich nicht machen, die Configuration.yaml wird einfach nur unübersichtlich.

In die Configuration.yaml gehört hierfür nur die eine zusätzliche Zeile:
YAML:
modbus: !include modbus.yaml

Dann machst du eine neue Datei im selben Verzeichnis wie die Configuration.yaml, und die heißt „modbus.yaml“.
Und in diese Datei kommt dann der Code von Ralf Winter.
Bei dessen Code musst du natürlich die IP Adresse anpassen.
 
Zuletzt bearbeitet:
So bin ich natürlich auch rangegangen, aber beim prüfen der Datei kommt ein ganzer Berg Fehlermeldung, so dass ich sie gar nicht erst gestartet habe.
Wenn’s hilft, kann ich gerne einmal einen Auszug davon hereinstellen.
 
aber beim prüfen der Datei kommt ein ganzer Berg Fehlermeldung
Ich hatte von Anfang an das gleiche Problem. Du kannst folgendes probieren.
Die Zeile
modbus:
löschen und eventuell alle anderen Zeilen um 2 Zeichen nach links verschieben, hier bin ich nicht sicher. Schau dir mein Beispiel von oben an, dort ist die Zeile
- Name: modbus heidelberg wallbox
um 2 Zeichen vom linken Rand nach rechts verschoben,
Es wäre bei dir die Zeile
- Name: "EU13L
und die Namen aller Sensoren um 6 Zeichen nach rechts verschoben.
bei dir dann die Zeile
- name: EU13L_Ambient_Error_Number
u.s.w.

Ich habe es bei mir ausprobiert, es funktioniert, keine Fehlermeldungen. Siehe Anhang.
 

Anhänge

  • modbus.txt
    18,6 KB · Aufrufe: 0
Zuletzt bearbeitet:
sorry, dass meine Antworten immer so spät kommen...
aber ich bin begeistert, wie sehr ihr euch um mein Problem bemüht.
den Tip mit den Einrückungen habe ich probiert und scheint auch Teil des Problems gewesen zu sein, aber leider läuft es immer noch nicht...

Ich stelle mal meine Fehlermeldungen und den passenden Quellcode hier ein.

Invalid config for 'modbus' at lambda.yaml, line 594: 'sensor' is an invalid option for 'modbus', check: modbus->0->sensor
Invalid config for 'modbus' at lambda.yaml, line 7: required key 'baudrate' not provided
Invalid config for 'modbus' at lambda.yaml, line 7: required key 'bytesize' not provided
Invalid config for 'modbus' at lambda.yaml, line 7: required key 'method' not provided
Invalid config for 'modbus' at lambda.yaml, line 7: required key 'parity' not provided
Invalid config for 'modbus' at lambda.yaml, line 7: required key 'stopbits' not provided
Invalid config for 'modbus' at lambda.yaml, line 8: not a valid value for dictionary value 'modbus->0->type', got 'tcp'
Invalid config for 'modbus' at lambda.yaml, line 9: 'host' is an invalid option for 'modbus', check: modbus->0->host

Quellcode:

588 scale: 0.1
589 precision: 1
590 data_type: int16

# Conversion of numerical returncodes to text
# this is German language, change accordingly. English definitions are found in the Modbus spec: https://lambda-wp.at/wp-content/uploads/2023/04/Modbus-Protokoll-und-Beschreibung.pdf
594 sensor:
595 - platform: template
596 sensors:
570 eu13l_ambient_operating_state_txt:
571 friendly_name: "EU13L_Ambient_Operating_State_txt"
572 value_template: >
573 {{ ['Off', 'Automatik', 'Manual', 'Error'][states('sensor.eu13l_ambient_operating_state')|int] }}

und

7 - name: "EU13L"
8 type: tcp
9 host: 192.168.178.119
10 port: 502
11 sensors:

dass der Anfang der Zeilen teiweise verschoben ist liegt hier am Forum... :-/. Das bekomme ich gerade nicht besser hin...
 
Ups, ich habe die falsche Modbus-Datei hochgeladen, jetzt muss es die richtige Datei sein, kopiere den Inhalt und füge ihn in deine modbus.yaml Datei ein.
 

Anhänge

  • modbus.txt
    18,6 KB · Aufrufe: 3
Zuletzt bearbeitet:
Danke, jetzt habe ich tatsächlich keine Fehlermeldung mehr.
Ich werde mir beide Dateien mal im Vergleich ansehen.
Werte zeigt er aber trotzdem nicht an, aber das dürfte eher an den Einstellungen der WP liegen…
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
5.556
Beiträge
54.721
Mitglieder
5.384
Neuestes Mitglied
BlueEclipse
Zurück
Oben