Hallo Gemeinde
Ich verfolge diesen Thread schon länger.
Habe erfolgreich einen Waveshare RS485 to LAN Converter an meinen SOFAR HYD20KTL-3PH angeschlossen.
Wenn ich den modbus Adapter konfiguriere, bekomme ich genau das erste mal beim Starten des Adapters Daten.
Nachher ist Stille.
Aufgefallen ist mir, dass "1156-Frequency_Grid" solange funktionierte, wo es an erster Stelle stand und bevor ich weitere IDs rein editierte.
Log:
modbus.0
2025-08-26 18:45:12.714 info Disconnected from slave 192.168.88.101
modbus.0
2025-08-26 18:45:12.713 debug Closing client on purpose.
modbus.0
2025-08-26 18:45:11.665 debug Cleaning up request fifo.
modbus.0
2025-08-26 18:45:11.665 debug Clearing timeout of the current request.
modbus.0
2025-08-26 18:45:11.664 debug Socket closed with error
modbus.0
2025-08-26 18:45:09.642 debug [DevID_1/holdingRegs] Poll address 1544 - -383 registers
modbus.0
2025-08-26 18:45:09.642 debug [DevID_1] Poll start ---------------------
modbus.0
2025-08-26 18:45:09.641 info Connected to slave 192.168.88.101
Das "Socket closed with error" gefällt mir nicht 😉
Ich kenne mich mit dem Thema Modbus nicht so gut aus. Ich vermute eine Fehlkonfiguration.
Oder benutzt ihr gar einen anderen Adapter?
Hier die JSON des Adapters:
{
"_id": "system.adapter.modbus.0",
"type": "instance",
"common": {
"name": "modbus",
"version": "6.3.2",
"titleLang": {
"en": "ModBus",
"de": "ModBus",
"ru": "ModBus",
"pt": "ModBus",
"nl": "ModBus",
"fr": "ModBus",
"it": "ModBus",
"es": "ModBus",
"pl": "ModBus",
"uk": "ModBus",
"zh-cn": "ModBus"
},
"desc": {
"en": "ModBus connection Slave or Master",
"de": "ModBus Verbindung Slave oder Master",
"ru": "ModBus соединение Slave или Master",
"pt": "Conexão ModBus Escravo ou Mestre",
"nl": "ModBus-verbinding Slave of Master",
"fr": "Connexion ModBus Esclave ou Maître",
"it": "Connessione ModBus Slave o Master",
"es": "Conexión ModBus Slave o Master",
"pl": "Połączenie ModBus Slave lub Master",
"zh-cn": "ModBus连接从站或主站"
},
"authors": [
"bluefox <dogafox@gmail.com>"
],
"licenseInformation": {
"license": "MIT",
"type": "free"
},
"platform": "Javascript/Node.js",
"mode": "daemon",
"loglevel": "info",
"messagebox": true,
"icon": "modbus.png",
"keywords": [
"ModBus"
],
"enabled": true,
"extIcon": "https://raw.githubusercontent.com/ioBroker/ioBroker.modbus/master/admin/modbus.png",
"readme": "https://github.com/ioBroker/ioBroker.modbus/blob/master/README.md",
"type": "protocols",
"plugins": {
"sentry": {
"dsn": "https://0c7b6d766435448cbf4908f615efe683@sentry.iobroker.net/84"
}
},
"compact": true,
"connectionType": "local",
"dataSource": "poll",
"tier": 2,
"eraseOnUpload": true,
"adminUI": {
"config": "materialize"
},
"dependencies": [
{
"js-controller": ">=5.0.19"
}
],
"globalDependencies": [
{
"admin": ">=5.1.28"
}
],
"messages": [
{
"condition": {
"operand": "and",
"rules": [
"oldVersion<5.0.0",
"newVersion>=5.0.0"
]
},
"title": {
"en": "Objects IDs will change with update!",
"de": "Objekt-IDs ändern sich mit dem Update!",
"ru": "ID объектов изменятся с обновлением!",
"pt": "Os IDs de objetos mudarão com a atualização!",
"nl": "Object-ID's veranderen met de update!",
"fr": "Les ID d'objets changeront avec la mise à jour !",
"it": "Gli ID degli oggetti cambieranno con l'aggiornamento!",
"es": "¡Los ID de los objetos cambiarán con la actualización!",
"pl": "Identyfikatory obiektów zmienią się wraz z aktualizacją!",
"zh-cn": "对象 ID 会随着更新而改变!"
},
"text": {
"en": "This update makes sure that all space characters are correctly replaced by underscores on Object-IDs. This means that they will change after this update if you use more then one space in the names of your registers. You need to manually delete the old Object names.",
"de": "Dieses Update stellt sicher, dass alle Leerzeichen bei Objekt-IDs korrekt durch Unterstriche ersetzt werden. Das bedeutet, dass sie sich nach diesem Update ändern, wenn mehr als ein Leerzeichen im Namen der Register verwendet wird. Alte Objektnamen müssen manuell gelöscht werden.",
"ru": "Это обновление обеспечивает правильную замену всех символов пробела символами подчеркивания в идентификаторах объектов. Это означает, что они изменятся после этого обновления, если вы используете более одного пробела в именах ваших регистров. Вам необходимо вручную удалить старые имена объектов.",
"pt": "Essa atualização garante que todos os caracteres de espaço sejam substituídos corretamente por sublinhados em IDs de objeto. Isso significa que eles serão alterados após esta atualização se você usar mais de um espaço nos nomes dos seus registros. Você precisa excluir manualmente os nomes de objetos antigos.",
"nl": "Deze update zorgt ervoor dat alle spatietekens correct worden vervangen door onderstrepingstekens op Object-ID's. Dit betekent dat ze na deze update zullen veranderen als u meer dan één spatie gebruikt in de namen van uw registers. U moet de oude objectnamen handmatig verwijderen.",
"fr": "Cette mise à jour garantit que tous les espaces sont correctement remplacés par des traits de soulignement sur les ID d'objet. Cela signifie qu'ils changeront après cette mise à jour si vous utilisez plus d'un espace dans les noms de vos registres. Vous devez supprimer manuellement les anciens noms d'objet.",
"it": "Questo aggiornamento assicura che tutti i caratteri spazio siano sostituiti correttamente da caratteri di sottolineatura sugli ID oggetto. Ciò significa che cambieranno dopo questo aggiornamento se utilizzi più di uno spazio nei nomi dei tuoi registri. È necessario eliminare manualmente i vecchi nomi degli oggetti.",
"es": "Esta actualización garantiza que todos los caracteres de espacio se reemplacen correctamente por guiones bajos en los ID de objetos. Esto significa que cambiarán después de esta actualización si usa más de un espacio en los nombres de sus registros. Debe eliminar manualmente los nombres de objetos antiguos.",
"pl": "Ta aktualizacja zapewnia, że wszystkie znaki spacji są poprawnie zastępowane podkreśleniami w identyfikatorach obiektów. Oznacza to, że zmienią się one po tej aktualizacji, jeśli użyjesz więcej niż jednej spacji w nazwach swoich rejestrów. Musisz ręcznie usunąć stare nazwy obiektów.",
"zh-cn": "此更新确保所有空格字符都正确替换为对象 ID 上的下划线。这意味着如果您在寄存器名称中使用超过一个空格,它们将在此更新后更改。您需要手动删除旧的对象名称。"
},
"level": "warn",
"buttons": [
"agree",
"cancel"
]
}
],
"installedFrom": "iobroker.modbus@6.3.2",
"installedVersion": "6.3.2",
"host": "ioBroker"
},
"native": {
"params": {
"type": "tcp",
"bind": "192.168.88.101",
"port": "8899",
"comName": "",
"baudRate": 9600,
"dataBits": 8,
"stopBits": 1,
"parity": "none",
"deviceId": 1,
"timeout": 5000,
"slave": 0,
"poll": "5000",
"recon": "4000",
"keepAliveInterval": 0,
"maxBlock": 100,
"maxBoolBlock": 128,
"multiDeviceId": false,
"pulsetime": "2000",
"waitTime": "500",
"disInputsOffset": 10001,
"coilsOffset": 1,
"inputRegsOffset": 30001,
"holdingRegsOffset": 40001,
"showAliases": false,
"directAddresses": false,
"doNotIncludeAdrInId": false,
"preserveDotsInId": false,
"round": 2,
"doNotRoundAddressToWord": true,
"doNotUseWriteMultipleRegisters": false,
"onlyUseWriteMultipleRegisters": true,
"writeInterval": 0,
"readInterval": 0
},
"disInputs": [],
"coils": [],
"inputRegs": [],
"holdingRegs": [
{
"address": 1544,
"name": "SOC_Bat1",
"description": "",
"unit": "%",
"type": "uint16be",
"len": 1,
"factor": 1,
"offset": 0,
"formula": "",
"role": "value",
"room": "",
"poll": true,
"wp": "",
"cw": "",
"isScale": "",
"deviceId": 1,
"_address": 0
},
{
"address": 1156,
"name": "Frequency_Grid",
"description": "",
"unit": "Hz",
"type": "uint16be",
"len": 1,
"factor": "0.01",
"offset": 0,
"formula": "",
"role": "value",
"room": "",
"poll": true,
"wp": "",
"cw": "",
"isScale": "",
"deviceId": 1,
"_address": 0
},
{
"address": 1157,
"name": "ActivePower_Output_Total",
"description": "",
"unit": "kW",
"type": "int16be",
"len": 1,
"factor": 1,
"offset": 0,
"formula": "",
"role": "value",
"room": "",
"poll": true,
"wp": "",
"cw": "",
"isScale": "",
"deviceId": 1,
"_address": 0
},
{
"address": 1160,
"name": "ActivePower_PCC_Total",
"description": "",
"unit": "kW",
"type": "int16be",
"len": 1,
"factor": 1,
"offset": 0,
"formula": "",
"role": "value",
"room": "",
"poll": true,
"wp": "",
"cw": "",
"isScale": "",
"deviceId": 1,
"_address": 0
},
{
"address": 1198,
"name": "ActivePower_PV_Ext",
"description": "",
"unit": "kW",
"type": "int16be",
"len": 1,
"factor": 1,
"offset": 0,
"formula": "",
"role": "value",
"room": "",
"poll": true,
"wp": "",
"cw": "",
"isScale": "",
"deviceId": 1,
"_address": 0
},
{
"address": 1199,
"name": "ActivePower_Load_Sys",
"description": "",
"unit": "kW",
"type": "int16be",
"len": 1,
"factor": 1,
"offset": 0,
"formula": "",
"role": "value",
"room": "",
"poll": true,
"wp": "",
"cw": "",
"isScale": "",
"deviceId": 1,
"_address": 0
},
{
"address": 1284,
"name": "ActivePower_Load_Total",
"description": "",
"unit": "kW",
"type": "int16be",
"len": 1,
"factor": 1,
"offset": 0,
"formula": "",
"role": "value",
"room": "",
"poll": true,
"wp": "",
"cw": "",
"isScale": "",
"deviceId": 1,
"_address": 0
},
{
"address": 1542,
"name": "Power_Bat1",
"description": "",
"unit": "kW",
"type": "int16be",
"len": 1,
"factor": 1,
"offset": 0,
"formula": "",
"role": "value",
"room": "",
"poll": true,
"wp": "",
"cw": "",
"isScale": "",
"deviceId": 1,
"_address": 0
}
]
},
"protectedNative": [],
"encryptedNative": [],
"notifications": [],
"instanceObjects": [
{
"_id": "",
"type": "meta",
"common": {
"type": "meta"
},
"native": {}
},
{
"_id": "info",
"type": "channel",
"common": {
"name": "Information"
},
"native": {}
},
{
"_id": "info.connection",
"type": "state",
"common": {
"role": "indicator.connected",
"name": "If master connected",
"type": "boolean",
"read": true,
"write": false,
"def": false
},
"native": {}
}
],
"objects": [],
"from": "system.adapter.admin.0",
"user": "system.user.admin",
"ts": 1756223306613
}
Habt ihr einen Rat für mich?