Modbus Modul für Mitsubishi Ecodan Wärmepumpe mit Procon A1m Adapter

Begonnen von Fritz Muster, 15 März 2017, 12:56:43

Vorheriges Thema - Nächstes Thema

R1F800

Was meinst Du mit welches SET UP?

defmod mdbsWaermepumpe ModbusEcodanWP 3 60 /dev/ttyUSB0@9600
attr mdbsWaermepumpe room ECODAN

Fritz Muster

Du hast also das Procon Modbus Modul im Einsatz? Wenn ja, schnapp dir die Doku, darin findest du die jeweiligen Register Werte. Such dir die Werte welche du haben möchtest raus und trage sie in die .pm Datei entsprechend ein.

Viele Grüße
Fritz
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

R1F800

Zitat von: Fritz Muster am 01 Oktober 2020, 10:19:48
Du hast also das Procon Modbus Modul im Einsatz? Wenn ja, schnapp dir die Doku, darin findest du die jeweiligen Register Werte. Such dir die Werte welche du haben möchtest raus und trage sie in die .pm Datei entsprechend ein.

Viele Grüße
Fritz

Hallo.
Welche DOKU?  Es war einzig der elektrische Anschluss dokumentiert.
Es gab keine Doku dazu. Hast Du eine?

Fritz Muster

RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

3gmann

Hallo Zusammen,
Habe heute ebenfalls eine Mitsubishi WP bekommen und will diese in FHEM über TCP einbinden.
Leider erhalte ich keine Daten - Timout in Readanswer.

Config:    define mdbsWaermepumpe ModbusEcodanWP 4 30 192.168.27.220:502 TCP

Frage wie muss das USR-TCP232-410s konfiguriert sein damit die Kommunikation klappt.

Danke für Eure Hilfe.

PS: Habs hinbekommen, war kein Config-Fehler sondern Drachtbruch im Verbindungskabel USR-TCP232-410s -> A1M
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

Fritz Muster

Zitat von: 3gmann am 17 November 2021, 16:03:42
Habe heute ebenfalls eine Mitsubishi WP bekommen und will diese in FHEM über TCP einbinden.

Ist das Procon Modbus Modul in der WP verbaut?

Viele Grüße
Fritz
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

3gmann

Hallo Fritz,

vielen Dank für deine rasche Antwort und Hilfe in diesem Forum.

Ja das Procon Modul ist verbaut - inzwischen kann ich auch Daten empfangen.
Die Ursache für den Kommunikationsfehler war eine unterbrochene Ader im Modbuskabel vom USR-TCP232-410s -> A1M in der WP.

Leider kann ich aber noch keine Modbusregister beschreiben.
Fehlermeldung:
2021.11.17 23:45:52 3: mdbsWaermepumpe: MapConvert called from CreateDataObjects did not find 0 (0) in map 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9, 10:A, 11:B, 12:C, 13:D, 14:E, 15:F, 16:O, 17:H, 18:J, 19:L, 20:P, 21:U
2021.11.17 23:46:26 2: Attempt to write to off device.


internals
CFGFN              /opt/fhem/fhem_cfg/69_Heizung_WP.cfg
DEF                   4 30 192.168.27.220:502 TCP
DeviceName     192.168.27.220:502
EXPECT            idle
FD                     20
FUUID               619517a1-f33f-a580-2e3b-e2290a8843ba3a68
IODev                mdbsWaermepumpe
Interval               30
LASTOPEN        1637160868.25723
MODBUSID       4
MODE                master
MODULEVERSION            Modbus 4.4.02 - 31.3.2021
NAME                                 mdbsWaermepumpe
NOTIFYDEV                       global
NR                                      1072
NTFY_ORDER                   50-mdbsWaermepumpe
PARTIAL   
PROTOCOL                       TCP
STATE                                opened
TCPConn                           1
TYPE                                 ModbusEcodanWP
devioLoglevel                    3
nextOpenDelay                 60


