Vielen Dank, HighFive. Habe MQTT auf dem Shelly mal ganz ausgeschaltet und dann bleibem die Werte im Explorer stehen. Scheint wohl irgendwo noch was aktiv zu sein. Ich forsche weiter. Mag es nicht, wenn irgendwelche Daten einfach so durchs WLAN wabern.
Beiträge von Sputnick
-
-
HighFive du bist Spitze und schnell!!!. So langsam verstehe ich auch die Shelly Scripts. VIELEN DANK.
Jetzt hab ich aber doch noch eine Frage. Habe gerade im MQTT Explorer gesehen, dass im Sekundentakt die u.a. Messages vom Shelly an meinen Raspberry geschickt werden. Auch wenn ich alle MQTT und http Verbindungen zwischen den beiden kappe laufen die NAchrichten weiter. Ich weiß, dass dieses Thema eigentlich nicht hierher gehört, aber vielleicht kann mir jemand auch so eine kurze Info geben ohne dass ich eine neue Konversation aufmache.MQTTExplorer debug_log.jpg
-
Vielen Dank an alle insbes am HighFive! Mit dem Script klappt die Übertragung super und wie gewünscht sekundenweise. Letzte Frage: wie modifiziere ich das Skript, dass z.B. die total_act_power per MQTT übermittelt wird?
-
Ich habe seit einer Woche einen Shelly pro 3 em, der seine Messdaten über MQTT an einen Raspberry übermittelt. Die Anbindung funktioniert hervorragend. ABER: es werden nur alle 15 Sekunden Daten übermittelt, egal, ob sich die Werte ändern oder nicht. ich brauche aber eine Wertänderung sofort, bzw. jede Sekunde, weil ich damit einen Heizstab steuere, der in Abhängigkeit von dem Ertrag meiner Solaranlage ein bzw ausgeschaltet wird.
Das in https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Mqtt/ unter Step 10 gezeigte Script ändert an der Situation nichts. Ich will aber nicht ausschließen, dass ich da was falsch mache oder etwas vergesse.
Bin für jede Hilfe dankbar.
-
Sorry, hatte ich vergessen zu erwähnen. Ich nutze MQTT OUT Node um den Shelly anzusprechen. Und den MQTT IN um die Nachrichten vom Shelly zu empfangen. Das funktioniert auch. MQTT JSON kenne ich (noch) nicht.
Der Switch (aus der Palette node-red-contrib-shelly der Node shelly-gen2) bekommt im einfachsten Fall einen timestamp. Ist aber egal, was man ihm gibt. Es kommt immer nur der Status. Soll vielleicht so sein, hätte aber erwartet, dass man auch schalten kann.
-
Hallo,
habe seit ein paar Tagen einen Shelly 1PM 2. gen, den ich gerne mit Node Red steuern möchte. Habe hierzu einige Beiträge gefunden. U.a:
Shelly 1 & 1pm example api flows (flow) - Node-RED
Ich habe den Flow in mein Node Red auf dem Raspi4 kopiert und die Shelly-IP und Shelly-ID angepasst.
Die MQTT Verbindung hat nach einigem hin und her geklappt und es lässt sich damit auch der Status, den der Shelly jede Minute schickt im Broker empfangen.
Ich schaffe es aber nicht über MQTT den Shelly ein- und auszuschalten.
Habe in der Inject Node schon alles versucht:
msg.topic = shellies/shelly1pm-441793cfe6a8/relay/0/command
msg.payload = {"relay":0,"on":1} oder {"relay":0,"on":"true"} oder {"relay":0,"on":true}, oder ....
Auf der anderen Seite kann ich über http den Shelly schalten, ich kann aber z.B. nicht die Updateperiode ändern, oder den Shelly booten. Die zugehörige Function Node sieht so aus (1:1 aus dem oben genannten Beispiel kopiert, nur die IP-Adresse geändert):
var x = msg.payload;
var IP = "192.168.178.32";msg.url = "http://" + IP + "/settings";
msg.payload = "mqtt_update_period=" + x;
return msg;Ich bekomme immer vom http-Request Node die Fehlermeldung:
"JSON-Parse-Fehler"
Und last but not least kann ich mit dem Shelly Switch auch nur den Status abfragen, aber den Shelly nicht schalten.
ich vermute, es liegt nur ein Kleinigleiten, aber ich komme alleine nicht weiter.
Ich hoffe man kann mein anfängerhaften Erklärunegn verstehen und es kann mir jeamnd helfen!
Grüße
Sputnick