-
-
Save leinich/38b15ad7b60c699b85395533ed208f56 to your computer and use it in GitHub Desktop.
modbus: | |
name: e3dc | |
type: tcp | |
host: 192.168.1.68 | |
port: 502 | |
sensor: | |
- platform: template | |
sensors: | |
e3dc_netzeinspeisung: | |
friendly_name: e3dc Netzeinspeisung | |
unique_id: e3dc_netzeinspeisung | |
unit_of_measurement: 'W' | |
value_template: > | |
{% if states("sensor.e3dc_net_power") | int < 0 -%} | |
{{ states("sensor.e3dc_net_power") | int}} | |
{%- else -%} | |
0 | |
{%- endif %} | |
e3dc_netzbezug: | |
friendly_name: e3dc Netzbezug | |
unique_id: e3dc_netzbezug | |
unit_of_measurement: 'W' | |
value_template: > | |
{% if states("sensor.e3dc_net_power") | int > 0 -%} | |
{{ states("sensor.e3dc_net_power") | int}} | |
{%- else -%} | |
0 | |
{%- endif %} | |
e3dc_emergency_power: | |
unique_id: e3dc_emergency_power | |
value_template: > | |
{% set eep = states('sensor.e3dc_emergency_power_modb') %} | |
{% if eep == '0' %} | |
nicht unterstützt | |
{% elif eep == '1' %} | |
aktiv | |
{% elif eep == '2' %} | |
inaktiv | |
{% elif eep == '3' %} | |
nicht verfügbar | |
{% elif eep == '4' %} | |
falsche Position 1K04 | |
{% else %} | |
unbekannt | |
{% endif %} | |
- platform: modbus | |
scan_interval: 60 | |
registers: | |
- name: E3DC EMS State | |
register: 40084 | |
data_type: uint | |
hub: e3dc | |
- name: E3DC S10 ModBus ID | |
register: 40000 | |
data_type: uint | |
hub: e3dc | |
- name: E3DC PV1 Power | |
unit_of_measurement: 'W' | |
register: 40067 | |
count: 2 | |
reverse_order: true | |
hub: e3dc | |
#data_type: custom | |
#structure: ">l" | |
- name: E3DC PV2 Power | |
unit_of_measurement: 'W' | |
register: 40075 | |
count: 2 | |
reverse_order: true | |
scale: -1 | |
hub: e3dc | |
#data_type: custom | |
#structure: ">l" | |
- name: E3DC House Power | |
unit_of_measurement: 'W' | |
register: 40071 | |
count: 2 | |
reverse_order: true | |
hub: e3dc | |
#data_type: custom | |
#structure: ">l" | |
- name: E3DC Net Power | |
unit_of_measurement: 'W' | |
register: 40073 | |
count: 2 | |
reverse_order: true | |
hub: e3dc | |
#data_type: custom | |
#structure: ">l" | |
- name: E3DC Battery Power | |
unit_of_measurement: 'W' | |
register: 40069 | |
count: 2 | |
reverse_order: true | |
hub: e3dc | |
#data_type: custom | |
#structure: ">l" | |
- name: E3DC Battery Percent | |
unit_of_measurement: '%' | |
register: 40082 | |
data_type: uint | |
hub: e3dc | |
- name: E3DC Selfpower | |
unit_of_measurement: '%' | |
register: 40081 | |
data_type: custom | |
structure: "xB" | |
hub: e3dc | |
- name: E3DC Autarki | |
unit_of_measurement: '%' | |
register: 40081 | |
data_type: custom | |
structure: "Bx" | |
hub: e3dc | |
- name: E3DC Emergency Power MODB | |
register: 40083 | |
data_type: uint | |
hub: e3dc |
Bei mir das gleiche Problem. Mit "Modbus Poll" funktioniert das ganze (unter Setup>Read/WriteDefinition oder alternativ "F8" lassen sich auch bestimmte Register anzeigen lassen). In HomeAssistant werden die ganzen Werte leider auch nur als "unknown" angegeben. Hat jemand eine Lösung für das Problem?
Ich hatte Home Assistant vor einigen Monaten am Start. Nutze normalerweise iobroker, Habe jetzt nochmal die HA-Installation ausgepackt. Zunächst fiel mir auf (wie auch @venyosdh), dass die Registernummern im Gegensatz zur Dokumentation (S10) und meiner iobroker-Installation um eins verschoben sind. Nach einer Anpassung bekam ich dann Werte. Habe allerdings wieder runtergefahren, da ich die Hausautomation meiner iobroker-Installation brauchte. Nach dem Hochfahren am nächsten Tag (und einem Update) bekomme ich keinerlei Werte mehr.
Hallo Ihr Guten.
Dank eines Krankenaufenthaltes hatte ich die ELV Homeassistandsserie gelesen, da ich es viele Male Versucht habe IO Broker auf meinem MS Rechner zum Laufen geschweige denn mit E2DC zu verbinden. Daher dachte ich nun an Home Assistant und gelang hierher.
Daher meine Frage an All: habt Ihr nun aufgegeben?
und an clfberlin: Ich würde "alles" tun wenn ich endlich meine Verbraucher nach Sonnenstand ansteuern könnte....... :(
Versucht hatte ich es auch auf dem MS Rechner mit einer virtuellen Maschine, und ich hätte noch einen Zotac, auf dem ich Linux installieren könnte, und einen Synologie.
Und ich würde es wohl auch gerne mit Himbeeren versuchen, aber die Schritte zur E3DC kommunikation über IOBroker sind so lang, daß ich dann noch nach Stunden irgendwo liegen bleibe, und für dessen Forum bin ich scheinbar zu Anhnungslos.
Kennst Du einen Gangbaren Weg?
Vielen Dank im Voraus.
Carsten
Hallo Carsten. Ja, inzwischen habe ich mich etwas mehr mit Home Assistant angefreundet und die E3DC-Komponenten sehe ich auch im System. Man muss dazu sagen, dass bei Home Assistant die ModBus Registernummern jeweils eins kleiner sind als in der Dokumentation (und bei iobroker). Beispiel: In der Dokumentation steht "40068 - Photovoltaik-Leistung in Watt". In Home Assistant ist aber (bei mir) die richtige Registernummer die 40067. Warum das so ist, weiß ich nicht - ich habe es nur gelesen, übernommen und freue mich, dass es klappt.
@ersteinmal - was Deine Plattform angeht: Ich nutze eine Synology. iobroker lief im Docker. Über Portainer eingerichtet, weil ich den Zigbee USB-Stick als Device an iobroker übergeben habe. Home Assistant läuft bei mir auch auf der Synology, aber als Virtual Machine. Denn es gibt bei Home Assistant verschiedene Versionen. Die Docker-Version ist eingeschränkt. Man kann keine add ons installieren und schlecht/nicht konfigurieren. Daher als Komplettversion in einer VM. Auch hier ist der USB-Stick an die VM übergeben.
PS: @ersteinmal
In iobroker musst Du den ModBus Adapter nehmen. Folge dieser Anleitung: André ist auch im Forum megaaktiv und ein wichtiger Entwickler.
https://smarthome.buanet.de/2018/02/integration-eines-s10-hauskraftwerks-von-e3dc/
Hallo
@clfberlin
Für den Home Assistant habe ich zwar immer noch kein Ergebnis, da scheinbar einen letzten kleinen Fehler in der modbus.ymal hat -
Gedenfalls habe ich das Programm unter Virtual Box zum laufen gebracht. Jetzt hoffe ich noch auf den letzten Kick, Danach versuche ich dann Deinen Weg.
Step by Step Danke Carsten
Bei mir wird für "e3dc Netzbezug" und "e3dc Netzeinspeisung" jeweils "Nicht verfügbar" angezeigt und für "e3dc_emergency_power" der Wert "unbekannt".
Ich habe mir die Registernummern mal näher angeschaut und in dieser txt sind alle Nummern um 1 nach vorne verschoben; ich hatte schonmal mit dem E3DC Modbus gearbeitet und da war es bei mir stattdessen um 2 nach vorne verschoben, aber auch das funktioniert nicht. Inzwischen habe ich 40082 bis 40086 durch mit Neuladen der YAML-Konfiguration, es hat aber leider nichts funktioniert. Modbus ist bei E3DC aktiviert und wenn ich "Modbus Poll" benutze, um mal probehalber auf die IP zu lauschen über Port 502 bekomme ich auch Werte angezeigt (ich weiß da nur leider nicht, wie ich mir ein bestimmtes Register anzeigen lassen kann).
Edit: ich nutze jetzt https://github.com/vchrisb/e3dc-rest , da bekomme ich zumindest Werte, aber die Anzeige im Energy Dashboard ist da nicht richtig (anderes Problem): https://community.home-assistant.io/t/energy-dashboard-sensor-not-showing-up/438537/9?u=venyo