Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Erstellen/Setzen Datenpunkt aus JSON in eigener Funktion

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Erstellen/Setzen Datenpunkt aus JSON in eigener Funktion

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      ah966 last edited by

      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 nach

      else{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

      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      834
      Online

      31.8k
      Users

      80.0k
      Topics

      1.3m
      Posts

      1
      1
      970
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo