Autor Thema: Neue Versionen und Support zum Modbus-Modul  (Gelesen 194753 mal)

Offline laserrichi

  • Full Member
  • ***
  • Beiträge: 365
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #930 am: 05 August 2022, 19:37:59 »
Mal ne Frage.

Ein Gerät das nach MODBUS V1.1 RTU arbeitet soll mir das Model beim holding Register 40000 liefern

lt. Doku ist das String (32 bytes),  also muss ich doch len 16 angeben damit ich die 32 bytes bekomme.
Jetzt ist die gretchenfrage nach dem unpack... was müsste ich da nehmen ? 

Achja da fällt mir wieder auf, wenn ich so schweinereien mache mit unpack a>  dann schmiert Fhem ab :)  wird nicht abgefangen..
RaspberryPi 4 Buster,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESP8266,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+

Offline StefanStrobel

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1844
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #931 am: 06 August 2022, 22:45:36 »
Hallo,

für einen String wäre a* als unpack vermutlich das einfachste

Gruß
   Stefan

Offline laserrichi

  • Full Member
  • ***
  • Beiträge: 365
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #932 am: 07 August 2022, 10:46:08 »
Hallo Stefan,

Danke jetzt kommen wir der sache schon näher, das mit dem * wenn ich das richtig verstehe ist eine wiederholung.

Ich bekomme jetzt folgendes:

.0 6DCe agorStr wePo

richtig wäre aber:
Power Storage DC 6.0

Ich müsste das jetzt noch irgendwie in der Reihenfolge sortieren  < und > geht ja nicht, ist ja ein endian
RaspberryPi 4 Buster,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESP8266,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+

Offline ansgru

  • Jr. Member
  • **
  • Beiträge: 54
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #933 am: 08 August 2022, 10:21:54 »
Versuch mal "obj-h40000-revRegs 1"

Offline laserrichi

  • Full Member
  • ***
  • Beiträge: 365
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #934 am: 08 August 2022, 16:11:57 »
Versuch mal "obj-h40000-revRegs 1"

Danke du bist mein Held... ich hab in meinen Modul revRegs 1 global gesetzt und das hatte alles verdreht...

Jetzt wird es richtig angezeigt.

Noch was anderes, ich nutze an einem RS-485  zwei verschiedene Geräte die ich über TCP RTU anspreche.
Die beiden Devices kollidieren in Fhem und wechseln fleissig von opened auf disconnected

es wird eben auf der selben IP mit dem selben Port quasi die Verbindung aufgebaut. Ich müsste doch dann in Fhem ein device einrichten das die kommunikation macht und dann die modbusattr die darauf dann zugreifen.
Wie muss man das definieren gerade bei IP und RTU.

RaspberryPi 4 Buster,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESP8266,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+

Offline StefanStrobel

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1844
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #935 am: 08 August 2022, 22:31:54 »
Hallo laserrichi,

könntest Du etwas genauer beschreiben, wie das bei Dir aussieht? TCP oder RS485? oder per TCP auf ein Gateway und daran dann per RS485 zwei Slaves?
Wenn Gateway: was für eines und wie ist das konfiguriert? Was für IDs haben die Clients? Kann das Gateway mehrere TCP Master bedienen? Wie ist Fhem konfiguriert?
Da gibt es leider sehr viele Varianten und Fehlerquellen ...

Gruss
   Stefan

Offline laserrichi

  • Full Member
  • ***
  • Beiträge: 365
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #936 am: 08 August 2022, 23:01:34 »
Hallo Stefan,

Espeasy mit Serial Server, und daran Pegel Converter auf RS-485,  also nur durchreiche quasi.  Ist also kein Gateway was 2 Master bedienen kann.
An der RS-485 hängen dann beide Devices dran mit unterschiedlichen Modbus ID's
Sprechen beide RTU.
Ein SDM630M Stromzähler und Wechselrichter wo ich gerade dabei bin das Modul zu basteln.
RaspberryPi 4 Buster,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESP8266,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+

Offline StefanStrobel

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1844
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #937 am: 09 August 2022, 18:03:53 »
Hallo laserrichi,

Das ist ein recht spezielles Setup, da Dein Converter eben nur eine TCP-Verbindung bedient, aber bei Modbus über TCP entweder ein Relay als Gegenstück oder ein einzelner Slave erreicht wird. Für so einen Fall hatte ich das Modul mal so erweitert, dass man ein "physisches" Modbus-Gerät als IO-Device auch per TCP mit so einem Converter verbinden kann und dann logische Modbus-Geräte darüber kommunizieren können. Siehe Antwort #840 und folgende

Gruss
   Stefan

Offline laserrichi

  • Full Member
  • ***
  • Beiträge: 365
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #938 am: 09 August 2022, 18:29:27 »
Danke,
das hatte ich probiert und gesucht aber nicht mitbekommen das es auch für TCP und RTU so funktioniert....
Sollte Doku vielleicht erweitert werden.

Sieht jetzt bei mir so aus:
Interface:
define ModbusProxy Modbus 192.168.10.7:23
Wechselrichter:
define RCTModbus ModbusRCT 1 65 RTU
Stromzähler:
define Hausstrom ModbusSDM630M 99 90 RTU

Scheint soweit zu laufen :-)
RaspberryPi 4 Buster,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESP8266,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+

Offline Kruemel

  • Full Member
  • ***
  • Beiträge: 146
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #939 am: 22 August 2022, 21:14:12 »
Hallo zusammen, ich versuche gerade meine Nibe WP S320 mit fhem zu verbinden.
Ich versuche es mit ModbusAttr. Leider blicke ich da noch nicht durch. Ein define habe ich gemacht. Was für Attr ich brauche, welche nicht, was da rein gehört ist noch ein Buch mit mehr als 7 Siegeln ;-))
Ich frage mich z.B. wo die von der NIBE gelieferten Daten dann eigentlich angezeigt werden ;-((
Gibt es irgendein Dokument wo man sich einlesen könnte?

Habe meinen bisherigen Versuch mal beigefügt.

Internals:
   CFGFN     
   DEF        5 60 192.168.100.52:502 TCP
   DeviceName 192.168.100.52:502
   EXPECT     idle
   FUUID      6303c0b1-f33f-1fe0-2dc9-03dd2314a4d2d98c
   IODev      NIBE
   Interval   60
   LASTOPEN   1661195439.63033
   LeadingZeros 1
   MODBUSID   5
   MODE       master
   MODULEVERSION Modbus 4.4.04 - 17.7.2021
   NAME       NIBE
   NEXT_OPEN  1661195499.64065
   NOTIFYDEV  global
   NR         3043
   NTFY_ORDER 50-NIBE
   PARTIAL   
   PROTOCOL   TCP
   STATE      disconnected
   TCPConn    1
   TYPE       ModbusAttr
   devioLoglevel 3
   eventCount 30
   nextOpenDelay 60
   FRAME:
   QUEUE:
   READ:
   READINGS:
     2022-08-22 21:10:39   state           disconnected
   defptr:
     NIBE       5
   lastRead:
Attributes:
   dev-h-defPoll 1
   obj-h00001-expr $val/10
   obj-h00001-len 2
   obj-h00001-poll 1
   obj-h00001-reading AussentemperaturBT1
   obj-h00001-showGet 1
   obj-h00001-unpack n
   obj-h1-expr $val/10
   obj-h1-len 2
   obj-h1-poll 1
   obj-h1-reading AussentemperaturBT1
   room       UG-Heizung
   verbose    5
 


« Letzte Änderung: 23 August 2022, 20:28:31 von Kruemel »
RPi, Homematik, LAN-CFG, Bewegungsmelder, Rauchmelder, Rolläden, Schalter, Türkontakte, Heizungsventile, FB7390, Owncloud, xBMC

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 2641
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #940 am: 22 August 2022, 21:32:22 »
Hallo zusammen, ich versuche gerade meine Nibe WP S320 mit fhem zu verbinden.
Ich versuche es mit ModbusAttr. Leider blicke ich da noch nicht durch. Ein define habe ich gemacht. Was für Attr ich brauche, welche nicht, was da rein gehört ist noch ein Buch mit mehr als 7 Siegeln ;-))
Ich frage mich z.B. wo die von der NIBE gelieferten Daten dann eigentlich angezeigt werden ;-((
Gibt es irgendein Dokument wo man sich einlesen könnte?

Habe meinen bisherigen Versuch mal beigefügt.
Hallo Krümel,

bisher zeigt Deine Verbindung noch disconnected.
Es könnte sein, dass der Port 502 eventuell nicht richtig ist. Bei mir wird für ein anderes Gerät 1502 verwendet, vieleicht passt das ja.
Sobald das Device connected anzeigt kannst Du mal ein "set <Device> scanModbusObjects" versuchen, was mit einem "set <Device> scanStop" wieder angehalten werden kann.
Dann sollten diverse readings entstehen, die Dir einen Anhaltspunkt für die Kommunikation geben können.
Besser wäre natürlich, wenn Du eine Dokumentation der ModBus Register von Deinem Gerät hast, da sollte alles drin stehen.

Daraus entwickelt man dann z.B. type definitionen, die dann bei den Registern angewendet werden können
dev-type-INT16_Voltage-expr $val * (10 ** ReadingsNum("$name" ,"M_AC_Voltage_SF",0))
dev-type-INT16_Voltage-format %.2f
dev-type-INT16_Voltage-len 1
dev-type-INT16_Voltage-unpack s>

obj-h40077-reading M_AC_Voltage_AN
obj-h40077-type INT16_Voltage

VG
   Christian
« Letzte Änderung: 22 August 2022, 21:36:17 von ch.eick »
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline Kruemel

  • Full Member
  • ***
  • Beiträge: 146
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #941 am: 22 August 2022, 22:05:10 »
Hallo Christian, danke für Deine Antwort.
Den Port habe ich aus diesem Dokument der Firma Nibe.
https://www.nibe.eu/download/18.3db69dc1795e0d992c5722/1622634529178/Modbus%20S-series%20EN%20M12676EN-1.pdf

Gruß
Wolfgang
RPi, Homematik, LAN-CFG, Bewegungsmelder, Rauchmelder, Rolläden, Schalter, Türkontakte, Heizungsventile, FB7390, Owncloud, xBMC

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 2641
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #942 am: 23 August 2022, 08:41:07 »
Hallo Christian, danke für Deine Antwort.
Den Port habe ich aus diesem Dokument der Firma Nibe.
https://www.nibe.eu/download/18.3db69dc1795e0d992c5722/1622634529178/Modbus%20S-series%20EN%20M12676EN-1.pdf

Gruß
Wolfgang
Hallo Wolfgang,
dann prüf doch mal ob Du das Gerät über einen pin auf die IP-Adresse erreichen kannst. Wenn Du die IP-Adresse jedoch schon aus dem Router oder dem Gerät bekommen hast, dann sollte das okay sein. Eventuell meldet sich ja noch Jemand wegend des connects.

Das mit dem HTTPMOD und der API kannst Du ja auch mal probieren, damit sollte sich das Gerät auch im Browser melden.


In dem Dokument sind dann ja auch schon alle Register aufgelistet, dann kannst Du Dir den Scan sparen und aus der Tabelle die Definition erzeugen. Wichtig ist insbesondere die size spalte, denn da steckt die Länge und der Type jedes registers drin.

VG
   Christian
« Letzte Änderung: 23 August 2022, 08:43:36 von ch.eick »
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline Kruemel

  • Full Member
  • ***
  • Beiträge: 146
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #943 am: 23 August 2022, 08:52:57 »
Hallo Christian,
ich habe gestern noch an den Timeouts etwas versucht zu erreichen. Scheinbar ohne Erfolg.
Heute morgen habe ich dann mal den Nibe myplink eingerichtet. Kurz danach ging dann die Verbindung im FHEM auf opened. Der Scan lieferte dann einige Register.
Hmm, kann es sein, das man die Kommunikation per Modbus erst durch den Uplink anschubsen musste?

z.B. das soll die Außentemperatur sein.
scan-h00001 hex=000a, string=.., s=2560, s>=10, S=2560, S>=102022-08-23 07:59:12

Ich versuche dann mal heute Abend die Daten entsprechend aufzubereiten.
Gruß
Wolfgang
 
RPi, Homematik, LAN-CFG, Bewegungsmelder, Rauchmelder, Rolläden, Schalter, Türkontakte, Heizungsventile, FB7390, Owncloud, xBMC

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 2641
Antw:Neue Versionen und Support zum Modbus-Modul
« Antwort #944 am: 23 August 2022, 09:48:12 »
Hallo Wolfgang
Hallo Christian,
ich habe gestern noch an den Timeouts etwas versucht zu erreichen. Scheinbar ohne Erfolg.
Heute morgen habe ich dann mal den Nibe myplink eingerichtet. Kurz danach ging dann die Verbindung im FHEM auf opened. Der Scan lieferte dann einige Register.
Hmm, kann es sein, das man die Kommunikation per Modbus erst durch den Uplink anschubsen musste?
Das Gerät selber kenne ich nicht, aber das sieht dann ja schon mal prima aus.
Den Timeout würde ich wieder zurück nehmen, das wäre notwendig, wenn das gerät sehr langsam Antwortet.
Zitat
z.B. das soll die Außentemperatur sein.
scan-h00001 hex=000a, string=.., s=2560, s>=10, S=2560, S>=102022-08-23 07:59:12
Die Definition kannst Du ja im Dokument in der Tabelle finden.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP