Wichtige Informationen
Bitte beachten Sie, dass die unten beschriebene Integration nur funktionieren kann, wenn der USB/RS485-Stick das einzige Gerät des RS485-Busses ist, das mit dem EM112 verbunden ist. Tatsächlich (und dank der Hilfe von Eric G.) habe ich verstanden, dass es nureine einzige Master-Ausrüstung auf dem Bus. Der Herr ist derjenige, der fragt, und der Sklave derjenige, der antwortet. EM112 ist also Sklave.
Meine erste Idee war es, die Dialogstrukturen zwischen EM112 und meiner Wallbox zu schärfen, da die Wallbox Herr ist, was ich nicht tun kann. Für die Schönheit der Übung habe ich mit zwei Meistern getestet, es funktioniert, wir finden Werte, aber von Zeit zu Zeit, wenn die beiden Meister eine Frage zusammen stellen, finden wir uns mit einem Fehler wieder.
Wenn jemand mich zu einer Art „Snifer“ des Busses 485 führen kann, um die Informationen abzufangen, die das EM112 beispielsweise an eine Wallbox sendet, bin ich Versicherungsnehmer, da ich zu diesem Zeitpunkt keine Wallbox und keinen RS485/USB-Schlüssel parallel (zwei Master) haben kann.
Verwendete Hardware und Treiber
Die teuerste Ausrüstung meines gesamten Bildes (1,33 € auf Ali 😂), es funktioniert, offensichtlich gibt es gefälschte Schlüssel, ich habe vielleicht Glück gehabt, aber dieser Verkäufer ist seriös.
Offensichtlich habe ich sie nach Erhalt geöffnet, um eine Referenz zu finden, es ist eine YYH-256
Bei der Suche in den Foren stellt sich heraus, dass dies (wahrscheinlich) eine Fork von CH341 Die Treiber des letzteren werden sogar verwendet.
Beachten Sie, dass meine Suche nach Treibern nutzlos war, da der Schlüssel auf dem von mir verwendeten RaspberryPi4/HAOS nativ erkannt wird.
Ich schreibe hier dieses Schema, das die verwendeten Schaltkreise gibt, zu beachten, dass der Quarz verschwunden ist, es ist kein Vergessen beim Schweißen, es ist eine Weiterentwicklung des Schlüssels (eine gewonnene Komponente ist eine gewonnene Komponente).
Ich verbinde den USB-Stick mit dem RS485-Port
Der Schlüssel hat zwei Anschlüsse D+ und D-, schließen Sie sie einfach an die Pins B+(4) und A-(5) des EM112 an
Ich verbinde den Schlüssel mit dem USB-Anschluss des Raspi4
Ich teste sofort die Bestellung lsusb auf der Befehlszeile und ich stelle fest, dass ich, wenn der neue Schlüssel eingesteckt ist, eine weitere Zeile habe, was ein ziemlich gutes Zeichen ist.
Ich überspringe die Probleme mit den Ports /dev/ttyUSB0 und /dev/ttyUSB1, die sich bei jedem Start ändern, und habe die Lösung unter folgenden Bedingungen gelöst und dokumentiert:
Ich stelle fest, dass ich den Hafen benutzen werde. /dev/serial/by-id/usb-1a86_USB2.0-Ser_-if00-port0, um mich mit diesem Schlüssel zu verbinden.
Ich konfiguriere die Modbus-Integration, die nativ in HA ist
In meiner Konfigurationsdatei füge ich die Modbus-Zeile hinzu: !include modbus.yaml
Und in modbus.yaml erkläre ich den Schlüssel
- name: modbus_hub Typ: serial #Hafen: /dev/ttyUSB1 port: /dev/serial/by-id/usb-1a86_USB2.0-Ser_-if00-port0 baudrate: 9600 bytesize: 8 Methode: rtu parity: N Stopbits: 1 Retries: 5 close_comm_on_error: false delay: 5 Timeout: 2 _wait-Nachricht_milliseconds: 1000
Ich deklariere jeden Sensor
Von da an tauche ich ein in die Gavazzi-Dokumentation und ich werde nach den Zeilen suchen, die mich interessieren:
Um die Adresse jedes Sensors zu erhalten, wandele ich die Adressen in hexa in dezimal um und deklariere dann die 4 Sensoren in modbus.yaml:
Sensoren: - name: EM112_W unit_of_measurement: W state_class: measurement device_class: energy slave: 1 Adresse: 4 data_type: int32 input_type: Input Precision: 0 Scale: 0.1 scan_interval: 10 lazy_error_count: 999 Swap: word - name: EM112_A unit_of_measurement: A state_class: measurement device_class: current slave: 1 Adresse: 2 data_type: int32 input_type: Input Precision: 0 Scale: 0.001 scan_interval: 10 lazy_error_count: 999 Swap: word - name: EM112_VA unit_of_measurement: VA state_class: measurement device_class: energy slave: 1 Adresse: 6 data_type: int32 input_type: Input Precision: 0 Scale: 0.1 scan_interval: 10 lazy_error_count: 999 Swap: word - name: EM112_kwh unit_of_measurement: kwh state_class: total_increasing device_class: energy slave: 1 Adresse: 16 data_type: int32 input_type: Input Precision: 0 Scale: 0.1 scan_interval: 10 lazy_error_count: 999 Swap: Word
Ich überprüfe das Ergebnis
Perfekt! Jetzt müssen Sie nur noch spielen, um eine schöne …-Karte zu machen.
Erinnerung
Nicht parallel zu einer Wallbox produzieren
Wenn jemand mich zu einer Art „Snifer“ des Busses 485 führen kann, um die Informationen abzufangen, die das EM112 beispielsweise an eine Wallbox sendet, bin ich Versicherungsnehmer, da ich zu diesem Zeitpunkt keine Wallbox und keinen RS485/USB-Schlüssel parallel (zwei Master) haben kann.












