EGO Smart Heater

  • Hallo zusammen


    gestern kam der Sanitär und mir den EGO Smart Heater in den Boiler gebaut. Jetzt möchte ich das Gerät mit Openhab ansteuern. Hat jemand schon was diesbezüglich gemacht? Sollte via Modbus problemlos möglich sein.


    http://www.solar-komplett.ch/ego_smart_heater


    Gruss


    Dani

  • Hallo Dani,


    eine Lösung um den EGO Smart Heater per openHAB anzusteuern würde mich auch interesieren!


    Wie ist hier dein aktueller Stand?


    Gruß
    Arnoheat

  • Servus,


    ich bin bereits einen Schritt weiter. Vor einiger Zeit habe ich mir die Mühe gemacht und das Protokoll mitgeloggt und ausgewertet. Dabei habe ich hersausgefunden, dass in die Adresse 4865 die momentane Leistung des Zählers geschrieben werden muss. Der Smart Heater schaltet danach selbstständig die passende Leistungsstufe zu. Wichtig ist, die Einspeiseleistung als negativer Wert zu senden.


    Die Modbus-Einstellungen sind wie folgt:
    Baudrate: 19200,
    Paritty: even,
    Stopbit = 1
    Slave-Addresse: 247


    Die zugehörigen Einstellungen in der openhab.cfg sehen wie folgt aus:


    Code
    modbus:poll=10000
    modbus:serial.slave1.connection=/dev/ttyUSB1:19200:8:even:1:rtu
    modbus:serial.slave1.id=247
    modbus:serial.slave1.start=4865
    modbus:serial.slave1.length=2
    modbus:serial.slave1.type=holding
    modbus:serial.slave1.valuetype=int16
  • Hallo,
    ergänzend noch die Info zum auslesen der Wassertemperatur (Modbus Adresse 5124)!


    Die zugehörige openHAB Modbus-Binding Konfiguration (openhab.cfg) sieht wie folgt aus:

    Code
    modbus:serial.slave4.connection=/dev/ttyUSB0:19200:8:even:1:rtu
    modbus:serial.slave4.id=247
    modbus:serial.slave4.type=holding
    modbus:serial.slave4.start=5124
    modbus:serial.slave4.length=1
  • Ich denke zuerst muss ins Register 4864 der Wert -1 geschrieben werden, damit das Register 4866 ausgewertet wird.
    Im Register 4866 wird dann ein negativer Wert geschrieben mit der gewünschten Heizleistung.
    Register 4096, 4128, 4160 kann gelesen werden um die aktuelle Heizstufe zu erfragen (Relaiszustand, 500,1000,2000Watt).


    An den Register ist es wohl besser nicht zuviel zu schrauben. Was hast Du da beim Solarlog für Werte?
    Register 4101, 4133, 4165 ist die gewünschte On Zeit vom Relais (Default 10s)
    Register 4102, 4134, 4166 ist die gewünschte Off Zeit vom Relais (Default 110,170,230s). Je grösser die Heizstufe, desto grösser ist die Off Zeit.


    Register 8193 und 8194 sind die Produkt ID und Variante. 8195 die Firmware Revision.

  • Register 5128 ist wohl konfortabler für die Abfrage der Relais 0x0000 alle aus, 0x0001 relais 1 on, 0x0002 relais 2 on, 0x0004 relais 3 on => 0x0007 alle an.


    5127 kann die Potistellung ausgelesen werden. Maximaltemperatur 80°C, default 60°C


    4617 ist die minimale Boilertemperatur, ist die Wassertemperatur drunter, schaltet sich das Gerät selbstständig an auch ohne Solarstrom
    4618 ist die maximale Temperatur (Maximum 85°C)
    4619 ist die gewünschte Wassertemperatur (0 = Potieinstellung verwenden, Maximum 85°C)


    Wäre es nicht das schlaueste das ganze in ein Java Modul zu stecken bestehend aus zwei Teilen:
    Initialisierung vom Gerät basierend auf config file (Register 4617, 4618, 4619, 4864, 4865 optional 4101, 4102, 4133, 4134, 4165, 4166)
    Regelkreis Eingang mit externe Überschuss Leistung, Ausgang Aktuelle Heizleistung (Register 5128, Wert mal 500) und Wassertemperatur (5124). Die Überschussleistung sollte als Mittelwert vom Mininum über ein paar Minuten genommen werden, damit die Heizstufen nicht zu sehr "flattern".

  • So das D0 Lesegerät mit Ethernetschnittstelle habe ich jetzt in Openhab eingebunden. Habe dazu das IEC62056 Binding aufgebohrt für Ethernet und über den Adapter angeschlossen. S0 Binding geht auch schon in Openhab über JSON Binding.
    http://www.solar-komplett.ch/d…Steuergeraet.a3037.2.html


    Jetzt kommt das Addon für den Heater dran.