Node Red - Hilfe-/Frage-/Ideen-/Austausch - Thread

dafür gibt es zwei Möglichkeiten um mehrere Befehle in einer Funktion abzusetzen.
Der einfachste Weg ist mit Node.send Befehl
Alternativ geht es auch über Return [[msg]] somit werden die Befehle dann hintereinander gesendet.
Ich schreibe es dir nachher mal genauer auf.

Der Vorteil von Node.send ist , das die Funktion nicht beendet wird sondern weiter durchläuft.
Bei dem Return Befehl wird die Funktion an der Stelle beendet wo dieser steht.

VG

1 „Gefällt mir“

So mal eine Frage, die evtl. auch andere User interessiert:
Ich möchte über mein Gäste-Wlan der FritzBox per HG oder Wemo an/aus schalten.
Ich weiß, daß es geht, aber eben nicht WIE ? :face_with_raised_eyebrow:

Welche nodes brauche ich, welche Einstellungen in der Fritze und wie lautet der Flow? :wink:

Guck mal hier: https://himpler.com/blog/fritzbox-node-red-und-homee

Da ist die Wemo Variante beschrieben. Flow zum kopieren:

[{"id":"986380e9.875368","type":"wemo-emulator","z":"5635fba3.2a0f44","name":"Guest Wifi","friendlyName":"Gäste WLAN","serial":"2938562","port":"41257","onTopic":"guest/wifi","onPayload":"on","offTopic":"guest/wifi","offPayload":"off","x":140,"y":280,"wires":[["db14626a.1d0d78"]]},{"id":"db14626a.1d0d78","type":"function","z":"5635fba3.2a0f44","name":"","func":"return {\n    payload: {\n        NewEnable: msg.payload === 'on' ? 1 : 0\n    }\n};","outputs":1,"noerr":0,"x":290,"y":280,"wires":[["29bd9fc3.416"]]},{"id":"29bd9fc3.416","type":"fritzbox-in","z":"5635fba3.2a0f44","device":"61f053c7.62e594","name":"Gäste WLAN","service":"urn:dslforum-org:service:WLANConfiguration:3","action":"SetEnable","arguments":"{\"NewEnable\":\"value\"}","x":450,"y":280,"wires":[["97dece21.1bd53"]]},{"id":"97dece21.1bd53","type":"debug","z":"5635fba3.2a0f44","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":630,"y":280,"wires":[]},{"id":"61f053c7.62e594","type":"fritzbox-config","z":"","name":"FritzBox","host":"fritz.box","port":"49000","ssl":false}]
2 „Gefällt mir“

Hey @CaptainL

so sollte das aussehen wenn du mehrere Geräte ansteuern magst.

var msg1 = {payload: String PUT:/nodes/001/attributes/000?target_value=1};//EG Wand
var msg2 = {payload: String PUT:/nodes/002/attributes/000?target_value=1};//OG Wand
var msg1a = {payload: String PUT:/nodes/003/attributes/000?target_value=1};//EG Wand
var msg2a = {payload: String PUT:/nodes/004/attributes/000?target_value=1};//OG Wand
return [[msg1,msg2,msg1a,msg2a]]

Alternativ zum Return auch das node.send

node.send (msg1)
node.send (msg2)
node.send (msg1a)
node.send (msg2a)

VG Micha

1 „Gefällt mir“

Habe das so versucht und hänge jetzt an einer Fehlermeldung:
image

Diese erhalte ich, wenn ich SSL Verbindung aktiviert habe; ohne SSL bekomme ich einen Serverfehler.
Ich hatte in der Fritze einen User angelegt, der schon für VPN freigeschaltet war; diesen habe ich ebenfalls in den Zugangsdaten hinterlegt. Die TR064 Schnittstelle ist auch an.

Wo könnte der Fehler zu finden sein?

Edit:habe gerade auch den Flow für den Callmonitor erstellt und dieser funktioniert einwandfrei.

Puh, gute Frage. Du kannst höchstens mal versuchen, den Service und die Action im FritzBox Node neu einzutragen. Ist das einzige was mir spontan einfällt.

Über die Weboberfläche der FritzBox kannst du das WLAN ein- und ausschalten?

In der Fritze selber ja. Wollte nachher mal versuchen, die Fritze neu zu starten. Geht aber gerade nicht, da die Regierung einen Film streamt :wink:

1 „Gefällt mir“

Greift der Callmonitor auch über die TR064 zu? Weil der geht ja…

Ja das macht er eigentlich.
Wenn du da Zugriff hast dann sollte der Rest auch gehen, komisch .

Mache den gesamten Flow morgen nochmal neu. Hätte ja früher auch schon mal Probleme mit importierten Nodes.

Bekomme immer noch Fehler bei der Verbindung zur Fritzbox :roll_eyes:

@stfnhmplr: Hinter der IP der Fritzbox steht ja noch der Port 49000. Ist der immer so oder muß ich den evtl. anpassen? Wo kann ich ggf. prüfen, wie der Port heisst?

Da bin ich überfragt. Wenn 49000 ist der Standardport. Wenn du den nicht bewusst geändert hast (falls das überhaupt geht) wird der vermutlich richtig sein. Device not Ready klingt auch eher nach einer anderen Ursache.

Habs gerade noch mal an einer 7490 getestet, funktioniert einwandfrei. Die FritzBox Konfiguration ist korrekt? Meldest du dich mit dem Admin Nutzer an?

Nein, habe einen extra User angelegt.
Komisch ist, daß meine anderen Flows mit der Onlineüberwachung der Geräte auch nicht mehr geht.
Wie lautet denn der Admin Nutzer bzw. wo finde ich den in der Fritze?

Ok, bin einen Schritt weiter. Der Zugriff aus dem Internet war für den Nutzer nicht aktiviert.
Jetzt bekomme ich “nur noch” die Fehlermeldung aus dem Payload:

image

Das ist keine Fehlermeldung. Die FritzBox meldet bei Erfolg ein leeres Objekt zurück.
Guck mal nach Ausführung ob das Gäste WLAN geschaltet wurde.

Ja, es scheint jetzt zu gehen.
Ich hatte parallel die Oberfläche der Fritze auf, um dort auch das Gäste-Wlan zu beobachten. das könnte es blockiert oder verwirrt haben.

Welche Fritzbox mit welcher Softwareversion hast du denn?

Mit meiner 7590 und FritzOS 7.01 klappt die Aktivierung des Gäste-WLANs via Node Red leider immer noch nicht.

Gibt es eigentlich auch nen Flow zur Aktivierung der Rufumleitung via Node Red von Homee aus (WeMo Schalter)?

Habe eine 7590 mit aktueller Software.
Hast du eine Fehlermeldung im Debug oder wo hängt es?

Ja, ich bekomm folgende Meldung:

15.3.2019, 23:31:36[node: Gäste WLAN](http://192.168.178.44:1880/#)msg : string[13]

"Action failed"

Und genau den Flow von oben:

[{"id":"986380e9.875368","type":"wemo-emulator","z":"5635fba3.2a0f44","name":"Guest Wifi","friendlyName":"Gäste WLAN","serial":"2938562","port":"41257","onTopic":"guest/wifi","onPayload":"on","offTopic":"guest/wifi","offPayload":"off","x":140,"y":280,"wires":[["db14626a.1d0d78"]]},{"id":"db14626a.1d0d78","type":"function","z":"5635fba3.2a0f44","name":"","func":"return {\n    payload: {\n        NewEnable: msg.payload === 'on' ? 1 : 0\n    }\n};","outputs":1,"noerr":0,"x":290,"y":280,"wires":[["29bd9fc3.416"]]},{"id":"29bd9fc3.416","type":"fritzbox-in","z":"5635fba3.2a0f44","device":"61f053c7.62e594","name":"Gäste WLAN","service":"urn:dslforum-org:service:WLANConfiguration:3","action":"SetEnable","arguments":"{\"NewEnable\":\"value\"}","x":450,"y":280,"wires":[["97dece21.1bd53"]]},{"id":"97dece21.1bd53","type":"debug","z":"5635fba3.2a0f44","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":630,"y":280,"wires":[]},{"id":"61f053c7.62e594","type":"fritzbox-config","z":"","name":"FritzBox","host":"fritz.box","port":"49000","ssl":false}]

Hallo Zusammen,

hier ein kleiner Flow für die Arlo Cams, wie man seine nutzerspezifischen Modi über Homee geschaltet bekommt. Über IFTT geht leider nur AKTIVIERT oder DEAKTIVIERT. Mit diesem Flow sind auch individielle Lösungen möglich.

Damit der Flow funktioniert, sind spezifische Arlo-API Schlüssel gemäß folgender Anleitung abzufragen und entsprechend im Flow zu ersetzen.

[{"id":"e4266757.b66f","type":"switch","z":"468e56b1.5b8df8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"On","vt":"str"},{"t":"eq","v":"Off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":490,"y":360,"wires":[["776fccd6.b5dd2c"],["3bcf74b7.a7686c"]]},{"id":"71e3697.1e93698","type":"http request","z":"468e56b1.5b8df8","name":"Update Arlo","method":"POST","ret":"txt","url":"https://arlo.netgear.com/hmsweb/users/devices/notify/$DEVICEID$/","tls":"","x":1110,"y":360,"wires":[[]]},{"id":"776fccd6.b5dd2c","type":"function","z":"468e56b1.5b8df8","name":"Set HTTP - Armed Away","func":"msg.payload = '{\"from\":\"$FROM$\",\"to\":\"$DEVICEID$\",\"action\":\"set\",\"resource\":\"modes\",\"transId\":\"$TRANSACTIONID$\",\"publishResponse\":true,\"properties\": {\"active\":\"$MODEID_1$\"}}';\nmsg.headers = {};\nmsg.headers['Content-Type'] = 'application/json';\nmsg.headers['Authorization'] = '$TOKEN$';\nmsg.headers['xcloudId'] = '$XCLOUDID$';\nreturn msg;","outputs":1,"noerr":0,"x":770,"y":300,"wires":[["71e3697.1e93698"]]},{"id":"3bcf74b7.a7686c","type":"function","z":"468e56b1.5b8df8","name":"Set HTTP - Armed Home","func":"msg.payload = '{\"from\":\"$FROM$\",\"to\":\"$DEVICEID$\",\"action\":\"set\",\"resource\":\"modes\",\"transId\":\"$TRANSACTIONID$\",\"publishResponse\":true,\"properties\": {\"active\":\"$MODEID_2$\"}}';\nmsg.headers = {};\nmsg.headers['Content-Type'] = 'application/json';\nmsg.headers['Authorization'] = '$TOKEN$';\nmsg.headers['xcloudId'] = '$XCLOUDID$';\nreturn msg;","outputs":1,"noerr":0,"x":770,"y":400,"wires":[["71e3697.1e93698"]]},{"id":"ded488b2.89d8f8","type":"wemo-emulator","z":"468e56b1.5b8df8","name":"Arlo Status","friendlyName":"Arlo_Status_an/aus","serial":"111111","port":"11111","onTopic":"switch/bulb","onPayload":"On","offTopic":"switch/bulb","offPayload":"Off","x":270,"y":360,"wires":[["e4266757.b66f"]]}]

Viel Spaß!

2 „Gefällt mir“