NEWS
[gelöst] Axios implementieren
-
@haus-automatisierung stehe gerade auf dem schlauch:
Wenn ich das Beispiel sehen:curl -X POST "http://[WLED-IP]/json/state" -d '{"on":"t","v":true}' -H "Content-Type: application/json"
wie würde ich es denn mit axios ersetzen?
Habe das mal so ähnlich vorbereitet, was ich vor habe:const host = "http://192.168.2.142/json/state" const segmentObject = { "seg": [{ "start": 0, "stop": 20, "len": 20, }] }; import axios from 'axios'; axios({ method: 'post', url: host, data: segmentObject });
und bekomme zusätzlich nochden Fehler:
Cannot find module 'axios' or its corresponding type declarations.
-
@ben1983
require
nichtimport
-
@ticaki dann bekomme ich:
ok. hatte mich schon gewundert... Aber bin heute echt nicht auf der höhe.Also so?:
const host = "http://192.168.2.142/json/state" const segmentObject = { "seg": [{ "start": 0, "stop": 30, "len": 30, }] }; const axios = require('axios'); axios({ method: 'post', url: host, data: segmentObject });
-
@ben1983
Versuch's mal so:const host = "http://192.168.2.142/json/state" const axios = require('axios'); const segmentObject = { "seg": [{ "start": 0, "stop": 30, "len": 30, }] }; async function getData() { const response = await axios.post(host, segmentObject); console.log(JSON.stringify(response)); } getData();
-
@codierknecht Danke, aber meine Version hat zumindest in Sachen Schreiben auf funktioniert.
-
-
@codierknecht Oh, sorry. das war ein Falscher Text.
-
@codierknecht Es funktioniert zwar alles.
In deiner Version ist natürlich die Sache noch etwas schöner.
(Muss allerdings response.data loggen, nicht nur response).Allerding bekomme ich beim require('axios') noch die Meldung:
Cannot find module 'axios' or its corresponding type declarations.
Was kann das noch sein?
-
@ben1983 sagte in [gelöst] Axios implementieren:
Allerding bekomme ich beim require('axios') noch die Meldung:
Aber nur im Editor. Wird da gekringelt und angemeckert, funzt aber einwandfrei.
Mit der Macke muss man entweder leben oder den Editor dazu zwingen ihn zu ignorieren:// @ts-ignore const axios = require('axios');
-
@ben1983
Ja, aber wie oben geschrieben,wenn du den wled adapter von mir nimmst, gibt es einen State in dem du das Json rein wirst und es wird dann über die websocket verbindung vom wled adapter versendet:https://github.com/ticaki/ioBroker.wled
Die PR ist ist beim Dutchman eingereicht, mal sehen wann er es added.
mich hats genervt das "an" "helligkeit" "preset" in 3 Stufen ausgeführt wird... Deshalb nen State eingebaut dem ich dann so die Daten übergebe:
setState(`${light.id}.action`, JSON.stringify({ "bri": bri, "on": lOn, 'ps': cArray[2], 'transition': 1 }))
Das sollte auch für Steuerung von einzelnen LED's gut sein.