NEWS
[Frage] Gerät per HTTP Post Steuern
-
Hallo, ich bin relativ neu bei ioBroker. Ich bin mir noch unschlüssig ob ich tatsächlich node red oder einen javascript adapter für mein vorhaben benötige.
Ich hab ein Gerät, welches sich mittels HTTP Post variablen steuern lässt. Beispielsweise Brightness via Value 0-255 oder Color Mit den Werten R:, G:, B:.
Ich würde im ioBroker gerne hierfür einen Ordner anlegen (ich bin mir bisher nicht sicher wie das funktioniert, ich kann bisher über das + nur Objekte anlegen)
Hier die Werte für Brightness, Color usw hinterlegen und diese schreibend machen (oder auch gleichzeitig lesend, da mittels HTTP GET die variablen auch zurückgegeben werden, wenn sie angekommen und geändert wurden). Dann könnte ich mit dem Vis das Gerät mit Buttons und Color Pickern steuern.
Wie lässt sich dieses vorhaben am besten lösen? Ich habe schon viel herumgestöbert… bin auch nun so weit, dass ich via node Red einen HTTP Post Request mache mit dem Brightness wert, wecher dann in den Body übernommen wird... jedoch schreibt er dann scheinbar nur zb. "123" in den Body... das Gerät erwartet aber value=123, wie kann ich die Nachricht denn entsprechend anpassen (falls der node red weg überhaupt der richtige ist)
-
ich bin mir bisher nicht sicher wie das funktioniert, ich kann bisher über das + nur Objekte anlegen `
Wenn du dieses Objekt auswählst un nochmal das (+) klickst kannst du da einen state anlegen und das "alte" Objekt verwandelt sich in einen Ordner.Gruß
Rainer
-
Das ist super! Danke.
Wie kann ich die an die HTTP Request Node gesendeten Daten ändern?
Ich habe ein Objekt mit dem Wert 0-255, ich möchte dass an der HTTP Node aber "value=255" ankommt und nicht nut "255".
-
bin jetzt nicht an der Installation.
Aber irgendwo kannst du einstellen ob die payload = payload oder value sein soll
Gruß
Rainer
-
Anpassen kann man dies, jedoch nicht nach meinem Wunsch. der msg.payload soll lauten "value=xxx" und nicht "xxx". Der Webserver, welcher den HTTP Post empfängt reagiert nur, wenn ich "value=xxx" sende nicht aber bei "xxx", ich müsste also nur das "value=" voranstellen… aber ich komme selbst nach zwei Tagen Recherche nicht dahinter, wie ich das mache...
-
Ich benutze node-red selbst nicht, aber da gibts doch bestimmt einen Funktionsblock, in dem man JS eingeben kann. Dann würde sowas gehen:
function (input) { return "value=" + input; }
Den hängst du dann zwischen das Einlesen der Variable und den Request.
-
Mit Node Red ging das recht einfach.
Ich weiss nur nicht mehr wie, da ich das jetzt länger nicht mehr benutze.
Eine Alternative per Javascript: