NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[TIPP] Timberwolf Modbus Profile Generator

Wissen, Planung & Diskussion zur Modbus Unterstützung im Timberwolf Server.
Stellt uns hier Eure Modbus Projekte und Ideen vor.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1165
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 754 Mal
Danksagung erhalten: 947 Mal

Timberwolf Modbus Profile Generator

#1

Beitrag von starwarsfan »

Hallo miteinander,

nachdem hier die Frage aufgekommen ist, wie ich Modbus-Profile anlege, habe ich das Ganze nun mal gerade gezogen und in ein Github-Projekt verpackt. Entstanden ist dabei der Timberwolf-Modbus-Profile-Generator. :dance:
Eine Warnung zu Beginn:
Der Modbus-Profil-Import wurde nie dahingehend entwickelt, Profile zu importieren, welche von einem externen Tool erzeugt wurden! Aus diesem Grund kann ElabNET keinen Support leisten, wenn es Probleme nach dem Import eines fehlerhaften Profils gibt.


Einige Hinweise, um diesem Problem entgegen zu wirken:
  • Prüft die verwendeten Daten resp. das CSV doppelt und dreifach!
  • Legt ein Profil mit einigen wenigen relevanten Registern mit dem Profil-Editor auf dem Timberwolf an und exportiert dieses Profil. Nun legt ein Profil mit den gleichen Registern mit dem Profil-Generator an und vergleicht das Ergebnis mit dem Export vom Timberwolf.

Das README sollte eigentlich recht erschöpfend sein, daher hier nur die wichtigsten Eckpunkte:
  • Voraussetzung ist eine Bash mit installiertem "bc". Auch unter Windows mit WSL gar kein Problem.
  • Der Profile-Creator ist ein Bash-Script, welches basierend auf einem CSV-File Modbus-Profile für den TW generieren kann.
  • Der Aufbau des CSV-File kann weitestgehend über ein Konfigurationsfile definiert werden. Details dazu wie schon gesagt im README
  • Es werden alle Einheiten unterstützt, welche der TW kennt. Die Mappings dazu können nahezu beliebig erweitert werden.
  • Es werden aktuell die Range- und Umrechnungsdefinitionen von SMA unterstützt. Für weitere Mappings und Definitionen bitte entsprechende Feature-Requests bzw. PRs auf Github aufmachen. Im Notfall auch hier in diesem Thread... :whistle:
  • Im example-Verzeichnis befindet sich als Beispiel das CSV-File für den Eastron-Stromzähler
Ich lege mir die CSV-Files i.d.R. so an, dass ich im Hersteller-PDF die entsprechende Tabelle markiere, kopiere und in einem geeigneten Editor (IntelliJ, Notepad++) einfüge. Dort werden dann die entsprechenden Modifikationen vorgenommen, um ein sauberes CSV-File zu bekommen, welches der Profile-Generator verarbeiten kann. Das habe ich so nun schon erfolgreich für die Siemens-RVS-Steuerung, SMA-Wechselrichter sowie Eastron-Stromzähler gemacht.

Viel Spass beim Ausprobieren und immer her mit dem Feedback! :handgestures-thumbupright:
Zuletzt geändert von Parsley am Mo Jul 10, 2023 12:47 am, insgesamt 2-mal geändert.
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -

Marino
Reactions:
Beiträge: 307
Registriert: Fr Jul 24, 2020 6:44 am
Wohnort: Hamburg
Hat sich bedankt: 129 Mal
Danksagung erhalten: 143 Mal

#2

Beitrag von Marino »

Sehr cool. Vielen Dank, dass Du Dir die Arbeit gemacht hast, es für uns aufbereitet zur Verfügung zu stellen. Das wird sicher dem einen oder anderen zu Gute kommen.


Viele Grüße
Nils
Viele Grüße
Nils


TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)

Mibr85
Reactions:
Beiträge: 510
Registriert: Mo Dez 02, 2019 5:38 am
Wohnort: Freital
Hat sich bedankt: 396 Mal
Danksagung erhalten: 213 Mal

#3

Beitrag von Mibr85 »

He Yves
Sieht wieder nach einer sehr guten Arbeit von dir aus.
Ich denke diesen Post könnte man sogar im Modbus unterforum anpinnen.
Vielen Dank für deine Mühe.
Grüße Micha

TWS 3500 XL #1209 + TWS 2600 #528 + PBM #972,
VPN offen, Reboot möglich
PLZ 01...

StefanW
Elaborated Networks
Reactions:
Beiträge: 9775
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4879 Mal
Danksagung erhalten: 7820 Mal
Kontaktdaten:

#4

Beitrag von StefanW »

Hallo Yves,

vielen Dank, dass Du Deinen Generator, mit dem Du schon vor einem Jahr das GRÖMPAZ (das "größte Modbus Profile aller Zeiten") für die Siemens Wärmepumpensteuerung erzeugt hast, für die Nutzung durch jedermann freigegeben hast.

Allerdings muss ich folgenden Hinweis geben:


Sicherheitshinweis:

1. Das ElabNET Modbus Profil Format wurde zum Austausch von Modbus Profilen zwischen Timberwolf Servern geschaffen. Dabei sind wir davon ausgegangen, dass nur ein Timberwolf Server dieses Format schreibt, dessen Datengrundlage die bereits auf Gültigkeit geprüften Einträge in der internen Modbus Profil Datenbank sind, die zuvor vom Modbus Profil Editor erzeugt wurde.

2. Daher erfolgen alle Checks auf korrekte und sinnhafte Eingaben AUSSCHLIEßLICH im Modbus Profil Editor, bevor dieser die DB-Einträge in der internen Modbus Profil Datenbank anlegt. Die Weboberfläche leistet hier sehr viel Prüfungen und erlaubt auch nur bestimmte Einstellungen in Abhängigkeit von anderen Einstellungen.

3. Beim Import von selbst geschriebenen Modbus Profil Dateien - wie hier von Yves Tool erzeugt - erkennt der Timberwolf Server zwar, dass es keine offizielles Modbus Profil ist (digitale Signaturprüfung schlägt fehl) und gibt auch eine Warnung aus, importiert aber ansonsten die Datei wie sie ist - jedoch OHNE die ganzen Prüfungen auf zueinander konsistente Werte, so wie der Modbus Profil Editor dies beim Eingeben vornehmen würde. Da Software auch fertig werden muss, haben wir nicht die gleichen Prüfungen zweimal geschrieben, schließlich sollten es nur geprüfte Daten sein, die sich in einer Profildatei befinden.

Kurz: Der Import von Modbus Profilen ist NICHT DAHINGEHEND AUSGELEGT, eine umfangreiche Fehlerprüfung an fremd erzeugten Profildateien vorzunehmen. Wir haben einen solchen Import zwar nicht unterbunden, weil wir an den mündigen Nutzer glauben und im keine Vorschriften machen wollen, ABER es ist durchaus wahrscheinlich, damit ungültige Profile zu importieren, welche sich auf den Betrieb des Modbus Moduls im Timberwolf Server negativ auswirken.

Bei ElabNET ist die Erfahrung: "Was nicht getestet ist, funktioniert auch nicht" und daraus abgeleitet die goldene Regel, dass alles zu testen ist, was zum Kunden geht. Wir können aber schlicht nicht testen, was Ihr alles in das CSV eintragen werdet, das dem Tool als Grundlage dient und auch das Tool selbst haben wir nicht getestet. Wenn man etwas nicht selbst getestet hat, kann man auch keine Aussage darüber treffen, ob das alles auch funktionieren wird und auch unserem Support fehlt damit die Grundlage.

Es sollte jedem klar sein, dass Probleme in diesem Zusammenhang daher nicht vom Support umfasst sind und die Nutzung fremd erzeugter Import-Formate auf eigene Gefahr hin erfolgt. Wir raten dazu, dass dieses Toll nur von denjenigen genutzt wird, die bereits längere Erfahrung mit Modbus haben und auch wirklich den Zusammenhang der Einstellungen untereinander verstanden haben.

Bitte künftig bei veröffentlichen Profilen angeben, dass es sich um ein fremderzeugtes Profil handelt. Insbesondere bitten wir darum, bei allen Supportfällen anzugeben, das ein solchermaßen erzeugtes Profil genutzt wurde.


lg

Stefan
Zuletzt geändert von StefanW am Do Jul 06, 2023 3:17 pm, insgesamt 1-mal geändert.
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1165
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 754 Mal
Danksagung erhalten: 947 Mal

#5

Beitrag von starwarsfan »

Hallo Stefan
StefanW hat geschrieben: Do Jul 06, 2023 2:05 pm vielen Dank, dass Du Deinen Generator, mit dem Du schon vor einem Jahr das GRÖMPAZ (das "größte Modbus Profile aller Zeiten") für die Siemens Wärmepumpensteuerung erzeugt hast, für die Nutzung durch jedermann freigegeben hast.
:lol: :lol: :lol:

StefanW hat geschrieben: Do Jul 06, 2023 2:05 pm Allerdings muss ich folgenden Hinweis geben:

