NEWS
Node-Red - Shelly PlusPlugS - Mqtt Node-Red Dashboard
-
@hape1 Wie Du willst - würde ich aber auch gleich benennen, sonst musst Du das ja überall umändern. Also nimm den Usernamen den Du bis jetzt auch genommen hast.
-
@mickym Ok, lxc läuft und habe auch die ip auf der er läuft ...
-
@hape1 Ok - dann kannst ja nun den mqtt Adapter als Client umstellen und auf den lcx verbinden.
Vorher nochmal überprüfen, ob mosquitto auch läuft.
Also im Container anmelden und dann überprüfen mit
systemctl status mosquitto
Dann sollte jedenfalls active running stehen:
mosquitto.service - Mosquitto MQTT Broker Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; preset: enabled) Active: active (running) since Fri 2024-03-08 14:47:26 CET; 1 month 2 days ago Docs: man:mosquitto.conf(5) man:mosquitto(8) Process: 1499948 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS) Main PID: 128 (mosquitto) Tasks: 1 (limit: 9176) Memory: 4.6M CPU: 15h 15min 30.697s CGroup: /system.slice/mosquitto.service └─128 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Mit Deinem mqtt- Adapter und der IP Adresse zu dem lxc solltest Du nun mit Deinen Credentials - einen erfolgreichen Verbindungstest machen können.
In den Client Settings
gibst Du # als Subscribe Pattern ein - eine Client ID kannst Du verwenden, damit Du im Mosquitto siehst, wenn sich Dein Client verbindet.
Bei den mqtt- Einstellungen lässt Du alles wie es ist ( bei Dir mqtt.0.*) und machst alle Haken weg
-
@mickym ... ok, was ist "eine Client ID kannst Du verwenden, damit Du im Mosquitto siehst, wenn sich Dein Client verbindet" gemeint --> eine Zahl oder auch "Mosquitto"?.
-
@hape1 Nein ein String - die wird sonst automatisch generiert. Aber Du kannst zum Beispiel iobrokerMqtt als ClientID verwenden, um zu sehen, dass sich der Adapter des iob mit dem mosquitto verbindet. Mosquitto ist kein guter Name - denn Du willst ja identifizieren, welcher Client sich mit Deinem mosquitto verbindet. Mosquitto ist ja Dein Broker/Server
-
@mickym sorry, aber wo soll denn dann z.B. iobrokerMqtt eingetragen werden --> in das Feld "Client-ID"?
-
@hape1 ja
-
@mickym ok, und nun soll der client (also die openDTU) auf die Ip des Mosquitto gerichtet werden?
-
@hape1 Na klappt denn im iobroker der Verbindungstest und startet der Adapter?
Als nächstes würde ich den neuen Broker in NodeRed definieren und über die mqtt-Out ein topic beschreiben und schauen, ob das im iobroker-mqtt Adapter ankommt. -
@mickym der Adapter im iobroker ist oben, der Verbindungstest zum Mosquitto-Server ist "ok"
-
@hape1 Na wie gesagt - dann definiere den Broker nun in NodeRed und beschreibe mit mqtt-Out ein topic und schau ob das im Adapter auftaucht.
-
@mickym So, habe nun ein mqtt-out-node mit dem neuen Mosquitto-Server bestückt --> Verbindung ist da! Aber hier habe ich jetzt ein Verständnisproblem: Wie komme ich den nun an meinen Datenpunkt für die openDTU? Aus den Datenpunkten, die in den Objekten vom iobroker angezeigt werden?
-
@hape1 Na wenn Du mit der mqtt-out Node was beschrieben hast und das im iobroker auftaucht - dann ist ja gut.
Deine openDTU - musst Du ja nun nur noch auf die IP Adresse des mosquitto eintragen bzw. ändern - also dem lxc Container.
Der mosquitto SAMMELT ALLES - und alle anderen holen sich die Daten vom mosquitto - es gibt keine Querkommunikation sondern nur einen Stern mit dem mosquitto als ZEntrum.
Das rosa ist Dein mosquitto
-
@mickym Ok, d.h. die iobroker-mqtt-adapter Objekte sind nun die, die aus dem Mosquitto-Server kommen. D.h. auch, ich kann mir die Datenpunkte dann nun immer noch aus den Objekten vom iobroker holen ... ?
-
@hape1 Ja und Du kannst auch im iobroker im Adapter Datenpunkte beschreiben - das wird automatisch an den mosquitto weitergeleitet. Mosquitto leitet sie dann ggf. ebenfalls weiter.
Nun sollte ja auch nicht mehr das Problem auftreten, dass Du über NodeRed ein topic beschreibst und sich das unterschiedlich verhält, als wenn Du es im iobroker selbst beschreibst.
Das war ja der Ausgangspunkt warum ich Dir den Umstieg auf mosquitto empfohlen habe.
-
@mickym Ok, das funzt jetzt bis hierhin soweit. Mehr kann ich jetzt nicht sagen, die Wechselrichter müssen mit DC, also Sonne versorgt werden, somit jetzt "tot". Morgen weiß ich mehr und gebe Rückmeldung.
Und, ich kann es nicht oft genug sagen: DANKE!
-
@hape1 Na das ist doch schön. Dann schlaf mal gut.
-
Nun habe ich die gleiche Frage in einem Thread gefunden: https://forum.iobroker.net/topic/63290/opendtu-per-mqtt-auslesen-und-steuern
Es soll also ein cmd-Ast erstellt werden. Da aber die Wechselrichter in den Objekten von iobroker 2x auftauchen, also unter mqtt und unter opendtu wäre jetzt meine Logik das man den Ast unter dem Gerät unter opendtu einbringt ... habe ich jetzt gemacht, klappt aber nicht, der Richter reagiert nicht
-
na ist wichtig, wo der cmd Ast hinmuss. du kannst aber einfach das topiic mit mqtt-out beschreiben- die Datenpunkte tauchen automatisch auf..
Das mit dem Retain hätte ich auch nicht geglaubt.
-
@hape1 bitte nicht nachträglich editieren!
Das reisst die Antwort von @mickym@hape1 das ist zwar komisch, dass ein retain flag gestzt werden muss, aber dann mach halt den Haken rein. Das könnte übrigens auch eine Ursache sein, warum das gorher nucht richtig ging, da der broker als Adapter mit Retain Flags in meinen Augen Probleme macht.
aus dem Zusammenhang.
Diese bezog sich auf
@mickym Moin, leider funktioniert das Wert setzen in der neuen Konfiguration nicht mehr. Es geht nur über "Wert setzen" im Datenpunkt selber in iobroker-Mqtt ... Ich habe jetzt die Info ergoogelt, das ein "Retain-Flag" gesetzt werden muss, ansonsten wird der eingestellte Wert ignoriert.
und welche der beiden Varianten gilt jetzt wirklich?