Schnittstellenkonfiguration Modbus DEF funktioniert nicht

Begonnen von Burny4600, 24 Februar 2025, 16:48:40

Vorheriges Thema - Nächstes Thema

Burny4600

Ich habe ein Problem die Modbus Schnittstelle bei einem WaveShare 4 Port RS485/USB unter FHEM so zu konfigurieren, dass diese für den Deye Wechselrichter auch funktioniert.
Mit /dev/ttyACM0@9600 funktioniert die Schnittstelle, aber das ist zu unsicher wenn die USB Schnittstellen vertauscht werden.
Die korrekte Konfiguration wäre /dev/serial/by-id/usb-WCH.CN_USB_Quad_Serial_BC62B6ABCD-if00, aber da hat Modbus mit der Schnittstelle zum Deye Inverter ein Problem.

Verwende ich einen Eastron Energiezähler funktioniert das WaveShare 4 Port RS485/USB Gerät ohne Probleme mit der Schnittstellen-Definition /dev/ttyACM0@9600
als auch mit /dev/serial/by-id/usb-WCH.CN_USB_Quad_Serial_BC62B6ABCD-if00.
 
LOG /dev/ttyACM0@9600
2025.02.24 16:30:10.806 3: Opening ModbusRS485_1WS_OG2_HZR device /dev/ttyACM0
2025.02.24 16:30:10.809 3: Setting ModbusRS485_1WS_OG2_HZR serial parameters to 9600,8,N,1
2025.02.24 16:30:10.811 3: ModbusRS485_1WS_OG2_HZR device opened

LOG /dev/serial/by-id/usb-WCH.CN_USB_Quad_Serial_BC62B6ABCD-if00
2025.02.24 16:33:49.002 3: Setting ModbusRS485_1WS_OG2_HZR serial parameters to 9600,8,N,1
2025.02.24 16:33:49.004 3: /dev/serial/by-id/usb-WCH.CN_USB_Quad_Serial_BC62B6ABCD-if00 reappeared (ModbusRS485_1WS_OG2_HZR)
2025.02.24 16:33:49.075 3: /dev/serial/by-id/usb-WCH.CN_USB_Quad_Serial_BC62B6ABCD-if00 disconnected, waiting to reappear (ModbusRS485_1WS_OG2_HZR)

Was mich dabei irritiert ist Schnittstellen Fehlermelung im LOG und trotzdem Daten aus dem Deye Inverter ausgelesen werden.

list ModbusRS485_1WS_OG2_HZR
Internals:
   CFGFN      /media/hdd/fhem/mycfg/schnittstellen_rasp02.cfg
   DEF        /dev/ttyACM0@9600
   DeviceName /dev/ttyACM0@9600
   EXPECT     idle
   FD         52
   FUUID      66881de9-f33f-f4d2-fd51-f91eca06b2e06599
   LASTOPEN   1740411538.40597
   MODE       master
   NAME       ModbusRS485_1WS_OG2_HZR
   NOTIFYDEV  global
   NR         403
   NTFY_ORDER 50-ModbusRS485_1WS_OG2_HZR
   PARTIAL   
   PROTOCOL   RTU
   STATE      opened
   SerialConn 1
   TYPE       Modbus
   devioLoglevel 3
   devioNoSTATE 1
   eventCount 1312
   nextOpenDelay 60
   nextQueueRun 1740411554.71805
   QUEUE:
     HASH(0x55a4a7c818)
     HASH(0x55a4acb018)
     HASH(0x55a4c8d038)
     HASH(0x55a422c3c8)
     HASH(0x55a419e258)
     HASH(0x55a41267c8)
     HASH(0x55a4c639f0)
     HASH(0x55a4a4a628)
     HASH(0x55a4b2e2f8)
     HASH(0x55a4bafaf8)
     HASH(0x55a4b37df8)
     HASH(0x55a41347b0)
     HASH(0x55a4ac3f08)
     HASH(0x55a4f1b5f0)
     HASH(0x55a4e6bc28)
     HASH(0x55a45f1508)
     HASH(0x55a466c540)
     HASH(0x55a505dae0)
     HASH(0x55a4667c90)
     HASH(0x55a4e1c890)
     HASH(0x55a49e2570)
   READ:
     BUFFER     
   READINGS:
     2025-02-24 16:38:58   state           opened
   REMEMBER:
     lid        12
     lname      Deye_12k
     lrecv      1740411554.61735
     lsend      1740411554.58323
   defptr:
     Deye_12k   12
Attributes:
   alias      ModBus RS485 1 | WaveShare USB - OG2 Heizraum
   devStateIcon opened:lan_rs485@0CFB0C Open:lan_rs485@red disconnected:lan_rs485@red disabled:lan_rs485@orange
   devStateStyle style="text-align:left;font-weight:bold;"
   disable    0
   group      Schnittstellen Modbus
   icon       lan_rs485
   queueDelay 1
   queueMax   200
   room       _RxTx
   sortby     01.01

Was mir zudem aufgefallen ist, ist das beim list der Schnittstelle einmal nur die Internals der Schnittstelle auftauchen und einmal der komplette Inverter hinter der Schnittstelle.