Sicherheitshinweis:
Klar, absolut verständlich. :handgestures-thumbupright:

StefanW hat geschrieben: Do Jul 06, 2023 2:05 pm 2. Daher erfolgen alle Checks auf korrekte und sinnhafte Eingaben AUSSCHLIEßLICH im Modbus Profil Editor, bevor dieser die DB-Einträge in der internen Modbus Profil Datenbank anlegt. Die Weboberfläche leistet hier sehr viel Prüfungen und erlaubt auch nur bestimmte Einstellungen in Abhängigkeit von anderen Einstellungen.
Da stellt sich mir die Frage, ob diese Prüfung erneut erfolgt, wenn man ein solches Profil im TW editiert? Sprich, wenn ich ein importiertes Profil editiere, wird es dann erneut geprüft? Oder wird ein imortiertes und danach kopiertes Profil erneut geprüft? Wenn dem so ist, dann wäre das IMHO ein gangbarer Weg, um allfälligen fehlerhaften Inhalt im Profil zu eliminieren!? :think:

StefanW hat geschrieben: Do Jul 06, 2023 2:05 pm Bei ElabNET ist die Erfahrung: "Was nicht getestet ist, funktioniert auch nicht" und daraus abgeleitet die goldene Regel, dass alles zu testen ist, was zum Kunden geht.
Genau so ist das. :handgestures-thumbupright:

Wir haben @work auch einige tausend Tests, welche bei jedem Build laufen und dazu dann jede Nacht einige tausend andere Tests des Gesamtsystems...
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -

StefanW
Elaborated Networks
Reactions:
Beiträge: 9775
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4879 Mal
Danksagung erhalten: 7820 Mal
Kontaktdaten:

#6

Beitrag von StefanW »

Hi Yves,
starwarsfan hat geschrieben: Do Jul 06, 2023 3:36 pmDa stellt sich mir die Frage, ob diese Prüfung erneut erfolgt, wenn man ein solches Profil im TW editiert?
Das ist nicht so einfach. Denn zu diesem Zeitpunkt kann ja bereits ein fehlerhafter Wert "von hinten" in der DB stehen, den der Editor laden muss, dafür aber nicht ausgelegt ist, weil der Programmierer nie damit gerechnet hat, dass er an dieser Stelle einen bereits fehlerhaften Wert lädt.

Der Modbus Profil Editor ist dafür ausgelegt, MENSCHLICHE EINGABEN beim Eingeben in der Weboberfläche direkt zu validieren, womöglich zusätzlich noch ein Check in der Middleware und ERST DANN GEPRÜFTE Werte in der Modbus Profil Datenbank abzulegen. Der Modbus Profil Editor war NIE dafür AUSGELEGT, dass auch falsche, zueinander nicht konsistente Werte sich bereits beim Start des Editierens sich schon in der DB befinden könnten. Der Check erfolgt hinsichtlich der Eingaben des Kunden, nicht dem Laden von Daten (die ja eigentlich vorgeprüft sein sollten)

Die Sache ist einfach: Dieses Verfahren ist nicht getestet. Eine Vorhersage was passieren kann oder nicht, gibt es nicht, weil diese Betrachtung nicht angestellt wurde und nicht getestet wurde. Es können auf diese Weise völlig unplausible wenn nicht gar gefährlich falsche, nicht zum Modbus Standard passende, Parameter in das System gelangen. Die daraus resultierenden Probleme können nicht nur den Server selbst betreffen, sondern auch angeschlossene Geräte.

Wir können NICHT VORHERSAGEN, ob es eine Lösung oder ein praktikabler Weg ist, wenn man nach dem Import erst diesen oder jenen Knopf drückt oder eine bestimmte Reihenfolge in der Nutzung einhält oder dabei auf dem linken Bein hüpft.


Es ist ein undokumentierter Weg, zu dem wir nicht raten können.

Die Bandbreite möglicher Fehler ist enorm und ich habe Sorge, dass jemand der sich mit Modbus wenig auskennt und sich mit dem Editor gar nicht so genau beschäftigen möchte (wegen der vielen Details die man dort anklicken muss) und nun meint, es gibt einen kürzeren Weg, indem man nur eine Tabelle aus dem Datenblatt in ein CSV abtippt und der Rest wird sich dann schon magisch konfigurieren.

Wenn ich mir einen Vergleich erlauben darf: Es ist wie, als wenn es nun ein Tool auf Github gibt, dass für das Motorsteuergerät im eigenen KFZ eine neue Kennfelddatei erzeugen kann, indem es Daten aus einer CSV Datei (die ein Laie angelegt hat) ohne größere Validierung in das Format der Kennfelddatei übersetzt und man anschließend diese Datei in das Motersteuergerät einlesen kann. Das ist nur was für jemand, der sich damit wirklich auskennt und ggfls. einen geschrotteten Motor reparieren kann.

Wie gesagt, kann super sein in der Hand eines Experten und kann Schaden anrichten, in der Hand eines Laien. Darum bitte mit Vorsicht.

lg

Stefan

PS: Bitte nicht falsch verstehen, ich will niemandem den Spaß nehmen und ich freue mich für jede Community Entwicklung. Wirklich.

Aber der Timberwolf Server wird vor allem auch von Nutzern gekauft, die nicht mit Raspi & Co. und textbasierten Konfig-Dateien umgehen wollen, sondern die inkludierten Fehlerprüfungen und Hinweise der Eingabeassistenten und Editoren im Timberwolf Server genießen und sich davon hilfreich an die Hand genommen fühlen, weil man sich dann weniger einlesen muss. Einfach um auch mal am Abend nach Feierabend mit nachlassender Konzentration noch eben was einrichten zu können, ohne Gefahr zu laufen, dass danach der Server geschrottet ist und man Stress hat, das wieder in Ordnung zu bringen, weil jetzt im Haus das Licht nicht mehr leuchtet.

Es ist das Konzept des Timberwolf Servers, das man ziemlich gefahrlos auf so ziemlich alles Klicken kann und schon gewarnt wird, wenn man was wirklich dummes machen könnte mit der nächsten Bestätigung. Genau dieser Vorteil wird mit solchen Tools aber ausgehebelt und daher will ich darauf hinweisen, dass dies nur von denjenigen genutzt werden soll, die sich der möglichen Konsequenzen im klaren sind und auch damit leben können und darauf verzichten werden jemals "Hilfe, ich habe meinen Server geschrottet" Threads im Forum zu schreiben, weil das würde auf neue Käufer einen schlechten Eindruck machen. Schließlich ist der Server ist extra drauf ausgelegt, dass es keine "Hilfe ...." Threads geben muss und man keine externen Tools braucht, um was damit zu erreichen.
Zuletzt geändert von StefanW am Do Jul 06, 2023 8:03 pm, insgesamt 5-mal geändert.
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Mibr85
Reactions:
Beiträge: 510
Registriert: Mo Dez 02, 2019 5:38 am
Wohnort: Freital
Hat sich bedankt: 396 Mal
Danksagung erhalten: 213 Mal

#7

Beitrag von Mibr85 »

He Yves
schreib doch bitte oben noch einen Fetten Hinweis in den ersten Beitrag:
das die Benutzung auf eigene Gefahr ist und Elabnet keinen Support für durch das Tool evtl entstehenden Schaden übernimmt.
Falls jemand nicht alle Beiträge ließt.
Zuletzt geändert von Mibr85 am Do Jul 06, 2023 10:39 pm, insgesamt 1-mal geändert.
Grüße Micha

TWS 3500 XL #1209 + TWS 2600 #528 + PBM #972,
VPN offen, Reboot möglich
PLZ 01...
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1165
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 754 Mal
Danksagung erhalten: 947 Mal

#8

Beitrag von starwarsfan »

Hi
Mibr85 hat geschrieben: Do Jul 06, 2023 10:39 pm schreib doch bitte oben noch einen Fetten Hinweis in den ersten Beitrag:
Würde ich ja gerne machen, nur lässt dass das Forum leider nicht zu. :handgestures-thumbdown:
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1165
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 754 Mal
Danksagung erhalten: 947 Mal

#9

Beitrag von starwarsfan »

Hallo miteinander
Mibr85 hat geschrieben: Do Jul 06, 2023 10:39 pm
schreib doch bitte oben noch einen Fetten Hinweis in den ersten Beitrag.
Erledigt, thx @Parsley :handgestures-thumbupright:
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -
Benutzeravatar

Parsley
Reactions:
Beiträge: 541
Registriert: Di Okt 09, 2018 7:27 am
Wohnort: 490..
Hat sich bedankt: 606 Mal
Danksagung erhalten: 365 Mal

#10

Beitrag von Parsley »

Hi Yves

Bitte, gern geschehen. Und danke für den fertigen Text. (Ich will mich ja nicht mit fremden Lorbeeren schmücken.) :handgestures-thumbupright:
Gruß Parsley


Timberwolf Server 3500L #657 (VPN offen, reboot nach Absprache)
Antworten

Zurück zu „Modbus“