Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [gelöst] Zugriff auf json-Wert eines Objektes

    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

    [gelöst] Zugriff auf json-Wert eines Objektes

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Ralf 8 last edited by Ralf 8

      Hallo, ich beschäftige mich ganz neu mit ioBroker,
      da ich meine Ecoflow Balkonsolaranlage mit dem Energieverbrauch meiner Wohnung synchronisieren möchte.

      Dafür gibt es ja sogar ein fertiges Script. Da ich aber noch ganz am Anfang stehe, überfordert mich das noch.
      Auch die verschiedenen Tutorials sind so gefüllt mit Infos, dass ich die Übersicht verliere.

      Daher habe ich am Wochenende versucht, nur die grundlegenen 2 Werte, die ich benötige, zu bearbeiten,
      nämlich die Energieabgabe aus dem Ecoflow ("permanentWatts") und den Energieverbrauch aus einem Shelly ("Current" und "Voltage")

      Es ist mir gelungen diesen EcoFlow-Adapter zu installieren:
      iobroker.ecoflow-mqtt

      Die Stromabgabe kann ich einfach mit JS einstellen, hier im Beispiel wird der Wert auf 50 Watt gestellt:

      setState("ecoflow-mqtt.0.HW51xxxxxx.inverter_heartbeat.permanentWatts", 50);
      

      Leider konnte ich meine Shellys nicht mit dem Shelly-Adapter verbinden.
      "Verbunden mit Gerät oder Dienst" bleibt immer Rot, obwohl Verbunden mit Host und Lebenszeichen grün anzeigen.

      Über MQTT konnte ich aber eine Verbindung herstellen. Es wird ein ausführlicher Baum an Variablen angezeigt, genau wie beim Abrufen der Daten über einen Http Request http://192.168.xxx.xxx/rpc/Shelly.GetStatus.

      Wie kann ich jetzt aber "Current" und "Voltage" aus switch.0 in einem Java Script abrufen?
      Unten habe ich einen Screenshot der Objekte angefügt.

      Vielen Dank für eure Hilfe

      Ralf

      Current.jpg

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Ralf 8 last edited by paul53

        @ralf-8 sagte: "Current" und "Voltage" aus switch.0 in einem Java Script abrufen?

        Ist nicht "apower" besser geeignet? Andernfalls müsste noch der Power Factor (pf) berücksichtigt werden.

        const idJSON = 'mqtt.0...'; 
        const idPower = '0_userdata.0...';
        
        on(idJSON, function(dp) {
           const obj = JSON.parse(dp.state.val);
           setState(idPower, obj.apower, true);
        });
        
        R 1 Reply Last reply Reply Quote 0
        • R
          Ralf 8 @paul53 last edited by

          @paul53 sagte in Zugriff auf json-Wert eines Objektes:

          obj.apower

          Vielen Dank. Den Wert apower habe ich übersehen, ich dachte, ich müsste Current und Voltage selbst multiplizieren.

          Mir war auch überhaupt nicht klar war, wie ich die Werte im JSON abfragen kann.

          Der erste Test hat so funktioniert, das ist mal ein guter Anfang:

          const idJSON = 'mqtt.0.shellyplus2pm-MACADRESSE.status.switch:0'; 
          on(idJSON, function(dp) {
             const obj = JSON.parse(dp.state.val);
             console.log(obj.apower)
          });
          

          Jetzt muss ich nur noch verstehen, wie oft eine Änderung zurückgemeldet wird,
          da es sicher nicht gut ist, zu schnell immer wieder die Einstellung des Ecoflow-Wechselrichters zu ändern.
          Vielleicht könnte ich eine Mindest-Zeit und für apower eine Mindest-Differenz vorgeben bevor die Einstellung geändert wird?

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

          Support us

          ioBroker
          Community Adapters
          Donate

          975
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          278
          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