NEWS
Abruf von JSON vom Truckstick
-
Hallo Zusammen,
im TruckiStick (https://github.com/trucki-eu/Trucki2Shelly-Gateway) gibt es zwar einen MQTT Server der liefert jedoch einen Wert nicht (VBat cutoff).
Ich bin inzwischen soweit, dass http://192.168.x.xxx/json das man den Wert dort abrufe kann, also möchte ich diesen Wert per Script abrufen und in eine Variable schreiben. Leider habe ich sonst immer Blockly genutzt und das ist hier vermutlich fehl am Platz.Ich würde mich daher freuen wenn mir jemand bei JavaScript helfen könnte. Bisher bin ich soweit gekommen: Ein Wert kommt leider noch nicht raus.
Spannend wäre in dem Kontext dann auch gleich die andere Richtung den Wert zu schreiben.const axios = require('axios'); const { setState } = require('iobroker.js-controller'); let vBatCutoffValue; function getData() { axios.get('http://192.168.x.xxx/json') .then(response => { vBatCutoffValue = response.data.VBATCUTOFF; console.log("VBat Cutoff-Wert:", vBatCutoffValue); // Wert in das Objekt javascript.0.Testwert.1 schreiben setState('javascript.0.Testwert.1', vBatCutoffValue); }) .catch(error => { console.error('Fehler beim Abrufen der Daten:', error); }); } // Daten zuerst abrufen getData(); // Daten alle 30 Sekunden aktualisieren setInterval(getData, 30000); // 30 Sekunden in Millisekunden -
Hab zwar schon einen anderen Weg über die Instanz von Parser gefunden, es würde mich dennoch interessieren wie es funktioniere könne :)
-
Hallo Zusammen,
im TruckiStick (https://github.com/trucki-eu/Trucki2Shelly-Gateway) gibt es zwar einen MQTT Server der liefert jedoch einen Wert nicht (VBat cutoff).
Ich bin inzwischen soweit, dass http://192.168.x.xxx/json das man den Wert dort abrufe kann, also möchte ich diesen Wert per Script abrufen und in eine Variable schreiben. Leider habe ich sonst immer Blockly genutzt und das ist hier vermutlich fehl am Platz.Ich würde mich daher freuen wenn mir jemand bei JavaScript helfen könnte. Bisher bin ich soweit gekommen: Ein Wert kommt leider noch nicht raus.
Spannend wäre in dem Kontext dann auch gleich die andere Richtung den Wert zu schreiben.const axios = require('axios'); const { setState } = require('iobroker.js-controller'); let vBatCutoffValue; function getData() { axios.get('http://192.168.x.xxx/json') .then(response => { vBatCutoffValue = response.data.VBATCUTOFF; console.log("VBat Cutoff-Wert:", vBatCutoffValue); // Wert in das Objekt javascript.0.Testwert.1 schreiben setState('javascript.0.Testwert.1', vBatCutoffValue); }) .catch(error => { console.error('Fehler beim Abrufen der Daten:', error); }); } // Daten zuerst abrufen getData(); // Daten alle 30 Sekunden aktualisieren setInterval(getData, 30000); // 30 Sekunden in Millisekunden@robbsen
Deine lokalen IP's musst Du nicht X'en. Die sehen bei allen gleich aus.@robbsen sagte in Abruf von JSON vom Truckstick:
Leider habe ich sonst immer Blockly genutzt und das ist hier vermutlich fehl am Platz.
Geht mit Blockly genau so gut.
Wie sieht denn das JSON aus?
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden