NEWS
Hilfe, Wert aus String anzeigen
-
@mickym
Ich versehe deine bzw. die Frage so...
Empfänger:
Ich habe die Zeile/Adresse aus den Objekten kopiert und als MQTT Empfänger mit dem Sonoff IP und Port in Node-Red eingeführt.
Sender:
Ist ein IR-Tasmota-Hitchi vom Stromzähler. -
@e-tron Nein - das ist leider grundsätzlich verkehrt. Der Sonoff Adapter simuliert einen MQTT Broker. Wenn Du über den SONOFF- Adapter aus NodeRed kommunizieren willst, dann darfst Du das nicht über MQTT machen, sondern musst die iobroker OUT (für den Ausgang) bzw. iobroker IN Nodes (für den Eingang) verwenden.
Mit den MQTT- Nodes kommunizierst Du in der Regel mit einem MQTT-Broker. Das hat aber mit dem SONOFF Adapter 0,0 oder mit anderen Worten rein gar nichts zu tun. Wenn Du mit reinem MQTT kommunizieren willst musst Du entweder den SONOFF rausschmeissen oder Du kommunizierst via NodeRed mit dem iobroker über die iobroker Nodes.
Die Tasmota Struktur ohne Sonoff Adapter schaut nämlich ganz anders aus.
Im Prinzip musst Du Deine gesamte Infrastruktur überdenken, wie Du später arbeiten willst. Ich persönlich bin kein Anhänger dieser Adapter - da sie nur so gut sind, solange sie die Struktur kennen. Die MQTT Tasmota Struktur schaut nämlich anders aus, als das was Dir der Sonoff Adapter darstellt.
Wie gesagt auf die Schnelle musst Du mit dem iobroker aus NodeRed heraus AUSSCHLIESSLICH mit den iobroker Nodes kommunizieren.
Wie gesagt für den Anfang mag der Sonoff Adapter OK sein - aber dann vergiss die Kommunikation über mqtt direkt. Wenn Du alleine die Struktur in Tasmota änderst (sprich prefix und topic veränderst, dann ist Dein sonoff Adapter schon lahm gelegt) - aber das sind wie gesagt prinzipiell Designüberlegungen, wie Du Dein System aufbauen willst. Wie gesagt, wenn Du mit deinen Geräten über den SONOFF Adapter kommunizieren willst, dann schmeiß alle mqtt Nodes aus NodeRed raus - das erzeugt nur Verwirrung.
-
@mickym
gerade ist mein Kopf geplatzt! Das übersteigt mein Horizont und ich überlege den Ladestromregler wieder zu verkaufen...Wenn ich den Port vom Ladestromregler auf die vom MQTT Adapter ändere, bekomme ich nicht die klare Darstellung wie beim Sonoff.
Können mir die Sonoff Paletten in NodeRed helfen?
Den Rest verstehe ich nicht...was es bedeutet, welchen Aufwand es ist und wie ich das umsetzte...
Falls du keine Lust hast, mir das zu erklären...kann ich das gut verstehen
-
@e-tron Nochmal ganz langsam - alles kein Problem und musst auch nichts verkaufen. Ist alles nicht so schlimm und Du schaffst das - ist wirklich nicht schlimm.
Beantworte doch nur kurz diese Fragen:- Du kannst doch alles über den Sonoff Adapter steuern, richtig?
- Und Du nutzt doch NodeRed innerhalb des iobrokers - also den NodeRed Adapter?
-
@e-tron sagte in Hilfe, Wert aus String anzeigen:
Falls du keine Lust hast, mir das zu erklären...kann ich das gut verstehen
Natürlich habe ich Lust - sonst würde ich es ja nicht machen! - Also mach Dir mal keine Gedanken - zusammen schaffen wir das schon - soweit es mein Wissen zulässt.
-
@mickym
DankeJa, ich kann es über den Sonoff Adapter steuern
Ja, ich benutze NodeRed im IOBroker -
@e-tron
Dann hier die nächsten Fragen:-
Du siehst doch in Deinem Node Red die iobroker Nodes (sind auf der linken Seiten in der Gruppe iobroker)?
-
Und Du hast doch die Daten, die Du jetzt mit den mqtt-Nodes auch in einem Objekt im Sonoff Adapter im iobroker?
-
Sprich die Daten aus dieses mqtt Node
hast Du doch sicher als Datenpunkt im iobroker unter dem Sonoff Adapter?
-
-
- und 2.....ich habe ein paar screenshots gemacht.
zu 3. der Hausstrom_Test/Sensor bezieht seine Information vom MQTT-Broker/Adapter. (ursprünglich lief der IR-Tasmota-Hitchi auch mal unter den Sonoff, aber irgendwie funktionierte das nicht und ich habe es auf den MQTT-Broker/Adapter umgestellt...was dann für den Soyo-Wechselrichter funktionierte)
- und 2.....ich habe ein paar screenshots gemacht.
-
@e-tron OK dann hast Du einen Mischmassch zwischen Sonoff und MQTT - und Du solltest Dir überlegen, ob Du nicht alles auf MQTT umstellst - aber lassen wir das mal aussen vor.
Dann lassen wir mal Deine MQTT-IN Nodes drin. Wenn Du was über den Sonoff Adapter schalten willst, dann musst du die iobroker out Node verwenden.
Also ersetze einfach diese mqtt-out Node durch eine iobroker-Out Node:
Auf Dauer würde ich Dir aber lieber empfehlen - nicht so ein Mischmasch zu betreiben - das Problem mit den Adaptern ist halt, dass sie nur so gut funktionieren, wenn ihnen die Geräte bekannt sind. (Das kannst Du später mal in Angriff nehmen - ich kommunizieren auch mit allen Tasmota Geräten nur über mqtt - das mußt Du jetzt nicht machen).
In die ioboker Out Node gibst Du dann als topic den Pfad zum Datenpunkt ein:
Wichtig ist das Type: command drin steht - damit kannst Du dann über den sonoff Adapter schalten.
-
@mickym
OK, das klinkt nach Tuning (alles auf MQTT)Den sonoff.0.DPM.tampere habe ich aus dem Flow entfernt. IO-Broker-Out hinzugeführt...siehe Foto
-
@e-tron Genau und nun nur noch verbinden - dann sollte alles funktionieren. Du siehst ja dann in den Objekten, dass NodeRed in diesen Datenpunkt schreibt
Wahrscheinlich musst Du die mqtt Out Node oben auch ersetzen - falls das über den Sonoff Adapter gehen soll.
-
es scheint zu funktionieren...der DPM lebt!...DANKE
ich muss es morgen bei Sonnenlicht richtig testen...meine Hardware und der Flow erfordern etwas Aufwand
-
@e-tron Na das freut mich.
Du solltest Dir halt mal auf lange Sicht überlegen, ob Du Dir eine einfache Infrastruktur zuzulegen, die Du später auch leichter warten kannst.
Wenn was unter dem sonoff Adapter nicht geht, liegt es nicht am Gerät, sondern an dem Adapter. Sobald ein Gerät aber mqtt spricht, bist Du auf all diese Adapter nicht mehr angewiesen, auch wenn es vielleicht etwas mehr Aufwand bedeutet.Es gibt kurzfristig keine Notwendigkeit und erfordert vielleicht auch noch einiges an Lernen und Verstehen von Zusammenhängen, aber das kannst Du Dir ja selbst überlegen, ob Du das mal angehen willst.
-
@mickym
OK...ich muss erstmal die Grundfunktion meiner Anlage testen und erproben. Mit deiner Hilfe kann es morgen mit dem Projekt weiter gehen...ich melde mich...gute Nacht
-
@mickym
Servus....ich konnte heute nur kurz testen, aber 2 Dinge festgestellt.-
es fehlt eine Rücksetztfunktion für den DPM. Da der letzte empfangende Wert für den DPM zählt. Hab ich selber hinbekommen
-
der DPM regelt sich verrückt. Ich muss die Regelung verlangsamen b.Bsp. Output nur jede 10s (aktuell ca.2s) mit dem aktuellen Wert
Kannst du mir sagen welche Node die geeignete ist?
-
-
@e-tron sagte in Hilfe, Wert aus String anzeigen:
@mickym
Servus....ich konnte heute nur kurz testen, aber 2 Dinge festgestellt.-
es fehlt eine Rücksetztfunktion für den DPM. Da der letzte empfangende Wert für den DPM zählt. Hab ich selber hinbekommen
-
der DPM regelt sich verrückt. Ich muss die Regelung verlangsamen b.Bsp. Output nur jede 10s (aktuell ca.2s) mit dem aktuellen Wert
Kannst du mir sagen welche Node die geeignete ist? Hab es mit der Delay node gemacht...
-
-
@e-tron sagte in Hilfe, Wert aus String anzeigen:
@mickym
Servus....ich konnte heute nur kurz testen, aber 2 Dinge festgestellt.-
es fehlt eine Rücksetztfunktion für den DPM. Da der letzte empfangende Wert für den DPM zählt. Hab ich selber hinbekommen
-
der DPM regelt sich verrückt. Ich muss die Regelung verlangsamen b.Bsp. Output nur jede 10s (aktuell ca.2s) mit dem aktuellen Wert
Kannst du mir sagen welche Node die geeignete ist?
Du kannst mit einer Delay-Node - die Nachrichtenrate begrenzen und sagen, dass die Zwischennachrichten verworfen werden.
Alternativ - wäre es in meinen Augen vielleicht sinnvoller einen Totbandfilter zu verwenden und nicht zeitlich zu begrenzen. Hier muss sich der Wert mind. um 10% verglichen mit dem letzten validen Ausgangswert ändern bevor eine neue Nachricht durchgelassen wird.
damit reagiert das Gerät sofort, wenn die Änderungen groß genug sind - geringfügige Änderungen werden aber auch länger ausgefiltert.
Du hast also verschiedene Möglichkeiten
-
-
@mickym
Danke, ich hab es mit Version 1 umgesetzt und es funktioniert erst ganz gut.Ich benötige eine Funktion...wenn der Wert über >20 dann sollen max. 20 ausgegeben werden. Momentan ist das so, das Werte >20 ignoriert werden und der letzte unter 20 bestand hat.
-
@e-tron Dann mach halt statt der letzten Switch Node eine Change Node mit folgendem JSONATA Code:
payload > 20 ? 20 : payload
oder mach alternativ noch einen 2. Ausgang in der Switch Node mit > 20 und anschließender Change node setzt du die payload auf 20
-
@mickym
Herzlichen Dank...werde es morgen testen