NEWS
Modbus adapter Danfoss ECL Comfort 310 auslesen
-
Das hier ist die Javascript Routine um den Status der Pumpen und Ventile aus dem 16Bit Wort zu dekodieren:
on({id: 'modbus.1.holdingRegisters.3998_Output'}, function (obj) { var b16 = getState('modbus.1.holdingRegisters.3998_Output').val; var v; // Bit Funktion Aktor // 0 1 Triac 1 M1 Auf // 1 2 Triac 2 M1 Zu // 2 4 Triac 3 M2 // 3 8 Triac 4 M2 // 4 16 Triac 5 // 5 32 Triac 6 // 6 64 Relais 1 P1 // 7 128 Relais 2 P2 // 8 256 Relais 3 P3 // 9 512 Relais 4 // 10 1024 Relais 5 // 11 2048 Relais 6 // P1 if(b16 & 64) v = true; else v=false; setState('javascript.0.Sonderfunktionen.Heizung.P1', v); // P2 if(b16 & 128) v = true; else v=false; setState('javascript.0.Sonderfunktionen.Heizung.P2', v); // P3 if(b16 & 256) v = true; else v=false; setState('javascript.0.Sonderfunktionen.Heizung.P3', v); // M1 Motorventil if(b16 & 1) v = "Auf"; else if(b16 & 2) v = "Zu"; else v="0"; setState('javascript.0.Sonderfunktionen.Heizung.M1', v); });
Und hier runde ich die Sensorwerte:
on(['modbus.1.holdingRegisters.10200_S1'/*Aussentemperatur*/, 'modbus.1.holdingRegisters.10202_S3'/*Vorlauftemperatur*/, 'modbus.1.holdingRegisters.10204_S5'/*Rücklauftemperatur*/, 'modbus.1.holdingRegisters.10205_S6'/*Obere Speichertemperatur*/], function (obj) { var AT16 = getState('modbus.1.holdingRegisters.10200_S1'/*Aussentemperatur*/).val; var AT; if(AT16>32767) AT16 = AT16-65535; AT = (AT16/100).toFixed(1); // Auf 1 Stelle nach Komma runden setState('javascript.0.Sonderfunktionen.Heizung.ATStrg', AT); setState('javascript.0.Sonderfunktionen.Heizung.Aussentemperatur'/*Aussentemperatur*/, AT16 / 100); setState('javascript.0.Sonderfunktionen.Heizung.Vorlauftemperatur'/*Vorlauftemperatur*/, getState('modbus.1.holdingRegisters.10202_S3'/*Vorlauftemperatur*/).val / 100); setState('javascript.0.Sonderfunktionen.Heizung.Ruecklauftemperatur'/*Ruecklauftemperatur*/, getState('modbus.1.holdingRegisters.10204_S5'/*Rücklauftemperatur*/).val / 100); setState('javascript.0.Sonderfunktionen.Heizung.Speichertemperatur'/*Speichertemperatur*/, getState('modbus.1.holdingRegisters.10205_S6'/*Obere Speichertemperatur*/).val / 100); });
-
@loxdus Hallo Loxdus, wie ich sehe, hast du deinen Raspberry über RS485 an den Danfoss ECL Regler angeschlossen.
Ich wollte eigentlich über die Modbus Schnittstelle eine Verbindung herstellen.Raspberry (Iobroker) <> Netzwerkswitch <> Danfoss ECL 310
Die Holding Register habe ich bei mir auch so eingetragen.
Nur leider werden die Modbus.0 Objekte nicht abgeholt. So bleiben die Sensorwerte (Temperaturen immer bei 19.2°C).
Ich würde gern die Temperaturwerte in den Objekten haben, damit ich mit Blockly weitere Logikbefehle wie z.B. Push notifications erstellen kann.
Hast du noch einen Tipp?
VG
Takahara -
@glasfaser sagte in Modbus adapter Danfoss ECL Comfort 310 auslesen:
dann gehe eine Register rauf / runter , also +1 / -1
Beispiel : Laut Doku 10201 dann im Adapter 10200 probieren oder 10202hast das schon gemacht ?
@LoxDUS hat sie
-
@glasfaser @LoxDUS : Super herzlichen Dank an euch beide
Ich weiß zwar nicht warum die Modbus Adressen in der offiziellen Danfoss Anleitung nicht stimmen, aber mit 10200; 10202 und 10204 kann ich die Sensorwerte auslesen.
Nochmals vielen Dank an euch beide. Großartiger Support
VG
Takahara -
Deleted…
-
Sorry, komme mit den Forum noch nicht ganz zurecht
Servus, darf ich fragen welchen USB TO RS485 Adapter du verwendest?
Grüße
Rossi
-
@rossi73
Ich nutze den
DSD TECH USB to RS485 RS422 ...WS
-
@rossi73
Sieht bei mir dann so aus:
-
Super, Danke für die schnelle Antwort!
-
Habt ihr alle ecl310 ? Weil laut Hotline soll mein ecl210 damit net gehen und ich Frage mich gerade wer Recht hat
-
Servus, ich habe eine ECL Comfort 210...
Aber ich bin noch lange nicht soweit da irgendwas an Daten abzugreifen.
Soll das etwa gar nicht gehen laut Hotline?
Grüße
-
@rossi73 laut Hotline ja aber ich traue dem ganzen net . Hab mir jetzt ne 310er bestellt
-
wie immer lag die hotline doch falsch.
ich konnte jetzt mit meiner ecl210 die parameter lesen.
-
Verrätst du uns wie?War gedanklich noch wo anders... -
gekauft habe ich ein USRCN Usr-Tcp232-410S RS232 bei amazon.
nach gefühlten 100 Tests konnte ich dann über die Software befehle von oben probieren und bekam immerhin ein illegal Function Error anzeigt ( dat erste mal überhaupt was... hurra - warum hab ich jetzt nen ecl310 gekauft gedanke...) .
ich würde behaupten die mod bus scan software kann nicht die richtigen Register pullen die wir eigentlich brauchen.nachdem dat ging und ich immer gesehen habe dat irgendwas kommt hab ich die Werte nochmals vom Iobroker pullen lassen und dann kam sogar was.
ich habe jetzt über die ECL Tool App mir die Modbus Nummern besorgt z.B:
10200 S1 ( warum die jetzt 20 °c statt ~7°c Außentemp Anzeigt liegt vllt am Sensor )
10202 S3
10204 S5
10205 S6
11179 Gewünschte Temp aka T Komfort Soll
12189 Warmwasser Temp SollDie Werte sind alle unter Holding Registers und lassen sich dann ändern über das Interface
Ich lade die Tage mal noch die Settings vom Iobroker und TCP232-410S hoch -
-
@loxdus sagte in Modbus adapter Danfoss ECL Comfort 310 auslesen:
@rossi73
Ich nutze den
DSD TECH USB to RS485 RS422 ...WSServus. Ich habe mir den gleichen Adapter besorgt. Leider bekomme ich über Modbus keine Werte geliefert. Könntest du mir bitte evtl. deine Grundeinstellungen für den modbus Adapter verraten? Grüße
Edit: sehe gerade das du das ja weiter oben ja schon per screenshot gepostet hast.
Ich hab den ioBroker auf einem raspberry laufen. Sollte der Adapter dann in der Konstellation auch funktionieren?
-
Ich habe den Modbus-Adapter für den Danfoss ECL Comfort 210 jetzt zum laufen bekommen.
Problem war ein falsches Belegungsschema für die Anschlüsse A und B in der Original-Bedienungsanleitung von Danfoss.
A und B müssen getauscht werden. Siehe hier:
https://www.loxwiki.eu/pages/viewpage.action?pageId=18219266Die Ausgelesenen Werte passen zwar noch nicht so dolle, da muss ich nochmal gucken:
-
Kann man über den Modbus des ECL310 auch irgendwie den Zählerstand der Stadtwerke auslesen?
Im Cloudportal gibt's nur den Punkt "neuen Zähler registrieren", wüsste aber nich welche Daten da rein müssen