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

[Frage] [V3.5.1] Custom-Logic - wie erstelle ich ein Array aus drei Modbus-Input Werten die per MQTT gesendet werden sollen?

Alle wichtigen Bekanntmachungen und Regeln über das Forum
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
Antworten

Ersteller
KnxBernd
Reactions:
Beiträge: 3
Registriert: Mo Mai 15, 2023 3:47 pm
Hat sich bedankt: 7 Mal

[V3.5.1] Custom-Logic - wie erstelle ich ein Array aus drei Modbus-Input Werten die per MQTT gesendet werden sollen?

#1

Beitrag von KnxBernd »

Hallo,

seit dem Upgrade der openWB auf Version 2, wird die Übergabe einiger MQTT-Zählerwerte als Array erwartet.
Hier ein Beispiel aus der Doku für die Spannungen - für die Netz-Ströme, -Leistungen und -Leistungsfaktoren (für L1, L2 und L3) gilt dasselbe analog:
- openWB/set/counter/1/get/voltages
- Array mit den Spannungen je Phase in Volt, mit Nachkommastellen (Float)
- Beispiel: [222.2,223.3,222.3]

Die Werte werden per Modbus vom Solar-Inverter mit den drei Stromwandlern bereitgestellt und vom TWS per RS485 abgefragt. Vor Version 2 der openWB konnte ich mit dem TWS einfach alle drei Werte für L1, L2 und L3 einzeln per MQTT an die openWB senden. Das klappte hervorragend.
Nun will die openWB aber ein Array mit den drei Werten.
Wie krieg ich das hin? Ich hab's mit 'ner Custom Logik versucht, finde leider die Doku dazu sehr dünn. Ich habe hier gesucht und gelernt: app.php/kb/viewarticle?a=84
Gibt es noch weitere Doku zu Custom Logiken und insbesondere der Syntax um die Modbus-Werte als Inputs zu definieren?

Ein weiteres Problem: wenn ich einmal eine Custom Logik gespeichert habe, wie kann ich dann wieder in den Edit-Modus zurückschalten um den Code zu editieren? Muss ich dazu per SSH mit dem TWS verbinden? Wohl kaum, oder?
Es würde mir ja schon reichen, wenn ich ein bestehendes Logik-Module in der Code-Ansicht öffnen könnte um zu lernen, wie ich die Modbus-Inputs angeben muss.

Leider komme ich hier nicht weiter und ich freue mich über Hilfe.
Bei meinen Recherchen und Versuchen bin ich auf einen Beitrag gestoßen, der sagt, dass das Senden von Array mittels MQTT erst ab Version 4 von TWS möglich sein wird: viewtopic.php?f=81&t=3249&p=50211&hilit=array#p50211
Kann das sein, dass die ersten Versionen (bin mit meinem TWS 3500 auf Version 3.5.1 - Rock the House) ... wenn das stimmt, dann ist mir gar nicht nach rocken zumute.
Zur Not kann ich auch per String-Operationen das Array "händisch" bauen, nur finde ich auch keinerlei Logik-Bausteine um Text zu bearbeiten. Was übersehe ich?

Ich hoffe, dass ich die Lösung nur übersehen habe und Ihr mit den richtige Anstoß geben könnt.

Herzlichen Dank vorab und LG,
Bernhard
Zuletzt geändert von Parsley am Fr Feb 09, 2024 10:07 am, insgesamt 5-mal geändert.
Benutzeravatar

bondt
Elaborated Networks
Reactions:
Beiträge: 445
Registriert: Mo Aug 27, 2018 10:48 am
Wohnort: Eschenlohe
Hat sich bedankt: 514 Mal
Danksagung erhalten: 139 Mal

#2

Beitrag von bondt »

Hallo @KnxBernd,

Ab der nächste Hauptversion 4.0.0 gibt es diese Möglichkeit. Eine Anleitung gibt es dazu im Wiki: https://elabnet.atlassian.net/wiki/spac ... g+mit+MQTT

Hoffe das hilft!
Viele Grüße,
Michaël

[ Timberwolf Entwicklung ]

"Have you tried turning it off and on again?"

timberwolf101, VPN offen, Reboot jederzeit

MrWilson
Reactions:
Beiträge: 232
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 44 Mal
Danksagung erhalten: 146 Mal

#3

Beitrag von MrWilson »

Hallo Bernhard,
Nun will die openWB aber ein Array mit den drei Werten.
Wie krieg ich das hin?
Dafür musst du grundsätzlich keine Logik benutzen, der TWS bastelt dir das ganze fertig zusammen.
wenn das stimmt, dann ist mir gar nicht nach rocken zumute.
Ja, unter deiner Version geht das leider nicht und auch die Idee
Zur Not kann ich auch per String-Operationen das Array "händisch" bauen
kannst du mit deiner Version nicht umsetzen.

Entweder wartest du auf die nächste Hauptversion oder buchst dir einen Insider Zugang.

Deine eigentliche Fragestellung würde man unter MQTT mit drei Transaktionen, mit den Selektoren [1], [2] und [3], jeweils verknüpft mit deinen Objekten aus der Modbusabfrage, schnell erledigen. ;)

Grüße Willy
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache

Ersteller
KnxBernd
Reactions:
Beiträge: 3
Registriert: Mo Mai 15, 2023 3:47 pm
Hat sich bedankt: 7 Mal

#4

Beitrag von KnxBernd »

Vielen lieben Dank für die Tipps und Bestätigung... na, dann warte ich mal auf den Release der V4 und gehe bei der openWB wieder auf Version 1.9 zurück.
Finanziell ist es nicht plausibel über 100 EUR für einen Insider-Pre-Release auszugeben...
Mein letzter Versuch wird sein, einen ioBroker als Proxy zu verwenden: der empfängt die drei einzelnen Werte, baut sie zu einem Array zusammen und sendet dieses dann zur openWB. :) überhaupt nicht schön, aber ein wirtschaftlicher Workaround.
Falls dieser Lösungsweg jemanden interessiert, kann ich das Ergebnis hier wieder rückmelden.
Bitte um kurzes Feedback.
Zuletzt geändert von KnxBernd am Do Feb 08, 2024 9:54 am, insgesamt 1-mal geändert.

gbglace
Reactions:
Beiträge: 3615
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1272 Mal
Danksagung erhalten: 1674 Mal

#5

Beitrag von gbglace »

Ich nutze für diese Workarounds bevorzugt NR, weil das etwas schlanker ist als der IOB, aber an sich sind das valide Workarounds mit denen man die Funktionslücken der frühen TWS-Software-Versionsstände überbrücken kann.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

Ersteller
KnxBernd
Reactions:
Beiträge: 3
Registriert: Mo Mai 15, 2023 3:47 pm
Hat sich bedankt: 7 Mal

#6

Beitrag von KnxBernd »

gbglace hat geschrieben: Do Feb 08, 2024 11:14 am Ich nutze für diese Workarounds bevorzugt NR, weil das etwas schlanker ist als der IOB, aber an sich sind das valide Workarounds mit denen man die Funktionslücken der frühen TWS-Software-Versionsstände überbrücken kann.
kannst Du bitte ein Beispiel sharen, das zeigt, wie man vom TWS Modbus Werte/Objecte an ioBroker übergibt und umgekehrt, vom ioBroker die Werte/Objekte wieder in den TWS einliest?
Ein kleines Beispiel wäre hilfreich.
Ansonsten forsche ich mal dazu am Wochenende und kann hier ein Beispiel teilen.

Vielen Dank schonmal und LG

gbglace
Reactions:
Beiträge: 3615
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1272 Mal
Danksagung erhalten: 1674 Mal

#7

Beitrag von gbglace »

Wie gesagt ich nutze keinen IO-Broker.

Im Nodered nimmt man einen MQTT Node (ist im Standard schon enthalten) und abonniert ein Topic von einem Broker. Und einen Node um zu einem Topic an den Broker etwas zu senden.
Analog macht man das im TWS im MQTT Subsystem.

Als Broker kann man einen Dockercontainer lokal im LAN auf dem TWS hosten und beide Systeme nutzen diesen dann.

MQTT in Nodered ist in YT zum nachklicken vielfach beschrieben.
Im Forum hier findest eine Anleitung zur Installation eines MQTT Brokers. Und es gibt das Video vom Stefan (Elabnet-Kanal) in YT welches die Grundlagen von MQTT erklärt und die Einrichtung im TWS zeigt.

Auch im HA gibt es eine MQTT Integration mit sehr vielen Videotutorials in YT.
Ich habe keine Ahnung vom IoB aber es würde mich sehr verwundern wenn es dort keinen MQTT Adapter gibt und in YT kein Video dazu.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension
Antworten

Zurück zu „Bekanntmachungen & Regeln“