NEWS
Shelly Plus 2PM schalten via MQTT und Nodered
-
Hallo Zusammen.
Ich bin gerade dran MQTT zu lernen.
Ich habe einen Shelly Plus 2PM mit dem AddON und möchte den gerne mittels MQTT via NodeRed schalten.
Das auslesen der verschiedenen Werte (Temperatur, Spannung etc.) funktioniert alles einwandfrei.
Nur beim schalten des Shellys via MQTT habe ich so meine Probleme.
Eigentlich sollte das doch via
.../command/switch:<id>
funktionieren?
In NodeRed habe ich zwei Injects Nodes gemacht:
ON
OFF
In MQTT Exlorer sieht das ganze dann aber so aus:
Hier fehlt komischerweise das
command
topic.. Auch nach einem Hard-Reset des Shellys ist dascommand
topic nicht da.Was muss ich tun, damit ich dieses Shelly schalten kann?
Ich glaube ich muss dascommand
topic hädnisch hinzufügen, nur wie? -
@faithlux Das command topic fehlt immer - weil der Shelly kaum was publishen kann auf was er selbst hört. Dann schreib die payload mal in Kleinbuchstaben. Du musst nichts händisch hinzufügen, wenn Du es in das topic schreibst:
shellyplus2pm-c82e18072c9c/command/switch:0
falls Du als mqtt broker den Broker im iobroker mqtt Adapter nimmst, mach alle Haken weg und schau auf Fehler. Ich empfehle Dir lieber mosquitto als broker zu nehmen und den mqtt Adapter als Client zu betreiben.
-
@mickym habe den gesamten raspberry neu aufgesetzt und mosquitto ebenfalls neu installiert. nun geht alles.
Danke trotzdem für deine Hilfe.Jetzt habe ich aber ein neues Problem, bei dem ich nicht weiss wie ich das löse.. eventuell hast du mir da auch Tipps.
Da mein Shelly 2PM das AddON besitzt, will ich dass bei einer definierten Obertemperatur das Shelly einschaltet und bei einer definierten Untertemperatur wieder ausschaltet.Ich habe versicht mit einem Change-Node den payload.tC abzufangen und daraus den Celsius-Wert an eine Hysterese weiterzugeben. Doch das scheint so nicht zu funktionieren..
Wie kann ich das bewerkstelligen?
-
@faithlux Wieso Du nimmst die payload.tC und dann in eine Switch Node und danach zwei Change Nodes mit der entsprechenden Aktion.
-
@mickym Okay.. hmm.. ich bin absoluter anfänger. Darum frage ich so "doof" nach..
Wie würdest du das mit den Change nodes machen? Also was für einstellungen? -
@faithlux Also kopier hier mal das was Du aus Deiner MQTT-Node bekommst als Objekt hier in Tags. Ich geh jetzt mal davon aus dass aus Deinem Temperatur Objekt folgendes Objekt heruaskommt.
{"id":100, "tC":28.1, "tF":82.5}
Was soll denn nun Deine Ein - und was Deine Ausschalttemperatur sein?
Hier mal der Flow zum Spielen:
-
@mickym Das sieht genau so aus..
Oberer Temperaturwert Shelly schaltet ein: ab 22°C
Unterer Temperaturwert Shelly schaltet aus: ab 10°CWo füge ich diesen Flow ein.. das rall ich bis dato auch noch nicht. Aber ich will es lernen, da es schon Spass macht. Darum sorry..
-
@faithlux Na dann kühlt Dein Shelly? Hast du meinen Flow schon importiert?
Wo füge ich diesen Flow ein.. das rall ich bis dato auch noch nicht. Aber ich will es lernen, da es schon Spass macht.
Du kopierst das im Spoiler in die Zwischenablage. Dann in das Menü - Import:
und dann in das rote Fenster den Inhalt der Zwischenablage rein kopieren -
Dann auf Import - dann auf Übernehmen und dann mit der Inject Node verschiedene Temperaturen ausprobieren.
In der Inject Node kannst Du einfach verschiedene Temperaturen reinschreiben und dann mit Inject now ausprobieren ohne immer neu zu Übernehmen
-
@faithlux sagte in Shelly Plus 2PM schalten via MQTT und Nodered:
Oberer Temperaturwert Shelly schaltet ein: ab 22°C
Unterer Temperaturwert Shelly schaltet aus: ab 10°CDas ist nicht ganz logisch ohne unter ober. 22°C ist auch ab 10°C - wie gesagt in meiner Switch Node habe ich Dir eine Hystere eingebaut - musst halt die Werte ändern.
-
@mickym
Okay. Es klappt. Danke.
Ich habe da zu wenig weit gedacht, das mit dem ersten Switch Node habe ich auch so gemact.
Die zwei Schalt Node habe ich allerdings nicht gemacht. Bin direkt auf den Ausgang gefahren.Eigentlich logisch, dass das so nicht klappen kann.
Besten Dank!!!!
-
@faithlux Tja ohne die Change Nodes schickst du ja Dein Temperaturobjekt an Dein Switch Command topic und der kann damit ja nichts anfangen.
-
@mickym
Eben.. habs nun auch gemerkt. Bin seit 10 Stunden dran, diverse Sachen programmieren etc. Habs einfach nicht mehr durchblickt.. dazu bin ich das alles neu am lernen.Das ist nicht ganz logisch ohne unter ober. 22°C ist auch ab 10°C - wie gesagt in meiner Switch Node habe ich Dir eine Hystere eingebaut - musst halt die Werte ändern.
Nun ja, daran soll am Ende ein Lüfter betrieben werden, der ab 22°C einschaltet und dann ab 10°C (der Wert ist in der Tat bissl tief) wieder ausschaltet.
Das ganze könnte man ja auch direkt im Shelly Web Interface so bewerkstelligen.. mir ist das aber zu einfach, deshalb mache ich den "Umweg" via NodeRed. -
@faithlux sagte in Shelly Plus 2PM schalten via MQTT und Nodered:
@mickym
Eben.. habs nun auch gemerkt. Bin seit 10 Stunden dran, diverse Sachen programmieren etc. Habs einfach nicht mehr durchblickt.. dazu bin ich das alles neu am lernen.Das ist nicht ganz logisch ohne unter ober. 22°C ist auch ab 10°C - wie gesagt in meiner Switch Node habe ich Dir eine Hystere eingebaut - musst halt die Werte ändern.
Nun ja, daran soll am Ende ein Lüfter betrieben werden, der ab 22°C einschaltet und dann ab 10°C (der Wert ist in der Tat bissl tief) wieder ausschaltet.
Das ganze könnte man ja auch direkt im Shelly Web Interface so bewerkstelligen.. mir ist das aber zu einfach, deshalb mache ich den "Umweg" via NodeRed.Ja nur dann ist es unter 10°C und über 22°C
-
@faithlux sagte in Shelly Plus 2PM schalten via MQTT und Nodered:
Das ganze könnte man ja auch direkt im Shelly Web Interface so bewerkstelligen.. mir ist das aber zu einfach, deshalb mache ich den "Umweg" via NodeRed.
ja dann kannst Du damit ja auch noch andere Dinge machen - zum Beispiel eine Lampe leuchten lassen.
-
@mickym habe das bereits angepasst..
und habs direkt mal simuliert mit einem Föhn und einem Eispad
klappt super!