NEWS
Modbus adapter
-
@matis sagte in Modbus adapter:
Mit 4.0.4 klappt das einwandfrei,
Wie schon erwähnt ist die 5.0.0 in Beta , ( Aktuell ist die 5.0.2 )
deshalb die Frage was hattest du vorher für eine Version ? -
@glasfaser Ich hatte die 4.0.4 vorher. Ich probier mal die 5.0.2.
Ich wollte das ja auch nur mitgeteilt haben, denn sonst kann man es ja auch nicht ändern, da es offensichtlich nicht nur an der WB liegt. -
ja ... die ist auch in Stable .....
das wäre aber dann kein Update ... sondern ein großer Sprung als Betatester
-
Bitte nicht deine Antworten Editieren / etwas hinzufügen .
Wenn schon dann bitte mit
EDIT oder denText dann -
@glasfaser
Sorry, bei mir hatte es nur die 5.0.0 angezeigt, war wohl nicht auf dem neuesten Stand.
Hab jetzt die 5.0.2 installiert, die läuft wieder ohne Fehler.
Scheint also mit Hauskraftwerk und iobroker parallel zu klappen. Sehr schön. -
@glasfaser .... zu früh gefreut, Fehler tauchen immer noch auf, nur nicht mehr so oft. Ich geh wieder auf die 4.0.4.
-
Ich kriegs mit keiner Version mehr auf Dauer ohne Fehler.
Versteh ich nicht, lief Monate lang parallel ohne Fehler und nun nicht mehr, was auch immer die Veränderung war. Wahrscheinlich irgendwas anderes und nicht der modbus Adapter. Ich hab keine Ahnung. Blöd. -
Ich nutze nun seit Jahren den Modus Adapter.
Sogar sehr erfolgreich mit einer Waterkotte Wärmepumpe, diversen Stromzählern und meinen SMA Wechselrichtern.Alleine bei der Wärmepumpe lese ich 107 Register und berechne daraus allerhand Werte für VIS und sonstige Statistiken.
Jetzt sollen mit der neuen Version einfach mal alle Leerzeichen in den Registernamen gegen _ getauscht werden. Technisch mag es dafür Gründe geben, aber mich bringt das mit meiner Installation fast zum "kochen"... Keine Ahnung wann und wie ich diese Anpassungen an sämtlichen Stellen machen soll.
Ich bin echt dankbar für die Arbeit die sich die Entwickler hier selbst aufhalsen, aber sowas verdirbt mit regelmäßig massiv den Spaß an IOBroker. Klar, ich muss nicht updaten, aber das löst das Problem nicht dauerhaft.
Sorry wenn ich gerade ein bisschen grumpy rüber komme!
-
@darkbrain85 sagte in Modbus adapter:
Technisch mag es dafür Gründe geben
Gibt es, und die Gründe liegen nicht Mal beim ioBroker sondern am grundsätzlichen Umgang mit Dateipfaden/-namen.
Es war noch nie eine gute Idee da Leerzeichen oder non-ascii Zeichen drin zu haben.
-
@thomas-braun sagte in Modbus adapter:
Es war noch nie eine gute Idee da Leerzeichen oder non-ascii Zeichen drin zu haben.
Absolut, ich ärgere mich selber, dass ich das vor Jahren bei der Wärmepumpe (teilweise) so gemacht habe.
-
Upps, ist mir da etwas entgangen?
Lese in der History des Modbus Adapters
5.0.0 (2022-05-11)
BREAKING: All space characters will be replaced with underscores now in the Objects IDs, not only the first one.
Nun habe ich gar keine Object Ids selbst angelegt, sondern der Adapter hat die selbst angelegt.
Beispiel:
modbus.0.holdingRegisters.100.817_AC_Consumption L1
sieht erst mal nach Underscores aus, aber es ist dann doch auch ein Blank drin.
Heißt das, wenn ich auf die aktuelle (oder eine zukünftige) Modbus Adapter Version update werden da überall Undersores eingefügt? Und ich muß alle Skripte, vis und Flots umschreiben?
-
@klassisch sagte in Modbus adapter:
Heißt das, wenn ich auf die aktuelle (oder eine zukünftige) Modbus Adapter Version update werden da überall Undersores eingefügt? Und ich muß alle Skripte, vis und Flots umschreiben?
Genau das heißt es. Ich stelle jetzt auch auf aliases um, dann hat sich das erledigt.
-
@meister-mopper sagte in Modbus adapter:
Genau das heißt es.
Upps, das ist wirklich nicht schön. Und warum braucht es das? Gibt es da Rückschritte bei einem unterstützten Betriebssystem? Geht ja bis heute gut, wird das künftig nicht mehr gut gehen?
Kenne ja noch die 8.3 Zeiten und vermeide deshalb noch blanks und Sonderzeichen. Aber die Zeiten sind längst vorbei und die heutige Generation nutzt, was geht. Die Betriebssysteme lassen das zu. Sowohl Win auf den PCs als auch Linux auf den Servern.
Warum muß ioBroker hier andere Wege gehen?Ich stelle jetzt auch auf aliases um, dann hat sich das erledigt.
Danke, für den Hinweis, aber das habe ich wahrscheinlich nicht verstanden. Ich hatte mal mit alias etwas gemacht, aber das war eher kompliziert, weil es den Adapter noch nicht gab.
Ich vermute mal:- Du mußt dann praktisch den Modbus Space in den Alias Space doppeln. Vermutlich hilft da der neue Alias Adapter. Aber man hat dann gleich doppelt so viele Objekte. Und werden die Blanks dann auch in die Aliasnamen übernommen?
- Die History wird dann in den Alias angelegt, nicht im Modbus Space
- Skripte, Vis und Flot arbeiten dann mit den Aliaswerten
- Wenn die neue Modbus Adpter Version (oder in Zukunft noch weitere Adapter?) dann die Blanks durch underscore ersetzen, dann muß doch die Aliastransformation erneut angepasst werden. Macht auch Arbeit, aber gut, halt nur an einer Stelle - Bis zu dem Zeitpunkt, an derm auch der Aliasadapter auf underscores umstellt ud die althergebrachten mit kopierten blanks nicht mehr zuläßt....
Ich hoffe ich habe das falsch verstanden, ansonsten sehe ich dunkle Gewitterwolken am ioBroker-Horizont. Man kann auf solchen Namenskonventionen von Anfang an bestehen. Wird die junge Generation stören, aber ist dann halt so und man würde sich daran gewöhnen. Aber eine nachträgliche Restriktion wird auf wenig Gegenliebe stossen.
-
@klassisch sagte in Modbus adapter:
Aber eine nachträgliche Restriktion wird auf wenig Gegenliebe stossen.
Ich habe ähnliches auch gerade erst mit dem Tesla Adapter hinter mir.
Nervt halt tierisch...Und Aliase sind für mich echt aktuell keine Option. Damit mache ich noch eine weitere Baustelle auf, die ich eigentlich nicht haben will. Es wird alles immer komplizierter und als Privatmann/Frau eigentlich kaum noch zu überblicken. Da fehlt es nicht mal am Wissen, sondern eher an der Zeit immer und überall auf dem laufenden zu sein.
Das soll aber jetzt auch kein Angriff gegen die Entwickler oder so sein. Aber das Thema müsste mal berücksichtigt und für die Zukunft eingedämmt werden.
-
Zum Beitrag von @thomas-braun ist schon alles gesagt
@thomas-braun sagte in Modbus adapter:
@darkbrain85 sagte in Modbus adapter:Technisch mag es dafür Gründe geben
Gibt es, und die Gründe liegen nicht Mal beim ioBroker sondern am grundsätzlichen Umgang mit Dateipfaden/-namen.
Es war noch nie eine gute Idee da Leerzeichen oder non-ascii Zeichen drin zu haben.
Das Thema war erst gestern dazu :
https://forum.iobroker.net/topic/55433/modbus-adapter-update-zu-5-x-macht-chaos
Das soll aber jetzt auch kein Angriff gegen die Entwickler oder so sein. Aber das Thema müsste mal berücksichtigt und für die Zukunft eingedämmt werden.
Vorschlag : Beta Tester werden und du kannst dich ja bei Github beteiligen.
-
Sorry, ich habe es immer noch nicht verstanden.
- Bei Modbus habe ich gar nichts angelegt und keine Blanks verwendet. Hat der Adapter selbst so angelegt - leider mit Blanks. Was wird bei Version 5 passiren? Umbenennen, anlegen von zusätzlichen Objekten?
- Ist die jetzt eingeführte Restriktion ein Bug oder gewünscht? Laut Changelog wohl beabsichtigt. Also für mich auch kein Grund ein issue anzulegen. Oder doch?
- Ist dieses Verhalten des Modbus Adapters eine Singularität oder der Vorbote einer Lawine, die da auf uns zurollt? Dann wüßte ich schon gerne, warum das wirklich unvermeidbar ist.
-
Eigentlich sollte es so aussehen ( Beta v5.0.3) :
Beispiel :
In der Konfig mit Leerzeichen ,
4521 Aktuelle Wirk- Leistung Phase L1 4523 Aktuelle Wirk- Leistung Phase L2 4525 Aktuelle Wirk- Leistung Phase L3
Datenpunkt werden aber dann so erstellt mit _ :
modbus.0.holdingRegisters.4521_Aktuelle_Wirk-_Leistung_Phase_L1 modbus.0.holdingRegisters.4523_Aktuelle_Wirk-_Leistung_Phase_L2 modbus.0.holdingRegisters.4525_Aktuelle_Wirk-_Leistung_Phase_L3
Beispiel :
Da wir aber nichts dazugebaut !?
_ ist schon in der Config vorhanden :
4521 Aktuelle_Wirk- Leistung Phase_L1 4523 Aktuelle_Wirk- Leistung Phase_L2 4525 Aktuelle_Wirk- Leistung Phase_L3
Datenpunkte :
modbus.5.holdingRegisters.4521_Aktuelle_Wirk-_Leistung_Phase_L1 modbus.5.holdingRegisters.4523_Aktuelle_Wirk-_Leistung_Phase_L2 modbus.5.holdingRegisters.4525_Aktuelle_Wirk-_Leistung_Phase_L3
-
@klassisch sagte in Modbus adapter:
einer Lawine, die da auf uns zurollt?
Das Chaos kommt noch , denn alle Vorlagen die hier im Forum sind , sind zu 90% mit Leerzeichen.
Und wie auch andere ,werden die Datenpunkte per Influx , History , SQL ....und auch in Scripte genutzt .EDIT :
Beispiel :
Ein kleine Änderung und ...
Siehe bei Admin 6 ..... Ohh .... da sieht man wieviel gerade in Beta unterwegs sind ( unwissenheit) ....... jeder zweite Thread mit ... " kann nicht Updaten , habe ein komische Meldung " -
Bei mir sieht der Datenpunkt (kopiert)
so aus:modbus.0.holdingRegisters.100.817_AC_Consumption L1
Also mit Blank vor L1 .
Anderes Beispiel aus einem Skript:
const setIChargeId = 'modbus.0.holdingRegisters.100.2705_DVCC_system max charge current';
Also jede Menge Blanks drin
Nichts selbst angelegt, hat der Modbus Adapter wahrscheinlich in einer 3er Version gemacht.Aus meiner Sicht würde eine solche nachträgliche Restriktion allgemein nicht gut tun. Sollte man meiner Meinung nach nicht wirklich durchziehen. Zumal ich keinen wirklich zwingenden Grund sehe oder gelesen habe.
Betas nutze ich nur, wenn nicht vermeidbar. Also in einzelnen Adaptern. Eigentlich nicht beim Framework. Ich steuere meine gesamte Wohnungsbeleuchtung mit ioBroker, das dämpft die Experimentierfreude ....
-
Hallo!
Ich habe einen Batteriewechselrichter der über eine RS485 Schnittstelle verfügt und via Modbus RTU Informationen aus dem Zähler liest und dann dementsprechend die Leistung regelt etc.
Hardware:
Ich habe mir einen Waveshare RS485 to eth Adapter gekauft und angeschlossen.
Den Adapter habe ich eingestellt auf RS485 to Modbus TCP to RTU.IoBroker:
Im IOBroker habe ich diverse Einstellungen versucht und mit diesen scheine ich (in den Logs) was zu sehen.Ich bekomme diese Einträge im Log (steht auf Silly). Ich habe versucht das Register 300012 auszulesen.
Ich denke mal ich habe ein Register gelesen, dass ich nicht angelegt habe.
Ich habe einige Sachen angelegt um das auszuschließen. (Register ohne Alias 10-13, mit Alias 300010-300013, habe das auch jeweils im input- und holding-register)Ich kann aus dem Eintrag im Log leider nicht erkennen welche addresse ausgelesen werden sollte.
Kann ich das irgendwo sehen?So wie ich das mit den Einstellungen im Waveshare Adapter verstehe müsste ich im IOBroker Modbus Adapter eigentlich RTU over TCP einstellen aber dann kann ich leider nicht mehr Slave einstellen oder übersehe ich was?