NEWS
Node-Red - Shelly PlusPlugS - Mqtt Node-Red Dashboard
-
@mickym Wir verstehen uns glaube ich falsch. Bitte warte einen Moment, ich schicke Dir Screenshots
Hier sieht man besser, was ich mit zweimal auftauchen meine ...
-
Na nach dem anderen Thread - aber wie gesagt dass muss Du halt nochmal lesen würde ich das topic unter
solar/1161839xxx/cmd/limit_persistance_relative
schreiben
Unter:
opendtu - darfst Du höchstens in den Adapter etwas mit den iobroker-out Nodes schreiben, aber da nur in bestehende Datenpunkte.
DAS HAT MIT MQTT NICHTS ZU TUN!!!!!Wenn Du musst Dich entscheiden, ob Du mit Deinem Gerät über mqtt ODER über den iobroker Adapter kommunizieren willst. Aber NICHT BEIDES.
In den opendtu - Ast - also in den Adapter kannst Du nur mit den iobroker-out Nodes schreiben, als ob Du in den objekten selbst was änderst. Da schreibst Du dann von NOdeRed aus mit den iobroker-Out NOdes mit dem Type: command wenn Du ewas steuern willst.
-
@mickym Also habe jetzt den cmd Datenpunkt unter mqtt/0/solar/12133484584585/cmd/limit_persistent_relative angelegt. Welche Rolle bekommt denn der cmd-Folder bzw. dann der Unterordner limit_persistent_relative?
-
@hape1 Du brauchst das nicht anlegen. Das wird automatisch angelegt wenn Du das topic so wie gepostet in die mqtt-Out Node einträgst.
Grundsätzlich musst Du Dich entscheiden, ob Du mit Deinem Gerät über den iobroker Adapter oder über mqtt kommunizieren willst.
Das ein Gerät auf bestimmte topic im mqtt hört, ist in der Firmware des Gerätes hinterlegt. Diese topics musst Du aber selbst beschreiben/anlegen - da ein Gerät schlecht auf ein topic hören und es selbst beschreiben kann - das würde ja zu einer Endlosschleife führen, da mqtt kein ACK Flag kennt, so wie der iobroker.
Wenn Du mit mqtt kommunizierst dann ist der Pfad nicht
mqtt/0/solar/12133484584585/cmd/limit_persistent_relative
sondern
solar/12133484584585/cmd/limit_persistent_relative
Das vorne ist die Instanz des Mqtt-Adapters und hat mit mqtt nichts mehr zu tun. Deswegen gibst du in NodeRed in der mqtt-Out Node auch nicht mqtt/0/....... ein, sonder solar/......
Zusammenfassend kann man sagen, dass bzgl. mqtt - auf alle topics unter cmd hört und diese subscribed hat und dann nur die topics richtig interpretieren muss. Sprich in cmd kommen Kommandos die Du schicken willst, welches Kommando hängt vom topic unter cmd ab. - Der Wert wird auch vom Gerät nicht verändert, sondern nur als Eingabefeld benutzt, um mit dem Gerät zu kommunizieren - das Gerät meldet den augenblicklichen Status dann in den anderen Datenpunkten zurück.
-
@mickym Ah, jetzt ist zumindest ansatzweise der "Groschen" (hieran kann man erkennen, das ich nicht mehr so ganz jung sein kann )gefallen: Ich habe die ganze Zeit im mqtt-baum den Datenpunkt angelegt --> nach Deiner Erklärung natürlich ist das falsch, verstanden. Habe ich entsprechend geändert --> und tada, taucht genau da auf, wie Du es beschrieben hast.
Jetzt meine weitere Frage: Das Device opendtu, also damit meine ich das physische Gerät hat ja eine Mqtt-Schnittstelle. Diese ist aktiviert und sendet bzw. empfängt auch.
Benötigt man nun, um es einfach zu halten, den opendtu-Adapter im iobroker für die gewünschte Funktion der Leistungsregelung überhaupt?
-
@hape1 sagte in Node-Red - Shelly PlusPlugS - Mqtt Node-Red Dashboard:
Benötigt man nun, um es einfach zu halten, den opendtu-Adapter im iobroker für die gewünschte Funktion der Leistungsregelung überhaupt?
Du musst entscheiden, ob Du über mqtt steuern willst oder über den Adapter. Wenn Du über mqtt steuern willst, brauchst Du den Adapter nicht. Wahrscheinlich kann man auch über den Adapter steuern, dann brauchst Du mqtt nicht.
Wenn es also jetzt über mqtt geht und Du bist damit zufrieden, dann würde ich den Adapter eher rausschmeissen.
-
@mickym Tja, ich möchte nun erstmal versuchen bei mqtt zu bleiben. Ich habe den iobroker-opendtu Adapter jetzt rausgeschmissen. Nun sieht das Ganze so aus:
Leider funktioniert die Regelung immer noch nicht ...
-
@hape1 Sowas sagt mir nichts - kannst du nun einen Kommando schicken und wird es angenommen oder bist Du damit nicht zufrieden was der Flow macht?
-
@mickym Ich sende ein Kommando auf cmd auf solar/usw. , aber es wird nicht angenommen
-
@hape1 Ja wie gesagt - dann schau nochmal in den anderen Threads - ich kann Dir zu NodeRed und Mqtt allgemein helfen, aber nicht zu speziellen Geräten.
Vielleicht ist es ja auch einfacher, wenn Du über den Adapter und nicht über mqtt steuerst. Musst Dich halt für eines entscheiden.
-
@mickym ich habe jetzt den zu regelnden Wechselrichter aus der opendtu gelöscht. Somit sollten auch keine Daten usw im iobroker Baum zu sehen sein. Sind sie aber und sie tauchen auch nach händischer Löschung wieder auf. Liegt das daran, das der iobroker der Client ist?
Der Plan war, wenn nun alles gelöscht ist, lege ich den Richter neu an und schau dann noch mal ob er sich regeln läßt
-
@hape1 Nochmal das was im mqtt ist - hat mit dem iobroker Adapter nichts zu tun. Ja klar sind die im mqtt noch da. Aber du kannst die dann ja auch im mqtt löschen. Du sollst halt nicht über beide steuern.
Ja und Dein Gerät veröffentlicht ja weiter über mqtt - wenn Du das nicht willst musst die Schnittstelle deaktivieren. Aber mach halt eins nach dem anderen.
-
@mickym Manchmal wundere ich mich über meine eigene Hartnäckigkeit ...
Ich gehe jetzt zurück auf 0 und versuche es jetzt nur über den opendtu-iobroker-Adapter.
Wenn ich Dich jetzt nochmal folgendes fragen darf:
Diesen Wert würde ich nun gerne mit meinem flow beschreiben --> welchen node könnte ich dafür nehmen?
-
@hape1 Du nimmst die iobroker out Node und setzt das als command ab. Am Besten kopierst Du Dir den Pfad über die Schaltfläche in die Zwischenablage und kopierst ihn mit der iobroker-out Node in das topic.
Wenn Du mit der Maus am Ende der 1. Spalte des Datenpunktes auf diese Schaltfläche klickst, kannst Du den Pfad in die Zwischenablage kopieren und dann in das topic der iobroker-out Node:
Die ganzen iobroker Nodes findest Du in einer eigenen Kategorie:
-
@mickym Ok, ich fange jetzt mal ganz einfach mit einem Timestamp, einem setze payload, und dem iobroker-node-out an ...
-
@hape1 Ja aber wenn Du eigene Datenpunkte beschreibst solltest Du das unter 0_userdata.0 machen.
-
@mickym Vllt. verstehen wir uns ja falsch.
Ich möchte einfach testen, ob der von mir eingekringelte Datenpunkt nun mit dem iobroker-out-node entsprechend beschrieben bzw. überschrieben werden kann.
-
@hape1 Ja dann mach - aber halt einen sinnvollen Wert - machst du ja auch mit 100 - ich dachte schon Du wolltest einen timestamp da reinschreiben.
Aber so ist es OK!!!
-
@mickym Nun habe ich in der openDTU den mqtt-client abgeschaltet.
Trotzdem ist es so, das der Mqtt-Explorer (auf meinem Mac installiert) auf dem lxc-Container = Mosquitto noch alle topics findet?
Kann das bleiben, oder wäre es besser diese zu entfernen?
Wenn ja, wie mache ich das?
-
@hape1 Ja wenn das alles retain Nachrichten sind - dann sind die noch da. Du kannst aber auch die mosquitto Datenbank löschen.
Ich schreibe Dir ein paar Befehle auf, die Du als root - also im lxc Container aufrufen kannst.
Also erstes wechselst Du in folgendes Verzeichnis:
cd /var/lib/mosquitto
dann mosquitto stoppen
systemctl stop mosquitto
dann die Datenbank löschen:
rm mosquitto.db
dann mosquitto wieder starten:
systemctl start mosquitto
Dann ist alles wieder draußen, wenn das Device nichts mehr published. Die Datenpunkte im iobroker-mqtt Adapter musst Du auch löschen.