NEWS
M-TEC Energy Butler
-
@metaxa sagte in M-TEC Energy Butler:
Die 30000er sind holdingRegister
eigentlich nicht!
Holdingregister sind 40000er.
30000er sind Inputregister.@metaxa sagte in M-TEC Energy Butler:
bei den 11xxxx um discrete Input Contacts,
wären das weder noch, sondern diskrete Eingänge.
-
@metaxa im Spoiler ist ein Bild und kein Log.
Wie sehen die Register einstellungen aktuell aus mit denen der Offset Fehler kommt ?
-
@wendy2702 sagte in M-TEC Energy Butler:
@metaxa im Spoiler ist ein Bild und kein Log.
Entschldigung! Copy/Paste und nicht kontrolliert. schon ausgebessert in meinem Beitrag.
@wendy2702 sagte in M-TEC Energy Butler:
Wie sehen die Register einstellungen aktuell aus mit denen der Offset Fehler kommt ?
Wobei egal ist, ob ich bei Offset 0, 1, 2, oder 4 eintrage. -
@homoran sagte in M-TEC Energy Butler:
30000er sind Inputregister.
Super, poste selbst einen Link und lese ihn falsch oder scheinbar gar nicht
Jetzt habe ich die 33000 Adresse unter InputRegister eingetragen, leider bekomme ich keine Daten, nur eine andere Fehlermeldung.
modbus.0 2023-07-06 18:45:08.983 debug Closing client on purpose. modbus.0 2023-07-06 18:45:07.981 debug Cleaning up request fifo. modbus.0 2023-07-06 18:45:07.980 debug Clearing timeout of the current request. modbus.0 2023-07-06 18:45:07.979 debug Socket closed with error modbus.0 2023-07-06 18:45:07.977 info Disconnected from slave 192.168.0.216 modbus.0 2023-07-06 18:45:07.976 debug Closing client on purpose. modbus.0 2023-07-06 18:45:07.925 warn Poll error count: 7 code: "ReadInputRegisters: Invalid FC 3"
Die 33000 eingetragen unter Holding brachte zwar Daten aber auch die Fehlermeldug wie schon oben beschrieben.
-
@metaxa sagte in M-TEC Energy Butler:
Wobei egal ist, ob ich bei Offset 0, 1, 2, oder 4 eintrage.
ich habe noch nie etwas bei Offset aktiv eingetragen
@metaxa sagte in M-TEC Energy Butler:
nur eine andere Fehlermeldung.
FC3 muss etwas mit der internen Kommunikation zu tun haben.
Bin da noch nicht fit drin.laut guhgell soll das
read holding registers
heißen.hab in der Doku zu deinem Butler nicht gefunden, ob die Adressen nur um 10000 verschoben sind (v2<->v3) und beide male Holdingregister sind, oder tatsächlich einmal holding und beim anderen input.
-
@homoran ich hab die 33000 jetzt wieder unter holding eingegeben und bekomme zumindest daten und gratis die Fehlermeldung, dass mit dem OFFSET etwas nicht stimmt.
!
Mannn .... ist das ein spanisches Dorf für mich, vielleicht hat @wendy2702 noch eine Idee.
-
@metaxa bitte das log und die Register Einstellung dazu posten.
Ich habe das Doc noch nicht gelesen danach aktuell nur am Handy bin aber hast du bei Faktor in irgendeinem Register denn was eingetragen?
-
@wendy2702 sagte in M-TEC Energy Butler:
@metaxa bitte das log und die Register Einstellung dazu posten.
LOG
2023-07-06 19:18:44.919 - info: host.iOProduktiv instance system.adapter.modbus.0 started with pid 2394949 2023-07-06 19:18:47.720 - debug: modbus.0 (2394949) Redis Objects: Use Redis connection: 0.0.0.0:9001 2023-07-06 19:18:48.051 - debug: modbus.0 (2394949) Objects client ready ... initialize now 2023-07-06 19:18:48.137 - debug: modbus.0 (2394949) Objects create System PubSub Client 2023-07-06 19:18:48.139 - debug: modbus.0 (2394949) Objects create User PubSub Client 2023-07-06 19:18:48.789 - debug: modbus.0 (2394949) Objects client initialize lua scripts 2023-07-06 19:18:48.828 - debug: modbus.0 (2394949) Objects connected to redis: 0.0.0.0:9001 2023-07-06 19:18:49.033 - debug: modbus.0 (2394949) Redis States: Use Redis connection: 0.0.0.0:9000 2023-07-06 19:18:49.485 - debug: modbus.0 (2394949) States create System PubSub Client 2023-07-06 19:18:49.491 - debug: modbus.0 (2394949) States create User PubSub Client 2023-07-06 19:18:49.979 - debug: modbus.0 (2394949) States connected to redis: 0.0.0.0:9000 2023-07-06 19:18:51.698 - debug: modbus.0 (2394949) Plugin sentry Initialize Plugin (enabled=true) 2023-07-06 19:18:55.672 - info: modbus.0 (2394949) starting. Version 5.0.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v16.19.1, js-controller: 4.0.24 2023-07-06 19:18:56.967 - debug: modbus.0 (2394949) Initialize Objects for disInputs: [] 2023-07-06 19:18:56.970 - debug: modbus.0 (2394949) Initialize Objects for coils: [] 2023-07-06 19:18:56.971 - debug: modbus.0 (2394949) Initialize Objects for inputRegs: [] 2023-07-06 19:18:56.975 - debug: modbus.0 (2394949) Initialize Objects for holdingRegs: [{"_address":"33000","name":"State of Charge (SOC)","description":"Ladezustand der Batterie","unit":"%","type":"uint16be","len":1,"factor":0.01,"offset":0,"formula":"","role":"value","room":"","poll":true,"wp":"","cw":"","isScale":"","address":33000,"deviceId":247,"id":"holdingRegisters.33000_State_of_Charge_(SOC)"}] 2023-07-06 19:18:56.979 - debug: modbus.0 (2394949) Add holdingRegisters.33000_State_of_Charge_(SOC): {"_id":"holdingRegisters.33000_State_of_Charge_(SOC)","type":"state","common":{"name":"Ladezustand der Batterie","role":"value","type":"number","read":true,"write":true,"def":0,"unit":"%"},"native":{"regType":"holdingRegs","address":33000,"deviceId":247,"type":"uint16be","len":1,"offset":0,"factor":0.01,"poll":true}} 2023-07-06 19:18:59.712 - info: modbus.0 (2394949) Connected to slave 192.168.0.216 2023-07-06 19:18:59.714 - debug: modbus.0 (2394949) [DevID_247] Poll start --------------------- 2023-07-06 19:18:59.733 - debug: modbus.0 (2394949) Initialization of scale factors done! 2023-07-06 19:18:59.734 - debug: modbus.0 (2394949) [DevID_247/holdingRegs] Poll address 33000 - 1 registers 2023-07-06 19:18:59.799 - debug: modbus.0 (2394949) [DevID_247/holdingRegs] Poll address 33000 DONE 2023-07-06 19:19:00.629 - warn: modbus.0 (2394949) Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4 2023-07-06 19:19:00.716 - warn: modbus.0 (2394949) Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4 2023-07-06 19:19:00.809 - warn: modbus.0 (2394949) Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4 2023-07-06 19:19:01.006 - warn: modbus.0 (2394949) Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4 2023-07-06 19:19:01.203 - warn: modbus.0 (2394949) Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4 2023-07-06 19:19:01.328 - warn: modbus.0 (2394949) Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4 2023-07-06 19:19:03.417 - warn: modbus.0 (2394949) Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4 2023-07-06 19:19:03.513 - warn: modbus.0 (2394949) Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4 2023-07-06 19:19:03.621 - warn: modbus.0 (2394949) Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4 2023-07-06 19:19:03.821 - warn: modbus.0 (2394949) Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4 2023-07-06 19:19:04.017 - warn: modbus.0 (2394949) Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4 2023-07-06 19:19:04.128 - warn: modbus.0 (2394949) Error in handler for 3: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4
Es ist egal, was ich bei Offseteintrage oder ihn leer lasse. -
@metaxa sagte in M-TEC Energy Butler:
Es ist egal, was ich bei Offseteintrage oder ihn leer lasse.
@wendy2702 fragte
@wendy2702 sagte in M-TEC Energy Butler:
hast du bei Faktor in irgendeinem Register denn was eingetragen?
das hast du. und wenn ich das richtig sehe sogar mit Komma statt Punkt.
nimm es mal vorsichtshalber gsnz raus, nimm
1
als FaktorEdit:
bei mir
Dezimalpunkt und kein Offset. -
@homoran sagte in M-TEC Energy Butler:
nimm es mal vorsichtshalber gsnz raus, nimm 1 als Faktor
Damit bekomme ich den Prozentwert x100 und die gleiche Fehlermeldung wg. OFFSET
@homoran sagte in M-TEC Energy Butler:
Dezimalpunkt und kein Offset.
Damit bekomme ich auch den richtigen Prozentwert (Komma oder Punkt) und die gleiche Fehlermeldungen wg. OFFSET
-
@metaxa sagte in M-TEC Energy Butler:
die gleiche Fehlermeldung wg. Faktor
war doch bisher wegen Offset!?
wenn nicht, denke/hoffe ich dass @wendy2702 auf der richtigen Fährte ist.
Möglicherweise keinen Faktor, sondern offset 2 (falls mit drm Offset in diesem Falle die Kommaverschiebung gemeint ist)
-
-
@metaxa Das wird schon!
ich versuche mich hier auf deine Kosten weiterzubilden. -
@homoran sagte in M-TEC Energy Butler:
auf deine Kosten weiterzubilden
@homoran ich gebe sogar gratis ein Bierchen dazu wenn du mal wien besuchst, das Angbeot bekamst du schon mal und hast es bis jetzt nicht eingelöst
.
-
Arbeitest du mit Aliases verwenden in den Grundeinstellungen?
Sorry falls schon irgendwo gepostet. Bin halt nur am Handy
-
@wendy2702
Nein@wendy2702 sagte in M-TEC Energy Butler:
Bin halt nur am Handy
Ich bin dir dankbar für jede Hilfestellung!
-
Hm,
das mit dem Offset habe ich so noch nicht gesehen.
Scheint ja so als wenn das entweder von dem Butler oder dem Konverter kommt und der Adapter damit nichts anfangen kann.
Glaube ich würde mal ein Issue beim Adapter öffnen oder mit einem anderen Tool testen.
-
Hi @gagafreeman hab das Problem den waveshare zum laufen zu bekommen. Könntest Du mal ein Foto von der Anschluss an den BUS-Stecker im Energybutler posten, das wäre super.
-
Hallo,
Ich habe auch seit 3 Wochen einen Energy Butler am Laufen - ich lese derzeit die Daten aus der API des Webportals aus mittels einer Erweiterung von diesem Projekt (https://github.com/croedel/M-TEC-API/blob/main/MTECapi.py). Ich habe es dahingehend erweitert, dass ich die Daten zum MQTT-Broker sende und von dort auslese.
Das Problem dabei ist, dass die Daten nur alle 60s aktualisiert werden. Ich wuerde jedoch eine höhere Auflösung benötigen, damit ich dann in Zukunft die Ladeleistung der Wallbox entsprechend der PV-Produktion und des Verbrauchs justieren kann.Ich wollte mich deshalb auch auf den Modbus draufhängen - allerdings bekomme ich überhaupt keine Daten vom Energy Butler. Ich habe ein CAT7-Kabel genommen, welches ich mit Orange auf dem Stecker auf den Pin 14 und Orange/Weiß habe ich auf den PIN 13 verbunden.
Der Abschlusswiederstand auf dem Stecker am Wechselrichter ist auf Position 1.
Am anderen Ende habe ich einen Waveshare Converter: Orange ist mit TA und Orange/Weiß ist mit TB verbunden.
Im IO-Broker habe ich soweit alles konfiguriert, wie in diesem Forum beschrieben - ich bekommen jedoch nur folgende Fehlermeldungen:
modbus.0 2023-07-31 17:22:11.566 info Connected to slave 192.168.0.10
modbus.0 2023-07-31 17:22:16.570 warn Error: undefined
modbus.0 2023-07-31 17:22:16.571 error Request timed out.
modbus.0 2023-07-31 17:22:16.572 error Client in error state.
modbus.0 2023-07-31 17:22:16.574 warn Poll error count: 3 code: {"err":"timeout","timeout":5000}
modbus.0 2023-07-31 17:22:17.572 info Disconnected from slave 192.168.0.10Ich habe die Verbindung auch schon abseits von iobroker direkt von einem rasperry mittels rs485-usb-adapter und diverser modbus-clients getestet. Wenn ich einen ESP32 dranhaenge, der Modbus-Server spielt, funktioniert es, aber vom Energy-Butler bekomme ich keinerlei Rueckmeldung.
Es gibt ja schon Leute, die das zum Laufen gebracht haben - Hat jemand eine Idee wo der Fehler liegen koennte?
-
@rainer-maier-0
Hallo Rainer,
leider habe ich noch nicht per Modbus versucht an den Energy Butler heranzukommen, kann also (noch) nicht helfen.Ich hätte aber ein Frage zu deiner Anbindung an die API:
- die Dateien habe ich aus github auf meinen raspi geladen, bekomme diese aber nicht ans Laufen, alles konfiguriert wie im Readme:
pi@iob1:~/MTEC-API $ python3 MTEC_client.py Traceback (most recent call last): File "/home/pi/MTEC-API/MTEC_client.py", line 6, in <module> from config import cfg File "/home/pi/MTEC-API/config.py", line 3, in <module> import yaml ModuleNotFoundError: No module named 'yaml'
Was mache ich falsch?
Viele Grüße M