NEWS
Node-Red - Shelly PlusPlugS - Mqtt Node-Red Dashboard
-
Jo, jetzt steht im mqtt der Wert 1600, so soll es sein.
Mache jetzt Schluss, muss morgen früh raus.
Nochmal ein ausdrückliches Danke für Deine unerschütterliche Hilfe!
VG
Hape -
@hape1 Dann gute Nacht. Wie gesagt Du musst eine Art Kochbiuch formulieren, wie Du es gerne hättest, ich kann das nicht beurteilen. Ich kann Dir nur helfen, das was DU WILLST versuchen umzusetzen. Du musst Dich halt mal fragen, für was die Summierung überhaupt gut ist, wenn die Batterie voll ist.
Und ich erinnere auch noch an meine Fusszeile - wenn irgendwas kaputt geht, weil das vielleicht überlädt - Du bist dafür verantwortlich - ich kann Dir inhaltlich nicht helfen. Wenn das so OK ist - dann kappe lieber mal den oberen Ast, wenn dadurch die Gefahr einer Überladung erfolgt.
Gerade am Anfang macht es vielleicht Sinn erst mal zu schauen, was in den Debug Nodes rauskommt, bevor man diese Werte dann an irgendwelche Geräte schickt.
-
@mickym Hi, melde mich zurück:
Bin heute mal in Kombination mit dem Energie produzierenden Microwechselrichter und dem super Wetter dazu gekommen, den Flow in Live testen zu können.
Leider funtktioniert das setzen des reduzierten Wertes nicht, bzw. der letzte Payload im flow setzt zwar den Wert, aber der Wert wird nicht in den mqtt-Datenpunkt des Wechselrichters/opendtu übernommen.
Ich mache mal ein paar Screeshots, damit man hoffentlich besser versteht, was ich ich meine:
Hier sieht man im Datenpunkt "limit_nonpersistent_relativ" 100%, aber im "korrospondierenden" Datenpunkt "current_limit_relativ" stehen 10%.
Schreibe ich aber direkt im Datenpunkt "limit_nonpersistent_relativ" den Wert 10%, dann wird dieser auch im"current_limit_relativ" übernommen.
Ich verstehe nicht, wo der Fehler liegt.
Bzw. mir ist jetzt wo ich so schreibe, gar nicht klar, welchen Datenpunkt man zum Regeln der opendtu/Wechselrichter überhaupt benutzten soll?
-
@hape1 Na das kann ich Dir auch nicht sagen welchen Punkt Du beschreiben musst. Aber Du schreibst auch keine Zahl sondern einen Text.
-
@mickym Habe ich auf "number" geändert und zum Test ein timestamp gesetzt
Dennoch ist es so, das der eingetragene Wert zwar übertragen und gesetzt wird (kann man im Datenpunkt sehen, aber der Wert wird nicht umgesetzt.
Gehe ich nun her und schreibe den Wert direkt im mqtt-Datenpunkt
dann wird er auch im current_limit_absolute Datenpunkt übernommen ... .
und sind auch im Webbrowser der opendtu wiederfindbar
Hast Du hierfür eine Erklärung?
-
@hape1 Arbeitet Dein mqtt Adapter als Server/Broker und gibr es irgendwelche Einträge im Log, dass eine Nachricht nach x Retries gelöscht wird? Ich hatte früher so was https://forum.iobroker.net/post/441763 - seitdem bin ich aber auf mosquitto umgestiegen und nutze nur noch mosquitto als Broker und den Adapter als Client.
Und ggf. schauen, dass alle Haken in der mqtt Adapterkonfig NICHT gesetzt sind.
-
Danke: Hier die Adaptereinstellungen, kannst Du da bitte mal draufschauen ....
-
@hape1 Ja wie gesagt - alle Haken rausmachen - aber ich würde auf mosquitto umsteigen und den Adapter als Client nutzen. Mich hat das damals Monate gekostet, weil ich den Fehler bei mir gesucht habe und dann habe ich gewechselt und es war kein Problem mehr.
Schau mal im Log ob Du solche Nachrichten hast, dass eine Nachricht nach xxx Retries gelöscht wurde (xxx kann für 11 oder eine beliebige Zahl stehen).
Auch sowas ist super gefährlich:
Der Adapter hat nämlich grundsätzlich ein Problem mit retained Nachrichten umzugehen - und wenn ein Client - kann auch NodeRed sein, sich ggf. neu verbindet kann es hier zu Kollisionen kommen. Also wie gesagt ich lasse den mqtt-Adapter als Client laufen und nutze mosquitto als Broker und damit waren all diese Probleme weg.
-
@mickym Ich habe in den logs geschaut, da ist nix mit Retries gelöscht ...
Was mosquitto anbelangt, wenn ich nach dem Adapter suche, kommt kein Ergebnis?
Aber selbst wenn, dann verstehe ich nicht, wofür dann der bestehende mqtt-adapter noch gut ist?
-
@hape1 Mit dem bestehenden Adapter kannst Du erst mal alle States auslesen und unabhängig von mqtt diese States auslesen. Mqtt schickt nämlich nur states speichert die aber nicht bzw. nur solange bis alle clients diesen State gelesen haben. Mosquitto installierst Du ausserhalb vom iobroker. Wenn Du Dich dazu entschließt kann ich Dir schon helfen.
Alternativ als kurzfristige Lösung kannst Du natürlich auch direkt via iobroker-out Node den Datenpunkt direkt beschreiben, so wie Du es manuell auch gemacht hast. Achte nur darauf, dass Du es als command beschreibst.
Wie gesagt, wenn Du mit den mqtt-Nodes was an den Broker/Server schickst und das tut nicht liegt es mit großer Wahrscheinlichkeit eher am Adapter als an den Nodes.
-
@mickym Scheint heute nicht mein Tag zu sein: iobroker meckert das Node-red eine invalid config vorweist ... Node-Red läßt sich über die Seitenleiste von iobroker nicht mehr aufrufen ...
Ich könnte Node-Red natürlich einfach de- und neuinstallieren. Vllt. ist durch meine rumprobiererei was kaputt gegangen ... Die zwei flows sind ja schnell neu gemacht ...
Was wäre denn im Gesamtkontext die sauberste Konfiguration?
Ok, wenn nun der mqtt-adapter in iobroker eh nicht so der Hit ist --> was schlägst Du vor?
-
@hape1 Na diese invalid JSON in config habe ich seit der Version 5.2.0 auch - wenn Du die Adapterkonfig aufmachst.
admin.0 2024-04-07 20:56:08.101 warn node-red has an invalid jsonConfig: [{"instancePath":"/items/_authentication/items/authExt/items/1","schemaPath":"#/definitions/passwordProps/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"attr"},"message":"must NOT have additional properties"},{"instancePath":"/items/_authentication/items/authExt","schemaPath":"#/patternProperties/%5E.%2B/allOf/23/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"/items/_authentication","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
Das kannst Du ignorieren - das ist irgendein Mist, der seit dieser Versoin 5.2.0 auftritt. Ich hab das gitHub schon wieder aufgemacht - aber das dauert wohl bis sich da jemand drum kümmert.
https://github.com/ioBroker/ioBroker.node-red/issues/458
Da ist nichts kaputt an Node-Red.
Ansonsten empfehle ich Dir den mosquitto als Broker zu nehmen und den Adapter als Client verwenden.
-
@hape1 sagte in Node-Red - Shelly PlusPlugS - Mqtt Node-Red Dashboard:
Node-Red läßt sich über die Seitenleiste von iobroker nicht mehr aufrufen ...
Kannst Du es den gar nicht mehr aufrufen oder nur über die Seitenleiste?
-
@mickym Leider nein ...
-
@hape1 Nee bei mir geht es doch. Ja dann exportiere die Flows und reimportiere sie wieder.
-
Auf welchem System läuft denn Dein iobroker bzw. Dein System?
-
@mickym läuft in einem lxc-Container in proxmox ... ich habe hierüber auch ein backup ... keine Ahnung wie das exportieren und Reimportieren von flows geht ...
-
@hape1 Ah Ok - na dann kannst ja Dein Backup zurückspielen. Ich habe mosquitto in einem eigenen Container installiert. Dann ist das sauber getrennt und immer verfügbar.
-
@hape1 sagte in Node-Red - Shelly PlusPlugS - Mqtt Node-Red Dashboard:
@mickym läuft in einem lxc-Container in proxmox ... ich habe hierüber auch ein backup ... keine Ahnung wie das exportieren und Reimportieren von flows geht ...
Für einen mqtt Container - gibts hier auch ein Helperskript - der erstellt Dir vollautomatisch einen Container mit mosquitto als mqtt Broker.
https://tteck.github.io/Proxmox/
Das Skript erstellt Dir einen fertigen Container unter proxmox.
Der Vorteil ist, dass Du auf Deinen mqtt-Broker zugreifen kannst, unabhängig vom Hausautomationssystem.
-
@mickym habe ich auch gerade gesehen --> gibt es am Ende dann eine graphische Oberfläche bei dem Script für den Mosquitto-Server?