Neues Modul für Geräte mit Modbus Schnittstelle über RS232 bzw. RS485

Begonnen von StefanStrobel, 12 Juli 2014, 14:50:22

Vorheriges Thema - Nächstes Thema

cotecmania

Ja das wars.
Hatte ich in der Commandref nicht gesehen, bzw. geht dort etwas unter im text ...
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

Allgaeuer

Hallo Stefan,

1. im SVN-Repository (fhem - Revision 13662: /trunk/fhem/FHEM) ist noch die Modbus-Version von Anfang Januar drin. Ist das Absicht?
2. Bei Deiner Version vom 29.01. geht bei ModbusAttr das "disable" nicht mehr. Es kommt folgende Meldung:
Zitatattribute disable is only valid for physical Modbus devices or Modbus TCP - please use this attribute for your physical IO device ModbusLine1

Sorry, das habe ich bei meinen Tests vermutlich übersehen.


Danke und viele Grüße,

Allgäuer

StefanStrobel

Hallo Allgaeuer,

ich habe die neue Version noch nicht eingecheckt.
Vorher sollte ich auch das mit dem disable noch in Ordnung bringen ;-)

Gruss
   Stefan

mani

Hallo Stefan,
habe eine Jablatron 100 Alarmanlage für die gibt es eine RS 485 Schnittstelle... kann dein Modul damit kommunizieren?
Danke MFG  Mani
AUSSCHNITT BESCHREIBUNG
"(Die Kommunikation über die serielle Schnittstelle RS-485 erfolgt
in ASCII mit einer Geschwindigkeit von 9600 baud, 8N1 (8 Datenbits,
ohne Parität, 1 Stop-Bit). Die Steuerung erfolgt über Befehle, die Syntax
ist immer wie folgt: Code Leerstelle Befehl.
Liste der Befehle:
VER Anzeige der Version des Moduls JA-121T.
HELP Anzeige der Hilfe (mögliche Befehle und Syntax-
Beispiele).
SET Scharfschalten der Bereiche: Hinter dem Befehl können
Nummern der Bereiche eingegeben werden, die scharf
geschaltet werden sollen - diese werden jeweils durch
Leerstelle getrennt. Wenn keine Spezifikation erfolgt,
wird alles scharf geschaltet.
SETP Teilscharfschalten: Hinter dem Befehl können Nummern
der Bereiche eingegeben werden, die teilscharf
geschaltet werden sollen - diese werden jeweils durch
Leerstelle getrennt. Wenn keine Spezifikation erfolgt,
werden alle Bereiche teilscharf geschaltet, die Freigabe
für das Teilscharfschalten haben.
UNSET Unscharfschalten der Bereiche: Hinter dem Befehl
können Nummern der Bereiche eingegeben werden, die
unscharf geschaltet werden sollen - diese werden jeweils
durch Leerstelle getrennt. Wenn keine Spezifikation
erfolgt, wird alles unscharf geschaltet."
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

StefanStrobel

Hallo Mani,

das ist kein Modbus sondern ein eigenes Protokoll.
Das Modbus-Modul passt hier nicht.

Gruss
    Stefan

Allgaeuer

Hallo Stefan,

Kein Problem. Ich hatte Update auf 5.8 gemacht und nicht gemerkt, dass noch das "alte" Modul drin war.
Ich bin mir nicht sicher, ob "disable" bei der 5.7 noch funktioniert hat.

Gruß Allgäuer

StefanStrobel

Hier ist eine neue Version zum Testen.
Das mit disable sollte wieder funktionieren und wenn es sonst keine neuen Probleme macht, werde ich die Version einchecken.

Gruss
   Stefan

mani

Hallo Stefan,

Kennst du ein Modul in Fhem was das können könnte?
Mfg Mani
RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

pejonp

LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

Allgaeuer

Hallo Stefan,

sowohl "disable" als auch die Events bei "Statistics_Timeouts" habe ich explizit getestet und funktionieren. Aus meiner Sicht kannst Du die Module einchecken.

Danke und schönen Abend.

Gruß Allgäuer

mani

RasPi B+,Onkyo_AVR,Luxtronik2,Logo7,Mpd,Arduino Uno mit Ethernet,KNX,Jablotron

wthiess

Hallo Stefan!

Ich habe die beiden Dateien eingespielt.
Alles läuft gut. Lüftung Thermostat und Zähler.
Ich hab alle alten Logs gelöscht. Nach dem Neustart von Fhem steht im Log folgendes.
2017.03.14 09:41:23 3: VR400Mod: timeout waiting for fc 3 from id 1, (h601 / REG_FILTER_DAYS), Request was 01030259000155a1, Buffer contains 6480
2017.03.14 09:41:25 3: VR400Mod: timeout waiting for fc 3 from id 1, (h213 / T_ZuI), Request was 010300d500059431

Hat das was zu bedeuten? Es läuft alles.

lg
Wolfgang
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......

StefanStrobel

Hallo Wolfgang,

das bedeutet dass ein Gerät nicht innerhalb des Timeouts geantwortet hat. Das kommt schon mal vor. Früher wurde das nur mit Loglevel 4 protokolliert. Inzwischen auf Level 3, es sei denn Du setzt das Attribut timeoutLogLevel. Deshalb siehst Du das jetzt.

Gruss
   Stefan

Fritz Muster

Hallo in die Runde,

ich habe mir für meine Wärmepumpe ein eigenes Zusatzmodul geschrieben. Die Installation vom Basismodul und Zusatzmodul funktionieren soweit. Nur bekomme ich keine Register Werte in mein Modul. Im logfile steht folgendes

2017.04.07 21:59:23 3: MdbEcodan: timeout waiting for fc 4 from id 1, (i164 / WMZ_Monat_der_letzen_Messung), Request was 010400a400023028
2017.04.07 21:59:23 4: MdbEcodan: HandleSendQueue sends fc 4 to id 1, tid 138 for Temperatur_Kaeltemittel (i57), len 2, device mdbsWaermepumpe (RTU), pdu 0400390002, V 3.5.21 - 12.3.2017
2017.04.07 21:59:23 5: SW: 010400390002a1c6
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate called
2017.04.07 21:59:24 4: mdbsWaermepumpe: update timer modified: will call GetUpdate in 60.0 seconds at 2017-04-07 22:00:24 - Interval 60
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate objects from attributes:
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate full object list: d16 d21 d7 h25 h27 h28 h31 h33 h37 h38 h39 h4 h40 h5 h55 h6 h73 i163 i164 i165 i166 i26 i3 i5 i57 i59 i61 i63 i65 i80
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check d16 => Trinkwasserbereitung, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Trinkwasserbereitung
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check d21 => Speicherladepumpe, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Speicherladepumpe
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check d7 => Heizkreispumpe, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Heizkreispumpe
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h25 => Anlage_An/Aus, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Anlage_An/Aus
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h27 => Betriebsart_Brauchwasser, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Betriebsart_Brauchwasser
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h28 => Heizung_Modus, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Heizung_Modus
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h31 => Trinkwasser_Temperatur, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Trinkwasser_Temperatur
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h33 => Vorlauftemperatur_Soll, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Vorlauftemperatur_Soll
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h37 => Schaltung_Brauchwasser, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Schaltung_Brauchwasser
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h38 => An/Abwesend, poll = once, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request An/Abwesend
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h39 => Brauchwasser_Status, poll = once, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Brauchwasser_Status
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h4 => Slave_ID, poll = once, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Slave_ID
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h40 => Heizkreis_Status, poll = once, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Heizkreis_Status
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h5 => Baud_Rate, poll = once, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Baud_Rate
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h55 => Vorlauftemperatur1_Soll, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Vorlauftemperatur1_Soll
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h6 => Parity_Typ, poll = once, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Parity_Typ
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check h73 => Frequenz_Heizungspumpe, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Frequenz_Heizungspumpe
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i163 => WMZ_Jahr_der_letzen_Messung, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request WMZ_Jahr_der_letzen_Messung
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i164 => WMZ_Monat_der_letzen_Messung, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request WMZ_Monat_der_letzen_Messung
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i165 => WMZ_Tag_der_letzen_Messung, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request WMZ_Tag_der_letzen_Messung
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i166 => Waermemenge, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Waermemenge
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i26 => Abtauung, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Abtauung
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i3 => Firmware_Version, poll = once, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Firmware_Version
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i5 => Fehler_Code, poll = once, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Fehler_Code
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i57 => Temperatur_Kaeltemittel, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Temperatur_Kaeltemittel
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i59 => Aussentemperatur, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Aussentemperatur
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i61 => Vorlauftemperatur, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Vorlauftemperatur
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i63 => Ruecklauftemperatur, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Ruecklauftemperatur
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i65 => Trinkwassertemperatur, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Trinkwassertemperatur
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate check i80 => Betriebsstunden_Heizungspumpe, poll = 1, last = 0
2017.04.07 21:59:24 4: mdbsWaermepumpe: GetUpdate will request Betriebsstunden_Heizungspumpe
2017.04.07 21:59:24 5: mdbsWaermepumpe: GetUpdate tries to combine read commands
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Trinkwasserbereitung / d16 with Speicherladepumpe / d21, span 6 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Speicherladepumpe / d21 with Heizkreispumpe / d7, span -13 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Heizkreispumpe / d7 with Anlage_An/Aus / h25, span 20 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Anlage_An/Aus / h25 with Betriebsart_Brauchwasser / h27, span 4 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Betriebsart_Brauchwasser / h27 with Heizung_Modus / h28, span 3 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Heizung_Modus / h28 with Trinkwasser_Temperatur / h31, span 5 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Trinkwasser_Temperatur / h31 with Vorlauftemperatur_Soll / h33, span 4 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Vorlauftemperatur_Soll / h33 with Schaltung_Brauchwasser / h37, span 6 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Schaltung_Brauchwasser / h37 with An/Abwesend / h38, span 3 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine An/Abwesend / h38 with Brauchwasser_Status / h39, span 3 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Brauchwasser_Status / h39 with Slave_ID / h4, span -33 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Slave_ID / h4 with Heizkreis_Status / h40, span 38 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Heizkreis_Status / h40 with Baud_Rate / h5, span -33 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Baud_Rate / h5 with Vorlauftemperatur1_Soll / h55, span 52 > max 1
2017.04.07 21:59:24 5: mdbsWaermepumpe: No Combine Vorlauftemperatur1_Soll / h55 with Parity_Typ / h6, span -47 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine Parity_Typ / h6 with Frequenz_Heizungspumpe / h73, span 69 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine Frequenz_Heizungspumpe / h73 with WMZ_Jahr_der_letzen_Messung / i163, span 92 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine WMZ_Jahr_der_letzen_Messung / i163 with WMZ_Monat_der_letzen_Messung / i164, span 3 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine WMZ_Monat_der_letzen_Messung / i164 with WMZ_Tag_der_letzen_Messung / i165, span 3 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine WMZ_Tag_der_letzen_Messung / i165 with Waermemenge / i166, span 3 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine Waermemenge / i166 with Abtauung / i26, span -138 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine Abtauung / i26 with Firmware_Version / i3, span -21 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine Firmware_Version / i3 with Fehler_Code / i5, span 4 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine Fehler_Code / i5 with Temperatur_Kaeltemittel / i57, span 54 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine Temperatur_Kaeltemittel / i57 with Aussentemperatur / i59, span 4 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine Aussentemperatur / i59 with Vorlauftemperatur / i61, span 4 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine Vorlauftemperatur / i61 with Ruecklauftemperatur / i63, span 4 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine Ruecklauftemperatur / i63 with Trinkwassertemperatur / i65, span 4 > max 1
2017.04.07 21:59:25 5: mdbsWaermepumpe: No Combine Trinkwassertemperatur / i65 with Betriebsstunden_Heizungspumpe / i80, span 17 > max 1
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i59, objLen 2 / reqLen 2 to id 1, op read, qlen 5
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i59 (Aussentemperatur), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h37, objLen 2 / reqLen 2 to id 1, op read, qlen 6
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h37 (Schaltung_Brauchwasser), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h38, objLen 2 / reqLen 2 to id 1, op read, qlen 7
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h38 (An/Abwesend), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with d16, objLen 1 / reqLen 1 to id 1, op read, qlen 8
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 2 to 1, for d16 (Trinkwasserbereitung), reqLen 1
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h28, objLen 2 / reqLen 2 to id 1, op read, qlen 9
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h28 (Heizung_Modus), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i5, objLen 2 / reqLen 2 to id 1, op read, qlen 10
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i5 (Fehler_Code), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h5, objLen 2 / reqLen 2 to id 1, op read, qlen 11
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h5 (Baud_Rate), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i3, objLen 2 / reqLen 2 to id 1, op read, qlen 12
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i3 (Firmware_Version), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h73, objLen 2 / reqLen 2 to id 1, op read, qlen 13
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h73 (Frequenz_Heizungspumpe), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h6, objLen 2 / reqLen 2 to id 1, op read, qlen 14
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h6 (Parity_Typ), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i26, objLen 2 / reqLen 2 to id 1, op read, qlen 15
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i26 (Abtauung), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h25, objLen 2 / reqLen 2 to id 1, op read, qlen 16
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h25 (Anlage_An/Aus), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h55, objLen 2 / reqLen 2 to id 1, op read, qlen 17
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h55 (Vorlauftemperatur1_Soll), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i65, objLen 2 / reqLen 2 to id 1, op read, qlen 18
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i65 (Trinkwassertemperatur), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h39, objLen 2 / reqLen 2 to id 1, op read, qlen 19
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h39 (Brauchwasser_Status), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i80, objLen 2 / reqLen 2 to id 1, op read, qlen 20
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i80 (Betriebsstunden_Heizungspumpe), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i63, objLen 2 / reqLen 2 to id 1, op read, qlen 21
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i63 (Ruecklauftemperatur), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h33, objLen 2 / reqLen 2 to id 1, op read, qlen 22
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h33 (Vorlauftemperatur_Soll), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h40, objLen 2 / reqLen 2 to id 1, op read, qlen 23
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h40 (Heizkreis_Status), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h4, objLen 2 / reqLen 2 to id 1, op read, qlen 24
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h4 (Slave_ID), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h27, objLen 2 / reqLen 2 to id 1, op read, qlen 25
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h27 (Betriebsart_Brauchwasser), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with d21, objLen 1 / reqLen 1 to id 1, op read, qlen 26
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 2 to 1, for d21 (Speicherladepumpe), reqLen 1
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i166, objLen 2 / reqLen 2 to id 1, op read, qlen 27
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i166 (Waermemenge), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i164, objLen 2 / reqLen 2 to id 1, op read, qlen 28
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i164 (WMZ_Monat_der_letzen_Messung), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i57, objLen 2 / reqLen 2 to id 1, op read, qlen 29
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i57 (Temperatur_Kaeltemittel), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with d7, objLen 1 / reqLen 1 to id 1, op read, qlen 30
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 2 to 1, for d7 (Heizkreispumpe), reqLen 1
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i61, objLen 2 / reqLen 2 to id 1, op read, qlen 31
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i61 (Vorlauftemperatur), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i165, objLen 2 / reqLen 2 to id 1, op read, qlen 32
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i165 (WMZ_Tag_der_letzen_Messung), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with i163, objLen 2 / reqLen 2 to id 1, op read, qlen 33
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 4 to 1, for i163 (WMZ_Jahr_der_letzen_Messung), reqLen 2
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send called with h31, objLen 2 / reqLen 2 to id 1, op read, qlen 34
2017.04.07 21:59:25 4: mdbsWaermepumpe: Send queues fc 3 to 1, for h31 (Trinkwasser_Temperatur), reqLen 2
2017.04.07 21:59:25 3: MdbEcodan: timeout waiting for fc 4 from id 1, (i57 / Temperatur_Kaeltemittel), Request was 010400390002a1c6
2017.04.07 21:59:25 4: MdbEcodan: HandleSendQueue sends fc 2 to id 1, tid 133 for Heizkreispumpe (d7), len 1, device mdbsWaermepumpe (RTU), pdu 0200070001, V 3.5.21 - 12.3.2017


Ein List meines Moduls sieht so aus

Internals:
   DEF        1 60
   DEST
   INTERVAL   60
   IODev      MdbEcodan
   MODBUSID   1
   ModuleVersion 3.5.21 - 12.3.2017
   NAME       mdbsWaermepumpe
   NOTIFYDEV  global
   NR         181
   NTFY_ORDER 50-mdbsWaermepumpe
   PROTOCOL   RTU
   STATE      opened
   TRIGGERTIME 1491595164.7341
   TRIGGERTIME_FMT 2017-04-07 21:59:24
   TYPE       ModbusEcodanWP
   Helper:
     lsend      1491595149.6677
   Lastread:
Attributes:
   IODev      MdbEcodan
   room       KG_Heizungsraum
   userattr   1 IODev verbose
   verbose    5


Das Listing vom Modbus Modul so

Internals:
   BUSY       1
   DEF        /dev/serial/by-id//usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@9600
   DeviceName /dev/serial/by-id//usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@9600
   FD         26
   LASTOPEN   1491594723.91615
   NAME       MdbEcodan
   NR         172
   NTFY_ORDER 50-MdbEcodan
   PARTIAL
   REQUESTHEX 01030004000285ca
   STATE      opened
   TYPE       Modbus
   devioLoglevel 3
   nextOpenDelay 60
   QUEUE:
     HASH(0x362d420)
     HASH(0x362d558)
     HASH(0x362d690)
     HASH(0x362d7c8)
     HASH(0x362d900)
     HASH(0x362da38)
     HASH(0x362db70)
     HASH(0x362dca8)
     HASH(0x362dde0)
     HASH(0x362df18)
   Readings:
     2017-04-07 21:52:03   state           opened
   Request:
     ADR        4
     FCODE      3
     FRAME      ��
     LEN        2
     MODBUSID   1
     OPERATION  read
     PROTOCOL   RTU
     READING    Slave_ID
     TID        75
     TYPE       h
     VALUE      0
     Devhash:
       DEF        1 60
       DEST
       INTERVAL   60
       IODev      MdbEcodan
       MODBUSID   1
       ModuleVersion 3.5.21 - 12.3.2017
       NAME       mdbsWaermepumpe
       NOTIFYDEV  global
       NR         181
       NTFY_ORDER 50-mdbsWaermepumpe
       PROTOCOL   RTU
       STATE      opened
       TRIGGERTIME 1491595104.7227
       TRIGGERTIME_FMT 2017-04-07 21:58:24
       TYPE       ModbusEcodanWP
       Helper:
         lsend      1491595092.4526
       Lastread:
   Defptr:
     1:
   Helper:
     buffer
     lid        1
     lsend      1491595092.4526
Attributes:
   room       System
   verbose    5


Mein Modul und die Modbus Beschreibung der Wärmepumpe habe ich angehängt. Hat jemand einen Tipp für mich?

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

StefanStrobel

Hallo,

hast Du denn schon getestet, ob die Kommunikation überhaupt funktioniert?
(z.B. mit einem einfachen Modbus-Client)
Stimmt die Modbus-Id, die seriellen Kommunikationsparameter, steht das Gerät auch auf Modbus, etc.?
Es kann auch am Adapter oder der Verkabelung etc. liegen.

Gruss
    Stefan