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

Fritz Muster

Hallo in die Runde,

ich bekomme in den nächsten Wochen eine Luft Wärmepumpe von Mitsubishi mit den Procon A1m Modbus Adapter installiert. Um für den Tag der Tag vorbereitet zu sein  ;D habe ich ein Modbus Modul geschrieben, welches auf dem 98_Modbus.pm von StefanStrobel basiert. Hier der Thread dazu https://forum.fhem.de/index.php/topic,25315.0.html

Vielleicht hat ja jemand Bedarf daran.

Grüße Fritz

30.03.20 update

Nach Anmerkung vom user bertl habe ich die defLen Variablen der holding und input register von 2 auf 1 geändert. Somit kommt es nicht mehr zu den Logeinträgen
DoRequest tries to use function code 6 to write more than one register. This will not work

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

dinkel75

Hallo,

bekomme auch das Procon Modbus-Modul.

Wie muss ich ein Gerät anlegen (ich meine define xxxx xxx)?
Welche Attribute muss ich anlegen, damit ich Daten auslesen und schreiben kann?

Ach - und ich hab auch gelesen, dass es ein Problem mit Leerzeichen gab - hast du da ein Udpate pm-File?

Bin ein ziemlicher Frischling in FHEM - ich bitte dich um einen kleine Startimpuls in Sachen Modbus!

Kannst du mir vielleicht Auszug aus deiner fhem.cfg geben.

Wie funktioniert es bei dir  - alles OK?

Ciao
Michael

Fritz Muster

Hallo Michael,

den Modbus USB Adapter habe ich mit

define mdbsEcodan Modbus /dev/serial/by-id//usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@9600

angelegt, wobei das usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 die Adresse meines USB Adapters ist. Muss bei Dir entsprechend angepasst werden

Danach das Modul mit

define mdbsWaermepumpe ModbusEcodanWP 1 30

angelegt und als Attribut

attr mdbsWaermepumpe IODev mdbsEcodan definiert.

Das war schon damals alles.

Wenn alles korrekt verkabelt und eingerichtet ist kommen dann die Readings nach und nach von alleine.

Ich habe mal im ersten Thread die bei mir derzeit laufende .pm hochgeladen.

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

dinkel75

Hallo,

habs auch geschafft - danke!

Eines fehlt mir noch, weißt du welches Register ich ansprechen muss, damit ich die Soll-Temperatur vom Vorlauf bekomme (wenn man im Heizmodus Vorlauf ist)?

Danke

Ciao
Michael

Fritz Muster

#4
Das ist das Register h33 (Raumtemperatur_Soll). Je nachdem in welchem Betriebsmodus (Vorlauf/Raumtemp.) die Anlage betrieben wird, steht das Register für den entsprechenden SollWert.

Noch eine Anmerkung. Ich habe das Register h33 in meiner .pm aus dem 1. Thread mit einer Begrenzung belegt (18-25). Bei der Betriebsart Vorlauf dürfte das eventuell zu wenig sein. Das musst dann dann auf deine Gegebenheiten/Anforderungen anpassen.

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

dinkel75

Danke!
Hat mich nur ein wenig verwirrt, dass sich das Register auch verändert, wenn ich um Raumbetriebs-Modus bin.
Funktioniert aber tadellos!
Hat vorher das Wifi Modul - aber das jetzt - viel besser!

Übrigens falls jemand, das Wifi Modul für die Ecodan braucht, kann eines abgeben.

R1F800

Hallo,

wir bekommen auch eine Ecodan WP.
Hat jemand den Datenstrom schon OHNE dieses MODBUS Modul genutzt?
Oder gibt es dazu keine Alternative? Ist doch glauche ich auch nichts anderes wie ein propietäres MQTT oder?

Gibt es technische Doku zu der Schnittstelle an der ECODAN zum ModBUS hin?

VG

bertl

Ergänzung, falls wer das gleiche Setup hat:

Ich habe den Procon MelcoBEMS MINI (A1M) Adapter nicht über USB sondern über einen RS485-Serial to TCPIP-Ethernet Converter (USR-TCP232-410s https://www.usriot.com/products/modbus-serial-to-ethernet-converters.html) an meine Hausautomation angeschlossen.

Somit lautet die Einbindung von Fritz seinem Modul in FHEM wie folgt:

define mdbsWaermepumpe ModbusEcodanWP 1 30 192.168.1.100:502 TCP

Der Ethernet-Converter wandelt nämlich das Modbus RTU Protokoll in ein Modbus TCP Protokoll um, daher muss man bei der Definition TCP verwenden.
Es sind keine weitere Definitionen oder Attribute notwendig (Die IP-Adresse muss natürlich angepasst werden).

Danke Fritz für die zur Verfügungstellung des 98_ModbusEcodanWP.pm Moduls (Plug and Play - so wie es sein soll) :)