Readings
Abtauung                      Normal              2021-11-17 23:52:53
Anlage_Fehlercode1    A                        2021-11-17 23:52:54
Anlage_Fehlercode2    0                        2021-11-17 23:52:54
Anlage_Status              Ein                     2021-11-17 23:52:51
Aussentemperatur        5                        2021-11-17 23:47:52
Brauchwasser_Betriebsart           Normal     2021-11-17 23:48:22
Brauchwasser_Betriebsmodus     Auto         2021-11-17 17:16:46
Brauchwasser_Status                   Ein           2021-11-17 17:16:33
Brauchwasser_Temperatur          42.5          2021-11-17 23:51:55
Brauchwasser_Temperatur_Soll  40             2021-11-17 23:48:51
Brauchwasser_Temperaturabfall   8              2021-11-17 23:49:52
Durchflussmenge                         16              2021-11-17 23:51:55
Heizkreis_Betriebsmodus      Heizkurve        2021-11-17 23:50:21
Heizkreis_Pumpe                   Aus                 2021-11-17 23:51:51
Heizkreis_Pumpe_Frequenz             0          2021-11-17 23:51:53
Heizkreis_Pumpe_Laufzeit_h            1          2021-11-17 23:22:52
Heizkreis_Pumpe_Laufzeit_hx100    0          2021-11-17 17:16:37
Heizkreis_Ruecklauftemperatur      43.5       2021-11-17 23:51:54
Heizkreis_Status                      Aus               2021-11-17 23:50:51
Heizkreis_Vorlauftemperatur              44       2021-11-17 23:51:22
Heizkreis_Vorlauftemperatur_Soll      40       2021-11-17 23:52:52
Kuehlkreis_Status              Normal                2021-11-17 23:51:52
Kuehlkreis_Temperatur        21             2021-11-17 23:52:22
Modbus_Baud_Rate          9600           2021-11-17 17:16:31
Modbus_Fehler_Code      No_Error      2021-11-17 23:50:52
Modbus_Firmware_Version   30019     2021-11-17 17:16:49
Modbus_Parity_Typ               None       2021-11-17 17:16:43
Modbus_Slave_ID                1               2021-11-17 17:16:42
Raumtemperatur_IST           0               2021-11-17 23:50:22
Raumtemperatur_Soll         40              2021-11-17 23:50:22
Stromverbrauch_Brauchwasser_kWh         0               2021-11-17 17:17:51
Stromverbrauch_Gesamt                            0                2021-11-17 17:16:39
Stromverbrauch_Heizkreis_kWh                 0                2021-11-17 17:17:50
Stromverbrauch_Messung_Jahr                14               2021-11-17 22:17:52
Stromverbrauch_Messung_Monat             1                  2021-11-17 22:17:53
Stromverbrauch_Messung_Tag                  1                 2021-11-17 22:16:52
Urlaub                                                         0                 2021-11-17 17:16:46
Waermemenge_Brauchwasser_Wh           0                 2021-11-17 17:29:24
Waermemenge_Brauchwasser_kWh         0                 2021-11-17 17:29:34
Waermemenge_Gesamt                            0                 2021-11-17 17:16:40
Waermemenge_Heizkreis_kWh                0                  2021-11-17 17:17:53
Waermemenge_Messung_Jahr                14                2021-11-17 22:18:22
Waermemenge_Messung_Monat             1                  2021-11-17 22:18:23
Waermemenge_Messung_Tag                 1                  2021-11-17 22:29:55
state                                                  opened                2021-11-17 15:54:29

Soweit die erzeugten Readings.

Vielen Dank und viele Grüße
Gerhard
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

3gmann

Hallo zusammen,

schreiben geht jetzt ebenfalls - man muss sich halt nur etwas mit der ModbusEcodanWP.pm datei beschäftigen.

Fehler war nicht passend gesetzte Config einstellungen der Brauchwasser_Temperatur_Soll

eingestellt in der .pm Datei war:
"h31"   =>   {   
               name      => "Set Tank Water Temperature",               # internal name of this register in the hardware doc
               reading      => "Brauchwasser_Temperatur_Soll",               # name of the reading for this value
               set         => 1,                                    # can be set to 1 to allow writing this value with a Fhem set-command
               min         => 42,                                    # input validation for set: min value
               max         => 55,                                    # input validation for set: max value
               expr      => '$val /100',                              # conversion of raw value to visible value
               polldelay   => "x12",                                 # only poll this Value if last read is older than 12*Iteration, otherwiese getUpdate will skip it 10s x12 --> 2 min
            },


Nach der Änderung hat's funktioniert. :)
geänderte Datei: (Änderungen Fett hervorgehoben)
"h31"   =>   {   
               name      => "Set Tank Water Temperature",               # internal name of this register in the hardware doc
               reading      => "Brauchwasser_Temperatur_Soll",               # name of the reading for this value
               set         => 1,                                    # can be set to 1 to allow writing this value with a Fhem set-command
               min         => 35,                                    # input validation for set: min value
               max         => 55,                                    # input validation for set: max value
               expr      => '$val /100',                              # conversion of raw value to visible value
               setexpr      => '$val *100',                              # conversion of input value to module fitting value
               polldelay   => "x12",                                 # only poll this Value if last read is older than 12*Iteration, otherwiese getUpdate will skip it 10s x12 --> 2 min
            },


