NEWS
Erstellen/Setzen Datenpunkt aus JSON in eigener Funktion
-
Hallo,
ich würde gerne meine Beregnung über ioBroker steuern, zumindest mal die Werte anzeigen lassen.
Per Request und API-Key komme ich an die JSON dran, müsste aber dann prüfen, ob der Datenpunkt existiert, ggf anlegen und dann befüllen.
Als absoluter Anfänger in Javascript komme ich leider nicht damit klar, wie ich z.B. die JSON-Daten aus einer Funktion übergebe. Mit return klappts wohl zeitlich nicht, mit callback hat es auch nicht hingehauen (Ausgabe: [object Object]).Am liebsten hätte ich eine Funktion, die mir die Daten abruft (request).
Und eine andere, die prüft, ob es den DP schon gibt, ggf anlegt und den Wert reinsetzt.
D.h. an letztere müsste ich mindestens dpname, dptype und dpvalue übergeben.Der Aufruf sollte dann ähnlich dem aussehen:
setBeregnungDP("watering_time", "string", obj.watering_time);Leider hat es bisher nur zu dem gereicht:
var apiurl = "https://app.hydrawise.com/api/v1/statusschedule.php?api_key=" + apikey + "&tag=hydrawise_all"; function getHydraData() { var request = require('request'); request(apiurl, function (error, response, body) { if (!error && response.statusCode == 200) { var obj = JSON.parse(body); setState('javascript.0.hydrawise.watering_time', obj.watering_time); } else { log("Error = " + error); } }); } getHydraData();Ich hätte sehr gerne das hier genommen:
https://forum.iobroker.net/topic/13018/json-werte-in-datenpunkte/5
aber auf meine Sache angepasst springt er immer nachelse{console.warn('Response in JSON nicht gefunden ! ')}Kann mir jemand Hilfestellung geben, wie so etwas sauber und übersichtlich gelöst werden kann?
Optimal wäre natürlich eine Schleife um alle möglichen Datenpunkte abzuklappern...Viele Grüße,
Andreas
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