bertl

Hallo Fritz,

hast du dir das Input-Register 4 [Fault Code (decimal) - Modbus_Fehler_Code] schon mal genauer angesehen bzw. mitgeloggt?

Ich bekomme nämlich pro Stunde etwa 8 bis 15 mal die Meldung 6999:Bad_communication.

Für mein Verständnis bedeutet diese Meldung, dass zwischen dem Mitsubish FTC-Controller und dem Procon MelcoBEMS MINI (A1M) Adapter eine fehlerhafte Kommunikation passiert!?
Diese Verbindung kann ich ja in keinster Art und Weise beeinflussen, oder?

Die restlichen übermittelten Daten (Register) scheinen zu stimmen!

Hast du diesbezüglich Erfahrungen bzw. eine Idee warum diese Meldung kommt oder ob man diese getrost vergessen kann?

Gruss bertl

Fritz Muster

Zitat von: bertl am 30 März 2020, 14:33:29
hast du dir das Input-Register 4 [Fault Code (decimal) - Modbus_Fehler_Code] schon mal genauer angesehen bzw. mitgeloggt?
Bei mir ist das das Register i8. Ich habe bis dato nichts außergewöhnliches dazu festgestellt. Habe das Reading aber auch bis dato nicht näher unter die Lupe genommen.

Zitat von: bertl am 30 März 2020, 14:33:29
Für mein Verständnis bedeutet diese Meldung, dass zwischen dem Mitsubish FTC-Controller und dem Procon MelcoBEMS MINI (A1M) Adapter eine fehlerhafte Kommunikation passiert!?
Diese Verbindung kann ich ja in keinster Art und Weise beeinflussen, oder?
So spontan würde ich das auch so interpretieren.

Zitat von: bertl am 30 März 2020, 14:33:29
Hast du diesbezüglich Erfahrungen bzw. eine Idee warum diese Meldung kommt oder ob man diese getrost vergessen kann?

Keine Erfahrungen dazu, aber ich logge mal die nächsten Tage das Reading und melde mich hier wieder.

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

Fritz Muster

Zitat von: bertl am 30 März 2020, 14:33:29
Ich bekomme nämlich pro Stunde etwa 8 bis 15 mal die Meldung 6999:Bad_communication.

Bei mir kam es in den letzten 3 Tagen zu keinem 6999 Fehler.

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

Hallo,
ich habe die Mitsubishi Codepages vor mir liegen.
Ich gehe mal davon aus, dass es sich hierbei um die INPUT register handelt?
Wie bekomme ich denn dann die passenden OUTPUT register, die mir die Daten in eine VAriable übergeben können?

z.B. 
Innengerät : 013 - Unterkühlung;  042 Wärmetauschertemp;
Außengerät: 112 Leitungstemperatur 1 (TH3); 113 Leitungstemperatur 2 ; 114 Wärmetauschertemp; 119 Unterkühlung;

vG

Fritz Muster

#12
Hallo,

kann Dir nicht folgen. Nach meiner Doku gibt es Holding, Input, Discrete und Coils Register. Output Register gibt es bei mir nicht.

Die Register Werte welche Du nennst (013,042 usw) sind in meiner Doku auch anders belegt.

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 30 September 2020, 11:30:15
Hallo,

kann Dir nicht folgen. Nach meiner Doku gibt es Holding, Input, Discrete und Coils Register. Output Register gibt es bei mir nicht.

Die Register Werte welche Du nennst (013,042 usw) sind in meiner Doku auch anders belegt.

Viele Grüße
Fritz

Aber wir sprechen von einer Mitsubishi ECODAN?


Ich möchte eigentlich lapidar gesproch nur weitere Werte der ECODAN auslesen :-)

Fritz Muster

Die Codes die Du da hast ist eine ganz andere Baustelle. Deine Liste enthält die Abfrage Codes zum Auslesen der jeweiligen Werte am Gerät selbst (Bedienteil). Die Modbus Register sind ganz andere. Welches Setup hast Du?
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