list ModbusRS485_1WS_OG2_HZR inklusive Inverter Internals.
Internals:
   CFGFN      /media/hdd/fhem/mycfg/schnittstellen_rasp02.cfg
   DEF        /dev/ttyACM0@9600
   DeviceName /dev/ttyACM0@9600
   EXPECT     response
   FD         52
   FUUID      66881de9-f33f-f4d2-fd51-f91eca06b2e06599
   LASTOPEN   1740411538.40597
   MODE       master
   NAME       ModbusRS485_1WS_OG2_HZR
   NOTIFYDEV  global
   NR         403
   NTFY_ORDER 50-ModbusRS485_1WS_OG2_HZR
   PARTIAL   
   PROTOCOL   RTU
   STATE      opened
   SerialConn 1
   TYPE       Modbus
   devioLoglevel 3
   devioNoSTATE 1
   eventCount 1312
   nextOpenDelay 60
   nextQueueRun 1740411825.13608
   nextTimeout 1740411826.13435
   FRAME:
   QUEUE:
     HASH(0x55a4b31af8)
     HASH(0x55a4e91948)
     HASH(0x55a4963278)
     HASH(0x55a41585c0)
     HASH(0x55a4c222d0)
     HASH(0x55a4bd8658)
     HASH(0x55a4bf7b08)
     HASH(0x55a417b380)
     HASH(0x55a4163d80)
     HASH(0x55a4bc5300)
     HASH(0x55a4196e88)
     HASH(0x55a4a7ca58)
     HASH(0x55a5025f80)
     HASH(0x55a4e685a8)
     HASH(0x55a4bcf280)
     HASH(0x55a49ac518)
     HASH(0x55a4bcf298)
     HASH(0x55a4b71758)
     HASH(0x55a412eb38)
     HASH(0x55a464a130)
     HASH(0x55a4a502f8)
     HASH(0x55a4baf420)
     HASH(0x55a4c68660)
     HASH(0x55a4b38020)
     HASH(0x55a4af8528)
   READ:
     BUFFER     
   READINGS:
     2025-02-24 16:38:58   state           opened
   REMEMBER:
     lid        12
     lname      ModbusRS485_1WS_OG2_HZR
     lrecv      1740411822.63217
     lsend      1740411824.13596
   REQUEST:
     ADR        500
     DBGINFO    getUpdate for Betriebsstatus len 1
     FCODE      3
     FRAME      ␌␃␁�␁�␙
     LEN        1
     MODBUSID   12
     OPERATION  read
     QUEUED     1740411824.06883
     READING    Betriebsstatus
     SENT       1740411824.13435
     TYPE       h
     MASTERHASH:
       CFGFN      /media/hdd/fhem/mycfg/pv_anlagen/pv_anlagen_rasp02.cfg
       DEF        12 5
       FUUID      66894adc-f33f-f4d2-6b74-3b3294e22a06e154
       IODev      ModbusRS485_1WS_OG2_HZR
       Interval   5
       MODBUSID   12
       MODE       master
       MODULEVERSION Modbus 4.5.6 - 7.11.2023
       NAME       Deye_12k
       NOTIFYDEV  global
       NR         1359
       NTFY_ORDER 50-Deye_12k
       PROTOCOL   RTU
       STATE     
<b>
<br>
   <span style='color:#2986cc'>Akku Alterung<span style='color:transparent'>....<span style='color:#2986cc'>100 %
   <span style='color:transparent'>.............
   <span style='color:#2986cc'>Akku Kapazität<span style='color:transparent'>....<span style='color:#2986cc'>85 %
<br>
<br>
   <span style='color:#FFDD00'>Akku Spannung<span style='color:transparent'>....<span style='color:#FFDD00'>320.70 V
   <span style='color:transparent'>.............
   <span style='color:#AAFF00'>Akku Strom<span style='color:transparent'>....<span style='color:#AAFF00'>-1.87 A
   <span style='color:transparent'>.............
   <span style='color:#00FFFF'>Akku Leistung<span style='color:transparent'>....<span style='color:#00FFFF'>-0.590 kW
<br>
<br>
   <span style='color:#c90076'>Akku Energie Entladung Heute<span style='color:transparent'>....<span style='color:#c90076'>5.4 kWh
   <span style='color:transparent'>...........
   <span style='color:#c90076'>Akku Energie Entladung Gesamt<span style='color:transparent'>....<span style='color:#c90076'>1.9083 MWh
<br>
   <span style='color:#c90076'>Akku Energie Ladung Heute<span style='color:transparent'>....<span style='color:#c90076'>3.2 kWh
   <span style='color:transparent'>................
   <span style='color:#c90076'>Akku Energie Ladung Gesamt<span style='color:transparent'>....<span style='color:#c90076'>2.2298 MWh
<br>
<br>
<br>

<span style='color:transparent'>
<span style='color:#FFFFFF'>Status
<span style='color:transparent'>...
<span><svg class=" rc_dot #00fb45" data-txt="rc_dot@#00fb45"    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:cc="http://creativecommons.org/ns#"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    xmlns:svg="http://www.w3.org/2000/svg"    xmlns="http://www.w3.org/2000/svg"    version="1.0"    width="468pt"    height="468pt"    viewBox="0 0 468 468"    id="svg2">   <defs      id="defs12" />   <metadata      id="metadata4"> Created by potrace 1.8, written by Peter Selinger 2001-2007 <rdf:RDF>   <cc:Work      rdf:about="">     <dc:format>image/svg+xml</dc:format>     <dc:type        rdf:resource="http://purl.org/dc/dcmitype/StillImage" />     <dc:title></dc:title>   </cc:Work> </rdf:RDF> </metadata>   <g      transform="matrix(0.189474,0,0,-0.189474,0,468)"      id="g6" />   <path      d="m 459.3017,232.56468 a 225.07627,225.07627 0 0 1 -450.1525409,0 225.07627,225.07627 0 1 1 450.1525409,0 z"      id="path2984"      style="fill:#00fb45;fill-opacity:1;stroke:none" /> </svg>
</span>
..............................................................................................

Entweder habe ich einen Fehler bei der Deye Inverter Konfiguration der mit /dev/ttyACM0@9600 nicht auffällt, oder es liegt an der Kombination.
Mfg Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess