NEWS
HDG Heizung über Waveshare Modbus Gateway
-
Da bekomme ich dann diese Errors im Log.
2025-12-02 22:30:30.086 - info: host.raspberrypi instance system.adapter.modbus.0 in version "6.3.2" started with pid 302084 2025-12-02 22:30:30.667 - debug: modbus.0 (302084) Redis Objects: Use Redis connection: 127.0.0.1:9001 2025-12-02 22:30:30.685 - debug: modbus.0 (302084) Objects client ready ... initialize now 2025-12-02 22:30:30.686 - debug: modbus.0 (302084) Objects create System PubSub Client 2025-12-02 22:30:30.687 - debug: modbus.0 (302084) Objects create User PubSub Client 2025-12-02 22:30:30.714 - debug: modbus.0 (302084) Objects client initialize lua scripts 2025-12-02 22:30:30.717 - debug: modbus.0 (302084) Objects connected to redis: 127.0.0.1:9001 2025-12-02 22:30:30.735 - debug: modbus.0 (302084) Redis States: Use Redis connection: 127.0.0.1:9000 2025-12-02 22:30:30.744 - debug: modbus.0 (302084) States create System PubSub Client 2025-12-02 22:30:30.745 - debug: modbus.0 (302084) States create User PubSub Client 2025-12-02 22:30:30.802 - debug: modbus.0 (302084) States connected to redis: 127.0.0.1:9000 2025-12-02 22:30:30.822 - debug: modbus.0 (302084) Plugin sentry Initialize Plugin (enabled=true) 2025-12-02 22:30:30.966 - info: modbus.0 (302084) starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v22.21.0, js-controller: 7.0.7 2025-12-02 22:30:31.025 - debug: modbus.0 (302084) Initialize Objects for disInputs: [] 2025-12-02 22:30:31.025 - debug: modbus.0 (302084) Initialize Objects for coils: [] 2025-12-02 22:30:31.026 - debug: modbus.0 (302084) Initialize Objects for inputRegs: [{"_address":"211","name":"Puffer Temperatur Oben","description":"Puffer Temperatur Oben Ist","unit":"°C","type":"uint16le","len":1,"factor":1,"offset":0,"formula":"","role":"value.temperature","room":"","cw":"","isScale":"","address":211,"deviceId":1,"id":"inputRegisters.211_Puffer_Temperatur_Oben"}] 2025-12-02 22:30:31.026 - debug: modbus.0 (302084) Add inputRegisters.211_Puffer_Temperatur_Oben: {"_id":"inputRegisters.211_Puffer_Temperatur_Oben","type":"state","common":{"name":"Puffer Temperatur Oben Ist","role":"value.temperature","type":"number","read":true,"write":false,"def":0,"unit":"°C"},"native":{"regType":"inputRegs","address":211,"deviceId":1,"type":"uint16le","len":1,"offset":0,"factor":1}} 2025-12-02 22:30:31.026 - debug: modbus.0 (302084) Initialize Objects for holdingRegs: [{"_address":"211","name":"Puffer Oben Ist","description":"Puffer Temperatur Oben Ist","unit":"°C","type":"uint16be","len":1,"factor":1,"offset":0,"formula":"","role":"value.temperature","room":"","poll":true,"wp":"","cw":"","isScale":"","address":211,"deviceId":1,"id":"holdingRegisters.211_Puffer_Oben_Ist"}] 2025-12-02 22:30:31.026 - debug: modbus.0 (302084) Add holdingRegisters.211_Puffer_Oben_Ist: {"_id":"holdingRegisters.211_Puffer_Oben_Ist","type":"state","common":{"name":"Puffer Temperatur Oben Ist","role":"value.temperature","type":"number","read":true,"write":true,"def":0,"unit":"°C"},"native":{"regType":"holdingRegs","address":211,"deviceId":1,"type":"uint16be","len":1,"offset":0,"factor":1,"poll":true}} 2025-12-02 22:30:31.142 - info: modbus.0 (302084) Connected to slave 192.168.178.143 2025-12-02 22:30:31.143 - debug: modbus.0 (302084) [DevID_1] Poll start --------------------- 2025-12-02 22:30:31.144 - debug: modbus.0 (302084) Initialization of scale factors done! 2025-12-02 22:30:31.144 - debug: modbus.0 (302084) [DevID_1/inputRegs] Poll address 211 - 1 registers 2025-12-02 22:30:31.207 - warn: modbus.0 (302084) [DevID_1] Poll error count: 1 code: "ReadInputRegisters: Invalid FC 0" 2025-12-02 22:30:32.257 - debug: modbus.0 (302084) [DevID_1] Poll start --------------------- 2025-12-02 22:30:32.257 - debug: modbus.0 (302084) [DevID_1/inputRegs] Poll address 211 - 1 registers 2025-12-02 22:30:34.176 - warn: modbus.0 (302084) [DevID_1] Poll error count: 2 code: "ReadInputRegisters: Invalid FC 100" 2025-12-02 22:30:35.227 - debug: modbus.0 (302084) [DevID_1] Poll start --------------------- 2025-12-02 22:30:35.228 - debug: modbus.0 (302084) [DevID_1/inputRegs] Poll address 211 - 1 registers 2025-12-02 22:30:36.026 - warn: modbus.0 (302084) [DevID_1] Poll error count: 3 code: "ReadInputRegisters: Invalid FC 91" 2025-12-02 22:30:37.077 - debug: modbus.0 (302084) [DevID_1] Poll start --------------------- 2025-12-02 22:30:37.078 - debug: modbus.0 (302084) [DevID_1/inputRegs] Poll address 211 - 1 registers 2025-12-02 22:30:37.226 - warn: modbus.0 (302084) [DevID_1] Poll error count: 4 code: "ReadInputRegisters: Invalid FC 100" 2025-12-02 22:30:38.277 - debug: modbus.0 (302084) [DevID_1] Poll start --------------------- 2025-12-02 22:30:38.278 - debug: modbus.0 (302084) [DevID_1/inputRegs] Poll address 211 - 1 registers 2025-12-02 22:30:38.426 - warn: modbus.0 (302084) [DevID_1] Poll error count: 5 code: "ReadInputRegisters: Invalid FC 100" 2025-12-02 22:30:39.020 - info: host.raspberrypi instance system.adapter.netatmo-crawler.0 in version "1.1.0" started with pid 302099 2025-12-02 22:30:39.219 - warn: shelly.0 (138837) [Mqtt.statusNotifications] 192.168.178.150 (shelly1minig3 / shelly1minig3-cc8da245f348 / shelly1minig3#cc8da245f348#1): "General Status Notifications" are disabled (see adapter documentation for details) 2025-12-02 22:30:39.477 - debug: modbus.0 (302084) [DevID_1] Poll start --------------------- 2025-12-02 22:30:39.477 - debug: modbus.0 (302084) [DevID_1/inputRegs] Poll address 211 - 1 registers 2025-12-02 22:30:39.636 - warn: modbus.0 (302084) [DevID_1] Poll error count: 6 code: "ReadInputRegisters: Invalid FC 100" 2025-12-02 22:30:39.687 - debug: modbus.0 (302084) Closing client on purpose. 2025-12-02 22:30:39.687 - info: modbus.0 (302084) Disconnected from slave 192.168.178.143 -
Den Modbus Adapter hast du auf TCP gestellt?
Ist der jetzt auch Master? -
Was sind das für function codes?? 100 und 64?
die kenne ich nichtDas ist/wird jetzt experimentell!
da musst du mit den Parametern spielen.Üblicherweise ist der ioBroker der Modbus Master und das Gerät der Client.
stell das mal um. -
Was sind das für function codes?? 100 und 64?
die kenne ich nichtDas ist/wird jetzt experimentell!
da musst du mit den Parametern spielen.Üblicherweise ist der ioBroker der Modbus Master und das Gerät der Client.
stell das mal um. -
was bietet der Konverter in dem pulldown 'server' bei
ethnetwork sonst noch an? -
Da bekomme ich dann diese Errors im Log.
2025-12-02 22:30:30.086 - info: host.raspberrypi instance system.adapter.modbus.0 in version "6.3.2" started with pid 302084 2025-12-02 22:30:30.667 - debug: modbus.0 (302084) Redis Objects: Use Redis connection: 127.0.0.1:9001 2025-12-02 22:30:30.685 - debug: modbus.0 (302084) Objects client ready ... initialize now 2025-12-02 22:30:30.686 - debug: modbus.0 (302084) Objects create System PubSub Client 2025-12-02 22:30:30.687 - debug: modbus.0 (302084) Objects create User PubSub Client 2025-12-02 22:30:30.714 - debug: modbus.0 (302084) Objects client initialize lua scripts 2025-12-02 22:30:30.717 - debug: modbus.0 (302084) Objects connected to redis: 127.0.0.1:9001 2025-12-02 22:30:30.735 - debug: modbus.0 (302084) Redis States: Use Redis connection: 127.0.0.1:9000 2025-12-02 22:30:30.744 - debug: modbus.0 (302084) States create System PubSub Client 2025-12-02 22:30:30.745 - debug: modbus.0 (302084) States create User PubSub Client 2025-12-02 22:30:30.802 - debug: modbus.0 (302084) States connected to redis: 127.0.0.1:9000 2025-12-02 22:30:30.822 - debug: modbus.0 (302084) Plugin sentry Initialize Plugin (enabled=true) 2025-12-02 22:30:30.966 - info: modbus.0 (302084) starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v22.21.0, js-controller: 7.0.7 2025-12-02 22:30:31.025 - debug: modbus.0 (302084) Initialize Objects for disInputs: [] 2025-12-02 22:30:31.025 - debug: modbus.0 (302084) Initialize Objects for coils: [] 2025-12-02 22:30:31.026 - debug: modbus.0 (302084) Initialize Objects for inputRegs: [{"_address":"211","name":"Puffer Temperatur Oben","description":"Puffer Temperatur Oben Ist","unit":"°C","type":"uint16le","len":1,"factor":1,"offset":0,"formula":"","role":"value.temperature","room":"","cw":"","isScale":"","address":211,"deviceId":1,"id":"inputRegisters.211_Puffer_Temperatur_Oben"}] 2025-12-02 22:30:31.026 - debug: modbus.0 (302084) Add inputRegisters.211_Puffer_Temperatur_Oben: {"_id":"inputRegisters.211_Puffer_Temperatur_Oben","type":"state","common":{"name":"Puffer Temperatur Oben Ist","role":"value.temperature","type":"number","read":true,"write":false,"def":0,"unit":"°C"},"native":{"regType":"inputRegs","address":211,"deviceId":1,"type":"uint16le","len":1,"offset":0,"factor":1}} 2025-12-02 22:30:31.026 - debug: modbus.0 (302084) Initialize Objects for holdingRegs: [{"_address":"211","name":"Puffer Oben Ist","description":"Puffer Temperatur Oben Ist","unit":"°C","type":"uint16be","len":1,"factor":1,"offset":0,"formula":"","role":"value.temperature","room":"","poll":true,"wp":"","cw":"","isScale":"","address":211,"deviceId":1,"id":"holdingRegisters.211_Puffer_Oben_Ist"}] 2025-12-02 22:30:31.026 - debug: modbus.0 (302084) Add holdingRegisters.211_Puffer_Oben_Ist: {"_id":"holdingRegisters.211_Puffer_Oben_Ist","type":"state","common":{"name":"Puffer Temperatur Oben Ist","role":"value.temperature","type":"number","read":true,"write":true,"def":0,"unit":"°C"},"native":{"regType":"holdingRegs","address":211,"deviceId":1,"type":"uint16be","len":1,"offset":0,"factor":1,"poll":true}} 2025-12-02 22:30:31.142 - info: modbus.0 (302084) Connected to slave 192.168.178.143 2025-12-02 22:30:31.143 - debug: modbus.0 (302084) [DevID_1] Poll start --------------------- 2025-12-02 22:30:31.144 - debug: modbus.0 (302084) Initialization of scale factors done! 2025-12-02 22:30:31.144 - debug: modbus.0 (302084) [DevID_1/inputRegs] Poll address 211 - 1 registers 2025-12-02 22:30:31.207 - warn: modbus.0 (302084) [DevID_1] Poll error count: 1 code: "ReadInputRegisters: Invalid FC 0" 2025-12-02 22:30:32.257 - debug: modbus.0 (302084) [DevID_1] Poll start --------------------- 2025-12-02 22:30:32.257 - debug: modbus.0 (302084) [DevID_1/inputRegs] Poll address 211 - 1 registers 2025-12-02 22:30:34.176 - warn: modbus.0 (302084) [DevID_1] Poll error count: 2 code: "ReadInputRegisters: Invalid FC 100" 2025-12-02 22:30:35.227 - debug: modbus.0 (302084) [DevID_1] Poll start --------------------- 2025-12-02 22:30:35.228 - debug: modbus.0 (302084) [DevID_1/inputRegs] Poll address 211 - 1 registers 2025-12-02 22:30:36.026 - warn: modbus.0 (302084) [DevID_1] Poll error count: 3 code: "ReadInputRegisters: Invalid FC 91" 2025-12-02 22:30:37.077 - debug: modbus.0 (302084) [DevID_1] Poll start --------------------- 2025-12-02 22:30:37.078 - debug: modbus.0 (302084) [DevID_1/inputRegs] Poll address 211 - 1 registers 2025-12-02 22:30:37.226 - warn: modbus.0 (302084) [DevID_1] Poll error count: 4 code: "ReadInputRegisters: Invalid FC 100" 2025-12-02 22:30:38.277 - debug: modbus.0 (302084) [DevID_1] Poll start --------------------- 2025-12-02 22:30:38.278 - debug: modbus.0 (302084) [DevID_1/inputRegs] Poll address 211 - 1 registers 2025-12-02 22:30:38.426 - warn: modbus.0 (302084) [DevID_1] Poll error count: 5 code: "ReadInputRegisters: Invalid FC 100" 2025-12-02 22:30:39.020 - info: host.raspberrypi instance system.adapter.netatmo-crawler.0 in version "1.1.0" started with pid 302099 2025-12-02 22:30:39.219 - warn: shelly.0 (138837) [Mqtt.statusNotifications] 192.168.178.150 (shelly1minig3 / shelly1minig3-cc8da245f348 / shelly1minig3#cc8da245f348#1): "General Status Notifications" are disabled (see adapter documentation for details) 2025-12-02 22:30:39.477 - debug: modbus.0 (302084) [DevID_1] Poll start --------------------- 2025-12-02 22:30:39.477 - debug: modbus.0 (302084) [DevID_1/inputRegs] Poll address 211 - 1 registers 2025-12-02 22:30:39.636 - warn: modbus.0 (302084) [DevID_1] Poll error count: 6 code: "ReadInputRegisters: Invalid FC 100" 2025-12-02 22:30:39.687 - debug: modbus.0 (302084) Closing client on purpose. 2025-12-02 22:30:39.687 - info: modbus.0 (302084) Disconnected from slave 192.168.178.143@Strike498 sagte in HDG Heizung über Waveshare Modbus Gateway:
2025-12-02 22:30:31.142 - info: modbus.0 (302084) Connected to slave 192.168.178.143
das sieht schon mal gut aus.
Die Eth verbindung Adapter <-> Konverter steht.aber
Die Abfrage der/des Registers klappt nicht
Das kann natürlich auch an der Konfiguration der seriellen Seite liegen.Mach mal den Haken bei Aliases verwenden rein.
(hab allerdings keine allzugroße Hoffnung) -
@Homoran sagte in HDG Heizung über Waveshare Modbus Gateway:
was bietet der Konverter in dem pulldown 'server' bei
ethnetwork sonst noch an?Da gibt’s noch „Client“. Das habe ich jetzt ausgewählt, aber dann kann er laut Log nicht mal mehr connecten.
2025-12-03 06:41:06.153 - info: modbus.0 (305479) starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v22.21.0, js-controller: 7.0.7 2025-12-03 06:41:06.213 - debug: modbus.0 (305479) Initialize Objects for disInputs: [] 2025-12-03 06:41:06.214 - debug: modbus.0 (305479) Initialize Objects for coils: [] 2025-12-03 06:41:06.214 - debug: modbus.0 (305479) Initialize Objects for inputRegs: [{"_address":30212,"name":"Puffer Temperatur Oben","description":"Puffer Temperatur Oben Ist","unit":"°C","type":"uint16le","len":1,"factor":1,"offset":0,"formula":"","role":"value.temperature","room":"","cw":"","isScale":"","address":211,"deviceId":1,"id":"inputRegisters.30212_Puffer_Temperatur_Oben"}] 2025-12-03 06:41:06.214 - debug: modbus.0 (305479) Add inputRegisters.30212_Puffer_Temperatur_Oben: {"_id":"inputRegisters.30212_Puffer_Temperatur_Oben","type":"state","common":{"name":"Puffer Temperatur Oben Ist","role":"value.temperature","type":"number","read":true,"write":false,"def":0,"unit":"°C"},"native":{"regType":"inputRegs","address":211,"deviceId":1,"type":"uint16le","len":1,"offset":0,"factor":1}} 2025-12-03 06:41:06.214 - debug: modbus.0 (305479) Initialize Objects for holdingRegs: [{"_address":40212,"name":"Puffer Oben Ist","description":"Puffer Temperatur Oben Ist","unit":"°C","type":"uint16be","len":1,"factor":1,"offset":0,"formula":"","role":"value.temperature","room":"","poll":true,"wp":"","cw":"","isScale":"","address":211,"deviceId":1,"id":"holdingRegisters.40212_Puffer_Oben_Ist"}] 2025-12-03 06:41:06.214 - debug: modbus.0 (305479) Add holdingRegisters.40212_Puffer_Oben_Ist: {"_id":"holdingRegisters.40212_Puffer_Oben_Ist","type":"state","common":{"name":"Puffer Temperatur Oben Ist","role":"value.temperature","type":"number","read":true,"write":true,"def":0,"unit":"°C"},"native":{"regType":"holdingRegs","address":211,"deviceId":1,"type":"uint16be","len":1,"offset":0,"factor":1,"poll":true}} 2025-12-03 06:41:06.262 - debug: modbus.0 (305479) Remove old object modbus.0.holdingRegisters.211_Puffer_Oben_Ist 2025-12-03 06:41:06.262 - debug: modbus.0 (305479) Remove old object modbus.0.inputRegisters.211_Puffer_Temperatur_Oben 2025-12-03 06:41:06.391 - error: modbus.0 (305479) Socket Error 2025-12-03 06:41:06.392 - error: modbus.0 (305479) Client in error state. 2025-12-03 06:41:06.392 - warn: modbus.0 (305479) On error: {"errno":-111,"code":"ECONNREFUSED","syscall":"connect","address":"192.168.178.143","port":502} 2025-12-03 06:41:06.392 - debug: modbus.0 (305479) Socket closed with error 2025-12-03 06:41:06.393 - debug: modbus.0 (305479) Cleaning up request fifo. 2025-12-03 06:41:07.392 - debug: modbus.0 (305479) Closing client on purpose. -
@Strike498 sagte in HDG Heizung über Waveshare Modbus Gateway:
2025-12-02 22:30:31.142 - info: modbus.0 (302084) Connected to slave 192.168.178.143
das sieht schon mal gut aus.
Die Eth verbindung Adapter <-> Konverter steht.aber
Die Abfrage der/des Registers klappt nicht
Das kann natürlich auch an der Konfiguration der seriellen Seite liegen.Mach mal den Haken bei Aliases verwenden rein.
(hab allerdings keine allzugroße Hoffnung) -
Sorry, mit den RTU2ETH kenne ich mich gar nicht aus.
-
Welche Steuerung hast du in der Heizung verbaut? Die Touch und Touch XL haben meines Wissens nach ein RJ45 zum einbinden ins Netzwerk. Darüber lassen sich auch viele Daten lesen. Da gibt es auch einen fertigen Adapter für den IOB.
-
@Ganner86 Hey, danke für deine Antwort.
Welcher Adapter ist das denn? Am Netz hab ich die Heizung schon.
Grüße, Tim
@Strike498
https://www.iobroker.net/#de/adapters/adapterref/iobroker.hdg-bavaria/README.md
Das ist der Adapter. Wird leider vom Entwickler nicht mehr weiter gepflegt. Hatte kurzfristig Mailkontakt mit ihm. Diesen Adapter verwende ich in einer angepassten Form da er in der Ursprungsversion nicht mit meiner Steuerung funktioniert hat. Sollte im iob in der Adapter Liste aber auch zu finden sein. -
@Strike498
https://www.iobroker.net/#de/adapters/adapterref/iobroker.hdg-bavaria/README.md
Das ist der Adapter. Wird leider vom Entwickler nicht mehr weiter gepflegt. Hatte kurzfristig Mailkontakt mit ihm. Diesen Adapter verwende ich in einer angepassten Form da er in der Ursprungsversion nicht mit meiner Steuerung funktioniert hat. Sollte im iob in der Adapter Liste aber auch zu finden sein. -
Habe ihn jetzt über Github installiert, da er bei mir in der Adapter Liste nicht zu finden war.
Was hast du denn noch geändert am Adapter? Ich bekomme schon einige Werte, nur bei manchen steht „unbekannt“ oder einfach nichts drin.@Strike498 Ich hatte mir den Adapter geforked und den request geändert da meine Steuerung nicht auf den request des original Adapter reagiert hat. Zusätzlich hab ich mir noch den Brauchwasserspeicher mit aufgenommen und ob eine Störung oder Warnung ansteht. Kenne deine Heizungsanlage nicht, eventuell stellt sie bei den unbekannten Werten keine Daten zur Verfügung. Bin leider selbst kein Entwickler und hab mir den Adapter etwas zurecht gebastelt das er für mich funktioniert.
-
@Strike498 Ich hatte mir den Adapter geforked und den request geändert da meine Steuerung nicht auf den request des original Adapter reagiert hat. Zusätzlich hab ich mir noch den Brauchwasserspeicher mit aufgenommen und ob eine Störung oder Warnung ansteht. Kenne deine Heizungsanlage nicht, eventuell stellt sie bei den unbekannten Werten keine Daten zur Verfügung. Bin leider selbst kein Entwickler und hab mir den Adapter etwas zurecht gebastelt das er für mich funktioniert.
-
@Ganner86
Der Kessel ist ein HDG F20(E) Stückholzkessel.
Vom Adapter anpassen habe ich leider gar keine Ahnung.@Strike498
Hab leider auch sehr wenig Ahnung von der Adapter Entwicklung. Da du einen Stückholzkessel hast werden sich die ID's die in der Steuerung angefragt werden teilweise zu den Pelletkessel unterscheiden. Ich hatte mir die benötigten ID's über die webvisu von der Steuerung mit den Entwicklertools vom Chrome raus gelesen und dann händisch im Adapter rein gebastelt. Wollte vor einiger Zeit mal in die Entwicklung von Adapter einsteigen, finde aber nicht so wirklich einen roten Faden.
Theoretisch kannst du die Daten von der Steuerung auch mit einem blockly Script zyklisch abfragen und in eigene Datenpunkte im iob schreiben lassen. Die Abfrage die an die HDG geht ist ein post request, hatte mit da testweise mal ein blockly gebaut. -
@Strike498
Hab leider auch sehr wenig Ahnung von der Adapter Entwicklung. Da du einen Stückholzkessel hast werden sich die ID's die in der Steuerung angefragt werden teilweise zu den Pelletkessel unterscheiden. Ich hatte mir die benötigten ID's über die webvisu von der Steuerung mit den Entwicklertools vom Chrome raus gelesen und dann händisch im Adapter rein gebastelt. Wollte vor einiger Zeit mal in die Entwicklung von Adapter einsteigen, finde aber nicht so wirklich einen roten Faden.
Theoretisch kannst du die Daten von der Steuerung auch mit einem blockly Script zyklisch abfragen und in eigene Datenpunkte im iob schreiben lassen. Die Abfrage die an die HDG geht ist ein post request, hatte mit da testweise mal ein blockly gebaut. -
@Ganner86 Habe mir jetzt auch mal eine ID rausgesucht, mit der ich es probieren will. Habe nur leider absolut keinen Ansatz wie ich da Daten erhalten kann über blockly.
@Strike498 sagte in HDG Heizung über Waveshare Modbus Gateway:
Habe nur leider absolut keinen Ansatz wie ich da Daten erhalten kann über blockly
Hallo ihr beide!
Mit Modbus hab ich schon viel experimentiert und auch hingekriegt. Habt ihr den IOB-Modbus-Adapter schon probiert? Der Konverter müsste etwa so konfiguriert werden:

Und der IOB-Modbus-Adapter - wahrscheinlich Holding-Register:


EDIT: Wenn dann Datenpunkte im IOB angezeigt werden, könnt ihr mit Blockly oder JS gut weiterarbeiten.
Vielleicht hilft euch das.Gruß, Fuzzy1955