Somit im Moment ok muss mich halt weiter mit dem Thema Beschäftigen.
Vielen Dank für dieses Modul und viele Grüße
Gerhard
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

3gmann

Hallo und guten Morgen,

nachdem ich mich nun etwas intensiver mit diesem Thema beschäftigt habe, ist mir noch folgendes Aufgefallen:
Alle 3 Min. taucht in der LOG-Datei folgender Eintrag auf:

2021.11.19 02:37:23 3: PUD_SHWM120: MapConvert called from CreateDataObjects did not find 0 (0) in map 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9, 10:A, 11:B, 12:C, 13:D, 14:E, 15:F, 16:O, 17:H, 18:J, 19:L, 20:P, 21:U

Dieser Fehler stammt von der Abfrage des Registerwertes i30 "Anlage_Fehlercode2" nach abändern dieser Config in der ModbusEcodanWP.pm Datei ist der Logeintrag verschwunden.

Alter Eintrag:
   "i30"   =>   {   
               name      => "7-Segment Display Error Code Digit 2",         # internal name of this register in the hardware doc
               reading      => "Anlage_Fehlercode2",                     # name of the reading for this value
               map         => "1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9, 10:A, 11:B, 12:C, 13:D, 14:E, 15:F, 16:O, 17:H, 18:J, 19:L, 20:P, 21:U",      # map to convert visible values to internal numbers (for reading and writing)
               polldelay   => "x6",                                 # only poll this Value if last read is older than 12*Iteration, otherwiese getUpdate will skip it 10s x6 --> 1 min
            },


Neuer Eintrag (Änderungen Fett und Rot markiert):
   "i30"   =>   {   
               name      => "7-Segment Display Error Code Digit 2",         # internal name of this register in the hardware doc
               reading      => "Anlage_Fehlercode2",                     # name of the reading for this value
               map         => "0:0, 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9, 10:A, 11:B, 12:C, 13:D, 14:E, 15:F, 16:O, 17:H, 18:J, 19:L, 20:P, 21:U",      # map to convert visible values to internal numbers (for reading and writing)
               polldelay   => "x6",                                 # only poll this Value if last read is older than 12*Iteration, otherwiese getUpdate will skip it 10s x6 --> 1 min
            },

Viele Grüsse
Gerhard
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

3gmann

Guten Abend zusammen,

da nun meine Wärmepumpe - zumindest Teilweise (Warmwasserbereich) - in Betrieb ist interessiert mich wer eine Mitsubishi Electric ECODAN WP in FHEM integriert hat und diese auch über FHEM steuert.
Mein Ziel ist es die Wärmepumpe - in meinem Fall eine Mitsubishi Electric ECODAN WP-Set 1.14 PUD-SHWM120YAA + EHSD-YM9D - über FHEM zu steuern und möglichst nur bei PV-Überschussleistung zu betreiben. Dass dies in den kalten Wintermonaten nicht geht ist mir klar aber in den Übergangszeiten müsste das machbar - zumindest für den Warmwasserteil - sein.

Hat sich diesbezüglich jemand mit diesem Thema beschäftigt und ist bereit hier Informationen und Know How auszutauschen - wäre supper hilfreich...

Das dankenswerterweise von Fritz bereitgestellte Modul habe ich für meine Bedürfnisse angepasst und die Readings in eine FHEM FTUI-Oberfläche eingebunden. (das aktuelle Ergebnis findet sich in der angehängten png Datei)

Zu meinem System: WP: PUD-SHWM120YAA + EHSD-YM9D mit 300 L Brauchwasser und 300L Heizwasserspeicher
Es sollen das Brauchwasser -> dauernd, Heizkreis 1 (Radiatorenheizing) -> Okt. bis April, Heizkreis 2 (OutdoorYakuzzi) -> bei Bedarf möglichst energieeffizient über vorhandenen PV-Überschussladung gesteuert werden.

Aktuell beobachte ich das System und versuche dabei das beobachtete Systemverhalten zu interpretieren und in eine Steuerung umzusetzen.
Dabei bin ich für Anregungen, Ideen, und natürlich Lösungen bzw. Lösungsvorschläge offen und dankbar.

Fortschritte und Ergebnisse werden natürlich in diesem Forum veröffentlicht. Vielen Dank für Eure Ideen, Hilfen und Lösungsvorschläge.
Viele Grüße
Gerhard
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

3gmann

Hallo zusammen,

ein kleines Problem habe ich noch - und zwar Fehlermeldungen die seit einbinden des Modules ModbusEcodanWP.pm in der LOG Datei erscheinen.

Dies ist folgende Meldung (aktueller Auszug aus dem LOG:

2021.11.24 11:51:33 2: Attempt to write to off device.
2021.11.24 11:53:15 2: Attempt to write to off device.
2021.11.24 11:56:35 2: Attempt to write to off device.
2021.11.24 11:58:16 2: Attempt to write to off device.
2021.11.24 12:01:34 2: Attempt to write to off device.
2021.11.24 12:03:15 2: Attempt to write to off device.

woher kommen diese Meldungen und wie können diese vermieden werden?

vielen Dank und viele Grüße
Gerhard
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

3gmann

Hallo zusammen und guten Abend,

trotz der leider nicht sehr großen Resonanz will ich einen Zwischenstand zu diesem Thema und meinen Aktivitäten hierzu veröffentlichen.

Aktueller Stand:

  • Das Modbus Modul habe ich gegen eine eigene Konfiguration über ModbusAttr ausgetauscht. Dies funktioniert auch soweit ganz zufriedenstellend, die Meldungen "Attempt to write to off device." tauchen aber leider auch hier noch in der Log-Datei auf - werden aber von mir mal ignoriert - das ganze läuft soweit stabil.

  • Nach einer Zeit des Beobachtens, vielen Try- und Error Versuchen kann ich die wichtigsten Betriebsparameter in einer SQL-Datenbank aufzeichnen und einige Parameter auch einstellen bzw. manipulieren. (z.B. Brauchwasser Soll Temperatur, Heizkreise Vorlauftemperatur und Betriebsmodi, aktuell verbrauchte Energiemenge und die daraus resultierende gewonnene Wärmemenge (COP) etc. (Werte siehe Dateien im Anhang)

  • Manuelles starten und stoppen der Brauchwassererwärmung funktioniert - allerdings z.Z noch manuell -> an der Automatik wird noch gebastelt.


Erkenntnisse:

  • Das System reagiert technisch bedingt relativ träge d.h. schnell mal kurz das Brauchwasser mit PV-Strom erwärmen kann man vergessen - hier bedarf es gerade in den Wintermonaten schon einer relativ guten Prognose um den Brauchwasserspeicher mit Energie aus der PV-Anlage zu versorgen.

  • Bei der Heizleistung ist das selbst mit Hilfe eines Batteriespeichers nicht bzw. nur bedingt möglich.  :(

  • Trotzdem kann der Betrieb meiner Meinung nach auch ohne Batteriespeicher mittels einer Automatik über FHEM optimiert und damit effizienter betrieben werden. :)

Ausblick:

  • Die Brauchwassererwärmung kann mittels guter Prognose und Automatik fast vollständig mit Solarenergie erfolgen dies wird weiter verfolgt und entwickelt.
  • Die Heizenergie kann ebenfalls etwas effizienter genutzt werden indem die Raumtemperaturen bei genügend Solarenergie erhöht werden und dadurch die Speicherkapazität des Gebäudes optimal ausgenutzt wird.
  • Das größte Potential die Wärmepumpe effizient zu betreiben ist wohl eine optimale Abstimmung und Einstellung der einzelnen Heizungskomponenten und deren Kalibrierung - und dabei ist die Überwachung der Betriebsparameter äußerst hilfreich.

Fazit:
Das Ganze hat mir bisher - auch ohne Unterstützung aus dem Forum - viel Spaß gemacht und einiges an Erkenntnissen und Wissen gebracht. Zu meinem Ziel eine kostenneutrale Energieversorgung aufzubauen führt wohl noch ein steiniger und weiter Weg zumal die Bedingungen hierzu (begrenzte Solarfläche, Altbau, Radiatorenheizung; finanzielle Investitionen die sich auch rechnen müssen etc...) nicht gerade optimal aber durchaus interessant sind.

Wer an diesem Projekt interessiert ist kann sich gerne mit mir in Verbindung setzen.

Liebe Grüße
Gerhard Gulde
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...