Abfragen von Zuständen über Smarthome HTTP-Request an Node-Red

  • Hallo zusammen.

    Ich habe eine Lösung gefunden, wie man Zustände von per HTTP-Request abfragen kann und dann ein Passendes Szenario ausführen kann. Der Trick dahinter ist, dass man per HTTP Antwort - Während gleich den Zustand einer HTTP-Request abfragen kann. Der Zustand ist "in Bearbeitung", wenn die HTTP-Request noch zum Zeitpunkt der Abfrage nicht beendet ist.

    Die HTTP-Request geht an einen HTTP-Server, der die Dauer der HTTP-Verbindung je nach Zustand einer Variable ändert. (z.B. True: keine Verzögerung False: 5 Sekunden). Wenn man nun die HTTP-Request startet, eine Sekunde wartet und dann den Zustand abfragt. Bekommt man raus, ob der Zustand "Erfolgreich" oder "in Bearbeitung" ist. Also ob er true oder false ist.

    Hier ein Beispiel:

    Man braucht zwei Zustände und ein "HTTP-Anfrage".

    Regel1:

    Der Zustand "test" braucht eine Verzögerung von mind. 1. Sekunde.

    Regel 2:

    Regel 3:

    Ihr könnt TestZustand auch durch ein Gerät ändern.

    Der Node-Red Flow sieht so bei mir aus:

    [{"id":"42234027.af965","type":"tab","label":"Flow 3","disabled":false,"info":""},{"id":"dc8dd0d0.0d7d9","type":"http in","z":"42234027.af965","name":"","url":"test11","method":"get","upload":false,"swaggerDoc":"","x":70,"y":140,"wires":[["5ee352f2.1e995c"]]},{"id":"c0005ebd.9d02","type":"http response","z":"42234027.af965","name":"","statusCode":"200","headers":{},"x":720,"y":160,"wires":[]},{"id":"3aa9ce4d.0df2c2","type":"delay","z":"42234027.af965","name":"","pauseType":"delay","timeout":"3","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":720,"y":120,"wires":[["c0005ebd.9d02"]]},{"id":"1cf431cd.9ec48e","type":"switch","z":"42234027.af965","name":"","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"false"},{"t":"eq","v":"true","vt":"str"},{"t":"eq","v":"false","vt":"str"}],"checkall":"true","repair":false,"outputs":4,"x":530,"y":140,"wires":[["3aa9ce4d.0df2c2"],["c0005ebd.9d02"],["3aa9ce4d.0df2c2"],["c0005ebd.9d02"]]},{"id":"5ee352f2.1e995c","type":"ioBroker get","z":"42234027.af965","name":"","topic":"yamaha.0.power","attrname":"payload","payloadType":"value","x":270,"y":140,"wires":[["1cf431cd.9ec48e"]]}]

    Wenn ihr noch Frage und/oder Probleme habt, fragt einfach hier oder schreibt mir eine DM.

    Mit freundlichen Grüßen

    Master29f

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!