Neue Versionen und Support zum Modbus-Modul

Begonnen von StefanStrobel, 20 August 2017, 12:11:08

Vorheriges Thema - Nächstes Thema

StefanStrobel

Zitat von: CaptainHook am 18 Juli 2023, 13:00:59In der Datei im SVN habe ich gesehen, das das Modul beim senden von Werten den Funktionscode 06 benutzt (%fcMap).
Gibt es eine Möglichkeit, zwei Register in einer Transaktion und mit Funktionscode 10 zu senden?
Klar:
Zitatdev-([cdih]-)*write
specifies the function code to use for writing this type of object. The default is 6 for holding registers and 5 for coils. Discrete inputs and input registers can not be written by definition.

6 ist nur der Default, aber selbst der wird in der Funktion GetFc abhängig von der Länge geändert:
    $defFC       = 16 if ($defFC == 6 && $len > 1);                 # 6 becomes 16 for more than one register
Gruß
   Stefan


yoda_gh

Zitat von: StefanStrobel am 02 Juni 2023, 10:07:24Hallo fireball,

device löschen und neu anlegen erscheint mir nicht überzeugend als Lösung.
Es wäre schön zu verstehen, wer die Verbindung ständig schließt. Wenn das der Wechselrichter ist, dann kannst Du mit  closeAfterResponse verhindern, dass Fhem die Verbindung sofort wieder neu aufmacht.
Hilfreich wäre ein Auszug aus dem Log bei verbose 5.

Gruß
  Stefan


Hallo zusammen!

Ich habe dasselbe Problem mit meiner Heizung ETA PelletsCompact 20 mit Modbus TCP, stateFormat funktioniert nicht, es stand nach kurzer Zeit wieder  "opened" da, sowie alle 30 Sekunden DISCONNECTED/CONNECTED-Events.

Wie gewünscht hier der Auszug mit verbose 5:

2023.08.25 21:44:22 3 : 192.168.0.83:502 disconnected, waiting to reappear (etapc20)
2023.08.25 21:44:22 5 : HttpUtils url=http://192.168.0.83:502/ NonBlocking via http
2023.08.25 21:44:22 4 : IP: 192.168.0.83 -> 192.168.0.83
2023.08.25 21:44:22 3 : 192.168.0.83:502 reappeared (etapc20)
2023.08.25 21:44:22 4 : etapc20: UpdateTimer called from OpenCB with cmd start sets timer to call update function in 237.5 sec at 21:48:19.937, interval 300
2023-08-25 21:44:22 ModbusAttr etapc20 DISCONNECTED
2023-08-25 21:44:22 ModbusAttr etapc20 CONNECTED
2023.08.25 21:44:52 3 : 192.168.0.83:502 disconnected, waiting to reappear (etapc20)
2023.08.25 21:44:52 5 : HttpUtils url=http://192.168.0.83:502/ NonBlocking via http
2023.08.25 21:44:52 4 : IP: 192.168.0.83 -> 192.168.0.83
2023.08.25 21:44:52 3 : 192.168.0.83:502 reappeared (etapc20)
2023.08.25 21:44:52 4 : etapc20: UpdateTimer called from OpenCB with cmd start sets timer to call update function in 207.5 sec at 21:48:19.937, interval 300
2023-08-25 21:44:52 ModbusAttr etapc20 DISCONNECTED
2023-08-25 21:44:52 ModbusAttr etapc20 CONNECTED

"attr closeAfterResponse 1" hat das Problem halb gelöst, die Events alle 30 Sek. sind weg, aber der Status funktioniert immer noch nicht, jetzt steht da meistens "disconnected".

yoda_gh

Zitat von: yoda_gh am 25 August 2023, 22:01:36"attr closeAfterResponse 1" hat das Problem halb gelöst, die Events alle 30 Sek. sind weg, aber der Status funktioniert immer noch nicht, jetzt steht da meistens "disconnected".

Ich muss allerdings gestehen, dass ich noch auf dem Stand von Anfang Februar bin (ModuleVersion 4.4.14) und da ich in ein paar Tagen in Urlaub fahre, mag ich jetzt auch kein Update mehr starten.  :-[

yoda_gh

#1173
Nebenbei, für alle, die mehrere Werte aus einem Register lesen müssen (oder andere Besitzer einer ETA-Heizung...): ich habe mich eine Weile gespielt, um den ETA-Modbus-Typ "TIMESLOT" in FHEM abzubilden. Damit packen sie drei Werte, die ein Schaltprogramm beschreiben, in zwei Holding-Register (Register N: Temperatur * 10, Register N+1: End- und Startzeitpunkt jeweils in einem Byte, kodiert in Viertelstunden seit Mitternacht - 19:30 wäre also 78...).

(Siehe auch https://www.eta.co.at/produkte/downloads/technische-dokumente/ > SYSTEMKOMPONENTEN > ETAtouch Schnittstellen > Modbus/TCP Interface, Kapitel "3.2.4 Time slot variables")

Mit folgender Attributschlacht bekommt man die in ein Reading, das dann so aussieht:

"06:00-19:30 57.0 °C"

attr etapc20 dev-type-VT_Timeslot-expr sprintf("%02d:%02d-%02d:%02d %.1f °C", int(($val >> 8 & 0xFF) / 4), (($val >> 8 & 0xFF) % 4) * 15, int(($val & 0xFF) / 4), (($val & 0xFF) % 4) * 15, (($val >> 16) / 10))
attr etapc20 dev-type-VT_Timeslot-format %s
attr etapc20 dev-type-VT_Timeslot-len 2
attr etapc20 dev-type-VT_Timeslot-unpack l>
attr etapc20 dev-type-VT_Timeslot-set 1

attr etapc20 obj-hNNNN-type VT_Timeslot
attr etapc20 obj-hNNNN-reading WWProg1_Mo-1
attr etapc20 obj-hNNNN-setexpr ( (($1*4+int($2/15))<<8) + ($3*4+int($4/15)) + (($5*10+$6)<<16) ) if $val =~ /(\d+):(\d+)-(\d+):(\d+) (\d+).(\d+) °C/
attr etapc20 obj-hNNNN-textArg 1

Dazu gleich zwei Fragen:

  • Ist -textArg absichtlich nicht dokumentiert? Ist es böse, das zu verwenden? ;)
  • Würde es nicht Sinn machen, -setexpr und -textArg auch in einem Typ ablegen zu können, wenn es schon -set dort gibt?

Wenn das so Sinn macht, würde ich das auch auf https://wiki.fhem.de/wiki/ModbusAttr dokumentieren, oder?

StefanStrobel

Hallo yoda_gh,

Beim Define wird seit Dezember devioNoSTATE gesetzt. Die Intention war dass stateFormat auch beim close wirkt. Ich schau mir das aber nach den Ferien nochmal an.

Dass textArg in der Doku fehlt ist keine Absicht sondern ein Fehler.
TextArg und setexpr kann ich gerne auch noch in die Attributliste für Types hinzufügen. Mehr Aufwand ist es nicht. Vorübergehend müsste es auch schon funktionieren wenn man dev-type-VT_Timeslot-setexpr als userattr hinzufügt.

Gruß 
    Stefan

yoda_gh

Zitat von: StefanStrobel am 27 August 2023, 10:31:23Beim Define wird seit Dezember devioNoSTATE gesetzt. Die Intention war dass stateFormat auch beim close wirkt. Ich schau mir das aber nach den Ferien nochmal an.

Dass textArg in der Doku fehlt ist keine Absicht sondern ein Fehler.
TextArg und setexpr kann ich gerne auch noch in die Attributliste für Types hinzufügen. Mehr Aufwand ist es nicht. Vorübergehend müsste es auch schon funktionieren wenn man dev-type-VT_Timeslot-setexpr als userattr hinzufügt.

Ah, interessant, vielleicht komme ich vor dem Urlaub auch noch dazu, das mit dem stateFormat zu debuggen. Gibt es etwas, was ich wegen dem DISCONNECTED noch nachschauen/testen sollte?

Hilft Dir ein Patch für TextArg und setexpr?

yoda_gh

#1176
Zitat von: StefanStrobel am 27 August 2023, 10:31:23Hallo yoda_gh,

Beim Define wird seit Dezember devioNoSTATE gesetzt. Die Intention war dass stateFormat auch beim close wirkt. Ich schau mir das aber nach den Ferien nochmal an.

Hab noch ein bisschen reingeschaut. Kann es sein, dass das devioNoSTATE im logischen Device gesetzt werden müsste? Ich habe es zumindest mal testhalber (zusätzlich) in DefineLDFn eingebaut und das Device neu angelegt. Jetzt sehe ich devioNoSTATE auch als INTERNAL und stateFormat funktioniert scheinbar jetzt auch korrekt.

Ich hab allerdings jetzt nur mit der alten Version vom Januar getestet - unmittelbar vor dem Urlaub mag ich kein Update mehr riskieren. :) Wenn es (dann noch) was bringt, kann ich Dir Mitte September gerne einen Patch vorbereiten. :)

JensS

Hallo @Stefan,

lässt sich ein  SUN-M60/80/100G3-EU-Q0 mit ModbusAttr abfragen?
Mit der Definition von @bismosa https://forum.fhem.de/index.php?msg=1264999 hatte ich es probiert aber keine Werte erhalten.

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

StefanStrobel

Hallo Jens,

ob der SUN-M60/80/100G3-EU-Q0 überhaupt Modbus unterstützt und falls ja, welche Register welche Werte liefern kann ich Dir nicht sagen.
Ich hab mal im Netz nach dem Datenblatt gesucht und dort stand nichts von Modbus.
Du müsstest Dich da rantasten und erstmal suchen ob es einen offenen Port gibt, der eventuell mit Modbus angesprochen werden kann. Dann könntest Du die Register scannen. Oder Du findest irgendwo eine Doku, in der das drinsteht.

Gruss
  Stefan

StefanStrobel

Zitat von: yoda_gh am 28 August 2023, 21:47:30Hab noch ein bisschen reingeschaut. Kann es sein, dass das devioNoSTATE im logischen Device gesetzt werden müsste? Ich habe es zumindest mal testhalber (zusätzlich) in DefineLDFn eingebaut und das Device neu angelegt. Jetzt sehe ich devioNoSTATE auch als INTERNAL und stateFormat funktioniert scheinbar jetzt auch korrekt.

so ist es. Ich ändere das in der nächsten Version.

Gruss / Thanx
    Stefan

bismosa

Zitat von: JensS am 19 September 2023, 19:50:51Hallo @Stefan,

lässt sich ein  SUN-M60/80/100G3-EU-Q0 mit ModbusAttr abfragen?
Mit der Definition von @bismosa https://forum.fhem.de/index.php?msg=1264999 hatte ich es probiert aber keine Werte erhalten.

Gruß Jens
Hallo!
Da es sich bei den Deye Geräten wohl um kein "echtes" Modbus handelt, hatte ich an der Stelle auch aufgegeben.
Es gibt ein sehr interessantes Projekt: https://github.com/kbialek/deye-inverter-mqtt
Läuft bei mir mit Docker einwandfrei. Und wenn ich das richtig verstanden habe, dann sogar schon mit der neuen Firmware, wenn man das Relais dazwischen geschaltet hat.

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

holle75

#1181
Ein Fehlerbild im Log, was ich nicht ganz nachvollziehen kann, aber eine Idee habe, woran es liegen könnte.

Log Auszug:
2023.09.21 09:47:27 3: Studer485_Gateway: MapConvert called from CreateDataObjects did not find 90 (90) in map 0:Warning (000) - Battery too low, 1:Warning (001) - Battery too high, 2:Warning (002) - Bulk charge too long, 3:(003) - AC-In synchronization in progress, 4:Warning (004) - Input frequency AC-In wrong, 5:Warning (005) - Input frequency AC-In wrong, 6:Warning (006) - Input voltage AC-In too high, 7:Warning (007) - Input voltage AC-In too low, 8:Halted (008) - Inverter overload SC, 9:Halted (009) - Charger short circuit, 10:(010) - System start-up in progress, 11:Warning (011) - AC-In Energy quota, 12:(012) - Use of battery temperature sensor, 13:(013) - Use of additional remote control, 14:Halted (014) - Over temperature EL, 15:Halted (015) - Inverter overload BL, 16:Warning (016) - Fan error detected, 17:(017) - Programing mode, 18:Warning (018) - Excessive battery voltage ripple, 19:Halted (019) - Battery undervoltage, 20:Halted (020) - Battery overvoltage, 21:(021) - Transfer not authorized, AC-Out current is higher than {1107}, 22:Halted (022) - Voltage presence on AC-Out, 23:Halted (023) - Phase not defined, 24:Warning (024) - Change the clock battery, 25:Halted (025) - Unknown Command board. Software upgrade needed, 26:Halted (026) - Unknown Power board. Software upgrade needed, 27:Halted (027) - Unknown extension board. Software upgrade needed, 28:Halted (028) - Voltage incompatibility Power - Command, 29:Halted (029) - Voltage incompatibility Ext. - Command, 30:Halted (030) - Power incompatibility Power - Command, 31:Halted (031) - Command board software incompatibility, 32:Halted (032) - Power board software incompatibility, 33:Halted (033) - Extension board software incompatibility, 34:Halted (034) - FID corruption, call factory, 35:(035) - Memory structure modified, 36:Halted (036) - Parameter file lacking, 37:Warning (037) - Message file lack. SW upgrade advised, 38:Warning (038) - Upgrade of the device software advised, 39:Warning (039) - Upgrade of the device software advised, 40:Warning (040) - Upgrade of the device software advised, 41:Warning (041) - Over temperature TR, 42:Halted (042) - Unauthorized energy source at the output, 43:(043) - Start of monthly test, 44:(044) - End of successfully monthly test, 45:Warning (045) - Monthly autonomy test failed, 46:(046) - Start of weekly test, 47:(047) - End of successfully weekly test, 48:Warning (048) - Weekly autonomy test failed, 49:(049) - Transfer opened because AC-In max current exceeded {1107}, 50:Error (050) - Incomplete data transfer, 51:(051) - The update is finished, 52:(052) - Your installation is already updated, 53:Halted (053) - Devices not compatible, software update required, 54:(054) - Please wait. Data transfer in progress, 55:Error (055) - No SD card inserted, 56:Warning (056) - Upgrade of the RCC software advised, 57:(057) - Operation finished successfully, 58:Halted (058) - Master synchronization missing, 59:Halted (059) - Inverter overload HW, 60:Warning (060) - Time security 1512 AUX1, 61:Warning (061) - Time security 1513 AUX2, 62:Warning (062) - Genset, no AC-In coming after AUX command, 63:(063) - Save parameter XT, 64:(064) - Save parameter BSP, 65:(065) - Save parameter VarioTrack, 71:Error (071) - Insufficient disk space on SD card, 72:Halted (072) - COM identification incorrect, 73:(073) - Datalogger is enabled on this RCC, 74:(074) - Save parameter Xcom-MS, 75:(075) - MPPT MS address changed successfully, 76:Error (076) - Error during change of MPPT MS address, 77:Error (077) - Wrong MPPT MS DIP Switch position, 78:(078) - SMS or email sent, 79:Halted (079) - More than 9 XTs in the system, 80:Halted (080) - No battery (or reverse polarity), 81:Warning (081) - Earthing fault, 82:Halted (082) - PV overvoltage, 83:Warning (083) - No solar production in the last 48h, 84:(084) - Equalization performed, 85:Error (085) - Modem not available, 86:Error (086) - Incorrect PIN code, unable to initiate the modem, 87:Error (087) - Insufficient Signal from GSM modem, 88:Error (088) - No connection to GSM network, 89:Error (089) - No Xcom server access, 90:(090) - Xcom server connected, 91:Warning (091) - Update finished. Update software of other RCC/Xcom-232i, 92:Error (092) - More than 4 RCC or Xcom in the system, 93:Error (093) - More than 1 BSP in the system, 94:Error (094) - More than 1 Xcom-MS in the system, 95:Error (095) - More than 15 VarioTrack in the system, 121:Error (121) - Impossible communication with target device, 122:Error (122) - SD card corrupted, 123:Error (123) - SD card not formatted, 124:Error (124) - SD card not compatible
Ich bekomme trotzdem ein Reading im Device:

Last_Message_Info 90 2023-09-21 09:47:27
wenn ich den Teil des Fehler anschaue:
2023.09.21 09:47:27 3: Studer485_Gateway: MapConvert called from CreateDataObjects did not find 90 (90) in map
wird 90 (90) angezeigt. Ich weiß nicht, wo die (90) in Klammern herkommt. Ob das nur die Syntax des Fehlers ist?

Blöderweise werfen andere Werte keine Fehler im Log... will sagen ein zB 3 wird aufgelöst. Aber ich weiß nicht, ob das dann 3 (003) kommt.

Jemand eine Idee?

RAW vom Device:
defmod Studer485_Gateway ModbusAttr 33 0
attr Studer485_Gateway dev-defPoll 1
attr Studer485_Gateway dev-defUnpack n
attr Studer485_Gateway dev-i-read 4
attr Studer485_Gateway dev-timing-timeout 1
attr Studer485_Gateway event-on-change-reading .*
attr Studer485_Gateway group Xtender
attr Studer485_Gateway nonPrioritizedGet 1
attr Studer485_Gateway obj-i0-len 1
attr Studer485_Gateway obj-i0-reading Message_Count_must_read_first
attr Studer485_Gateway obj-i1-group 1-1
attr Studer485_Gateway obj-i1-len 1
attr Studer485_Gateway obj-i1-map 0:Gateway, 11:XTM, 21:VT, 61:BSP
attr Studer485_Gateway obj-i1-reading Last_Message_Device
attr Studer485_Gateway obj-i2-group 1-2
attr Studer485_Gateway obj-i2-len 1
attr Studer485_Gateway obj-i2-map 0:Warning (000) - Battery too low, 1:Warning (001) - Battery too high, 2:Warning (002) - Bulk charge too long, 3:(003) - AC-In synchronization in progress, 4:Warning (004) - Input frequency AC-In wrong, 5:Warning (005) - Input frequency AC-In wrong, 6:Warning (006) - Input voltage AC-In too high, 7:Warning (007) - Input voltage AC-In too low, 8:Halted (008) - Inverter overload SC, 9:Halted (009) - Charger short circuit, 10:(010) - System start-up in progress, 11:Warning (011) - AC-In Energy quota, 12:(012) - Use of battery temperature sensor, 13:(013) - Use of additional remote control, 14:Halted (014) - Over temperature EL, 15:Halted (015) - Inverter overload BL, 16:Warning (016) - Fan error detected, 17:(017) - Programing mode, 18:Warning (018) - Excessive battery voltage ripple, 19:Halted (019) - Battery undervoltage, 20:Halted (020) - Battery overvoltage, 21:(021) - Transfer not authorized,  AC-Out current is higher than {1107}, 22:Halted (022) - Voltage presence on AC-Out, 23:Halted (023) - Phase not defined, 24:Warning (024) - Change the clock battery, 25:Halted (025) - Unknown Command board. Software upgrade needed, 26:Halted (026) - Unknown Power board. Software upgrade needed, 27:Halted (027) - Unknown extension board. Software upgrade needed, 28:Halted (028) - Voltage incompatibility Power - Command, 29:Halted (029) - Voltage incompatibility Ext. - Command, 30:Halted (030) - Power incompatibility Power - Command, 31:Halted (031) - Command board software incompatibility, 32:Halted (032) - Power board software incompatibility, 33:Halted (033) - Extension board software incompatibility, 34:Halted (034) - FID corruption,  call factory, 35:(035) - Memory structure modified, 36:Halted (036) - Parameter file lacking, 37:Warning (037) - Message file lack. SW upgrade advised, 38:Warning (038) - Upgrade of the device software advised, 39:Warning (039) - Upgrade of the device software advised, 40:Warning (040) - Upgrade of the device software advised, 41:Warning (041) - Over temperature TR, 42:Halted (042) - Unauthorized energy source at the output, 43:(043) - Start of monthly test, 44:(044) - End of successfully monthly test, 45:Warning (045) - Monthly autonomy test failed, 46:(046) - Start of weekly test, 47:(047) - End of successfully weekly test, 48:Warning (048) - Weekly autonomy test failed, 49:(049) - Transfer opened because AC-In max current exceeded {1107}, 50:Error (050) - Incomplete data transfer, 51:(051) - The update is finished, 52:(052) - Your installation is already updated, 53:Halted (053) - Devices not compatible,  software update required, 54:(054) - Please wait. Data transfer in progress, 55:Error (055) - No SD card inserted, 56:Warning (056) - Upgrade of the RCC software advised, 57:(057) - Operation finished successfully, 58:Halted (058) - Master synchronization missing, 59:Halted (059) - Inverter overload HW, 60:Warning (060) - Time security 1512 AUX1, 61:Warning (061) - Time security 1513 AUX2, 62:Warning (062) - Genset,  no AC-In coming after AUX command, 63:(063) - Save parameter XT, 64:(064) - Save parameter BSP, 65:(065) - Save parameter VarioTrack, 71:Error (071) - Insufficient disk space on SD card, 72:Halted (072) - COM identification incorrect, 73:(073) - Datalogger is enabled on this RCC, 74:(074) - Save parameter Xcom-MS, 75:(075) - MPPT MS address changed successfully, 76:Error (076) - Error during change of MPPT MS address, 77:Error (077) - Wrong MPPT MS DIP Switch position, 78:(078) - SMS or email sent, 79:Halted (079) - More than 9 XTs in the system, 80:Halted (080) - No battery (or reverse polarity), 81:Warning (081) - Earthing fault, 82:Halted (082) - PV overvoltage, 83:Warning (083) - No solar production in the last 48h, 84:(084) - Equalization performed, 85:Error (085) - Modem not available, 86:Error (086) - Incorrect PIN code,  unable to initiate the modem, 87:Error (087) - Insufficient Signal from GSM modem, 88:Error (088) - No connection to GSM network, 89:Error (089) - No Xcom server access, 90:(090) - Xcom server connected, 91:Warning (091) - Update finished. Update software of other RCC/Xcom-232i, 92:Error (092) - More than 4 RCC or Xcom in the system, 93:Error (093) - More than 1 BSP in the system, 94:Error (094) - More than 1 Xcom-MS in the system, 95:Error (095) - More than 15 VarioTrack in the system, 121:Error (121) - Impossible communication with target device, 122:Error (122) - SD card corrupted, 123:Error (123) - SD card not formatted, 124:Error (124) - SD card not compatible, 125:Error (125) - SD card format not recognized. Should be FAT, 126:Error (126) - SD card write protected, 127:Error (127) - SD card,  file(s) corrupted, 128:Error (128) - SD card file or directory could not be found, 129:Error (129) - SD card has been prematurely removed, 130:Error (130) - Update directory is empty, 131:(131) - The VarioTrack is configured for 12V batteries, 132:(132) - The VarioTrack is configured for 24V batteries, 133:(133) - The VarioTrack is configured for 48V batteries, 134:(134) - Reception level of the GSM signal, 137:(137) - VarioTrack master synchronization lost, 138:Error (138) - XT master synchronization lost, 139:(139) - Synchronized on VarioTrack master, 140:(140) - Synchronized on XT master, 141:Error (141) - More than 1 Xcom-SMS in the system, 142:Error (142) - More than 15 VarioString in the system, 143:(143) - Save parameter Xcom-SMS, 144:(144) - Save parameter VarioString, 145:Error (145) - SIM card blocked,  PUK code required, 146:Error (146) - SIM card missing, 147:Error (147) - Install R532 firmware release prior to install an older release, 148:(148) - Datalogger function interrupted (SD card removed), 149:Error (149) - Parameter setting incomplete, 150:Error (150) - Cabling error between PV and VarioString, 162:Error (162) - Communication loss with RCC or Xcom-232i, 163:Error (163) - Communication loss with Xtender, 164:Error (164) - Communication loss with BSP, 165:Error (165) - Communication loss with Xcom-MS, 166:Error (166) - Communication loss with VarioTrack, 167:Error (167) - Communication loss with VarioString, 168:(168) - Synchronized with VarioString master, 169:(169) - Synchronization with VarioString master lost, 170:Warning (170) - No solar production in the last 48h on PV1, 171:Warning (171) - No solar production in the last 48h on PV2, 172:Error (172) - FID change impossible. More than one unit., 173:Error (173) - Incompatible Xtender. Please contact Studer Innotec SA, 174:(174) - Inaccessible parameter,  managed by the Xcom-CAN, 175:Halted (175) - Critical undervoltage, 176:(176) - Calibration setting lost, 177:(177) - An Xtender has started up, 178:(178) - No BSP. Necessary for programming with SOC, 179:(179) - No BTS or BSP. Necessary for programming with temperature, 180:(180) - Command entry activated, 181:Error (181) - Disconnection of BTS, 182:(182) - BTS/BSP battery temperature measurement used by a device, 183:Halted (183) - An Xtender has lost communication with the system, 184:Error (184) - Check phase orientation or circuit breakers state on AC-In, 185:Warning (185) - AC-In voltage level with delay too low, 186:Halted (186) - Critical undervoltage (fast), 187:Halted (187) - Critical overvoltage (fast), 188:(188) - CAN stage startup, 189:Error (189) - Incompatible configuration file, 190:(190) - The Xcom-SMS is busy, 191:(191) - Parameter not supported, 192:(192) - Unknown reference, 193:(193) - Invalid value, 194:(194) - Value too low, 195:(195) - Value too high, 196:(196) - Writing error, 197:(197) - Reading error, 198:(198) - User level insufficient, 199:(199) - No data for the report, 200:Error (200) - Memory full, 202:Warning (202) - Battery alarm arrives, 203:(203) - Battery alarm leaves, 204:Error (204) - Battery stop arrives, 205:(205) - Battery stop leaves, 206:Halted (206) - Board hardware incompatibility, 207:(207) - AUX1 relay activation, 208:(208) - AUX1 relay deactivation, 209:(209) - AUX2 relay activation, 210:(210) - AUX2 relay deactivation, 211:(211) - Command entry deactivated, 212:Error (212) - VarioTrack software incompatibility. Upgrade needed, 213:(213) - Battery current limitation by the BSP stopped, 214:Warning (214) - Half period RMS voltage limit exceeded,  transfer opened, 215:Warning (215) - UPS limit reached,  transfer opened, 216:Warning (216) - Scom watchdog caused the reset of Xcom-232i, 217:Warning (217) - CAN problem at Xtender declaration, 218:Warning (218) - CAN problem while writing parameters, 222:(222) - Front ON/OFF button pressed, 223:(223) - Main OFF detected, 224:(224) - Delay before closing transfer relay in progress {1580}, 225:Error (225) - Communication with lithium battery lost, 226:(226) - Communication with lithium battery restored, 227:Error (227) - Overload on high voltage DC side, 228:Error (228) - Startup error, 229:Error (229) - Short-circuit on high voltage DC side, 65535:(65535) - HDM_Garbage_keine Ahnung
attr Studer485_Gateway obj-i2-reading Last_Message_Info
attr Studer485_Gateway obj-i3-group 1-3
attr Studer485_Gateway obj-i3-len 1
attr Studer485_Gateway obj-i3-reading Last_Message_ignore1
attr Studer485_Gateway obj-i4-group 1-4
attr Studer485_Gateway obj-i4-len 1
attr Studer485_Gateway obj-i4-reading Last_Message_ignore2

setstate Studer485_Gateway opened
setstate Studer485_Gateway 2023-09-21 09:47:27 Last_Message_Device Gateway
setstate Studer485_Gateway 2023-09-21 09:47:27 Last_Message_Info 90
setstate Studer485_Gateway 2023-09-21 09:47:27 Last_Message_ignore1 0
setstate Studer485_Gateway 2023-09-21 09:47:27 Last_Message_ignore2 0
setstate Studer485_Gateway 2023-09-21 10:38:51 Message_Count_must_read_first 0
setstate Studer485_Gateway 2023-09-20 15:57:47 state opened

holle75

... habe das Gefühl meine Syntax im Mapping könnte falsch sein und das Problem ist gerade zufällig (resp. vorher bei anderen Fehlercodes nicht ersichtlich) . Sind Klammern oder Leerzeichen oder Bindestriche nutzbar?

Ich dachte ":" und "," sind die einzigen Delimiter die ausgewertet werden?

JensS

#1183
Zitat von: bismosa am 20 September 2023, 19:15:34Da es sich bei den Deye Geräten wohl um kein "echtes" Modbus handelt, hatte ich an der Stelle auch aufgegeben.
Es gibt ein sehr interessantes Projekt: https://github.com/kbialek/deye-inverter-mqtt
Läuft bei mir mit Docker einwandfrei. Und wenn ich das richtig verstanden habe, dann sogar schon mit der neuen Firmware, wenn man das Relais dazwischen geschaltet hat.

Gruß
Bismosa
Danke, hab's vorerst mit einem angepassten https://github.com/jedie/inverter-connect gelöst.
Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

holle75

#1184
Zitat von: holle75 am 21 September 2023, 16:41:02... habe das Gefühl meine Syntax im Mapping könnte falsch sein und das Problem ist gerade zufällig (resp. vorher bei anderen Fehlercodes nicht ersichtlich) . Sind Klammern oder Leerzeichen oder Bindestriche nutzbar?

Ich dachte ":" und "," sind die einzigen Delimiter die ausgewertet werden?

habe eben im mapping, gut versteckt und beim Konvertieren unbemerkt,

21:(021) - Transfer not authorized, AC-Out current is higher than {1107}

gefunden. Die {1107} mit den geschweiften Klammern eliminiert. Das könnte erklären (just a hunch), warum die Codes kleiner als 21 funktionieren. Mal schauen, was jetzt passiert.

________________________________________

EDIT: DAMN, das war nicht das Problem :(

funktioniert nicht:
Last_Message_Info: 90

funktioniert:
Last_Message_Info: (003) - AC-In synchronization in progress
Last_Message_Info: (211) - Command entry deactivated
Last_Message_Info: (208) - AUX1 relay deactivation

vielleicht findet jemand eine Logik?