Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [gelöst] Zugriff auf json-Wert eines Objektes

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    883

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
3 Beiträge 2 Kommentatoren 426 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • R Offline
    R Offline
    Ralf 8
    schrieb am zuletzt editiert von Ralf 8
    #1

    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

    paul53P 1 Antwort Letzte Antwort
    0
    • R 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

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @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);
      });
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      R 1 Antwort Letzte Antwort
      0
      • paul53P 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 Offline
        R Offline
        Ralf 8
        schrieb am zuletzt editiert von
        #3

        @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 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        721

        Online

        32.6k

        Benutzer

        82.1k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe