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. XML aus ALL3690 auslesen und Datenpunkte auslesen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

XML aus ALL3690 auslesen und Datenpunkte auslesen

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
8 Beiträge 2 Kommentatoren 520 Aufrufe 2 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
    rvbrocken
    schrieb am zuletzt editiert von rvbrocken
    #1

    Hallo,

    ich bin absoluter Anfänger, konnte aber schon ein paar einfache DInge umsetzen.

    Nun würde ich gern mein Allet 3690 einbinden.

    XML Abfrage mit Praser bekomme ich hin:

    <sensors>
    <sensor>
    <id>1</id>
    <name>Phase L1</name>
    <current>2.72</current>
    <unit>A</unit>
    <minmax>
    <today>
    <min>
    <value>2.68</value>
    <date>11.05.2021 06:04:35</date>
    <timestamp>1620705875</timestamp>
    </min>
    .... usw.

    XML2JSON habe ich installiert.

    Nun wäre ein Beispiel Skript Klasse.
    Ich möchte die Daten abrufen und in die Datenbank schreiben um diese z.B. als Kurve auszugeben.

    Über Hilfe würde ich mich freuen.

    Vg

    TheBamT 1 Antwort Letzte Antwort
    0
    • R rvbrocken

      Hallo,

      ich bin absoluter Anfänger, konnte aber schon ein paar einfache DInge umsetzen.

      Nun würde ich gern mein Allet 3690 einbinden.

      XML Abfrage mit Praser bekomme ich hin:

      <sensors>
      <sensor>
      <id>1</id>
      <name>Phase L1</name>
      <current>2.72</current>
      <unit>A</unit>
      <minmax>
      <today>
      <min>
      <value>2.68</value>
      <date>11.05.2021 06:04:35</date>
      <timestamp>1620705875</timestamp>
      </min>
      .... usw.

      XML2JSON habe ich installiert.

      Nun wäre ein Beispiel Skript Klasse.
      Ich möchte die Daten abrufen und in die Datenbank schreiben um diese z.B. als Kurve auszugeben.

      Über Hilfe würde ich mich freuen.

      Vg

      TheBamT Offline
      TheBamT Offline
      TheBam
      schrieb am zuletzt editiert von
      #2

      @rvbrocken
      Für xml2json gibt es doch auf der github /npm Seite ein Beispiel was brauchst du denn da noch genauer?

      1 Antwort Letzte Antwort
      0
      • R Offline
        R Offline
        rvbrocken
        schrieb am zuletzt editiert von
        #3

        @thebam

        Moin,

        ich bin einen Schrittweiter. Der Allnet kann doch JSON.

        Ich kann die Daten auslesen. aber mein Objekt wir nicht aktualisiert.

        d1276ab3-bccc-49d2-b311-fd4356e93ad3-grafik.png

        af35aa3e-36a8-4b73-b3b6-18dfb19444ba-grafik.png

        TheBamT 1 Antwort Letzte Antwort
        0
        • R rvbrocken

          @thebam

          Moin,

          ich bin einen Schrittweiter. Der Allnet kann doch JSON.

          Ich kann die Daten auslesen. aber mein Objekt wir nicht aktualisiert.

          d1276ab3-bccc-49d2-b311-fd4356e93ad3-grafik.png

          af35aa3e-36a8-4b73-b3b6-18dfb19444ba-grafik.png

          TheBamT Offline
          TheBamT Offline
          TheBam
          schrieb am zuletzt editiert von
          #4

          @rvbrocken
          Also zum einen hast du keinn Trigger angelegt also etwas was dir züglich den Wert abholt. Somit wird es glaube ich nur einmal abgeholt und ich bin mir auch nicht sicher ob das Zahl nach stimmt. Kannst du das noch mal als JS zeigen?

          1 Antwort Letzte Antwort
          0
          • R Offline
            R Offline
            rvbrocken
            schrieb am zuletzt editiert von
            #5

            @thebam

            Danke für die Antwort.

            Zahl steht drin, da sonst ein Fehler kommt.
            You are assigning a object to the state "0_userdata.0.Test.TestValue" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become

            var L1_Leistung;

            try {
            require("request")('http://192.168.170.74/xml/json.php?mode=all&id=103', async function (error, response, result) {
            console.log(getAttr((function () { try {return JSON.parse(L1_Leistung);} catch(e) {return {};}})(), '0.value'));
            setState("0_userdata.0.Test.TestValue"/0_userdata.0.Test.TestValue/, parseFloat(L1_Leistung), true);
            }).on("error", function (e) {console.error(e);});
            } catch (e) { console.error(e); }
            console.log("request: " + 'http://192.168.170.74/xml/json.php?mode=all&id=103');

            TheBamT 1 Antwort Letzte Antwort
            0
            • R rvbrocken

              @thebam

              Danke für die Antwort.

              Zahl steht drin, da sonst ein Fehler kommt.
              You are assigning a object to the state "0_userdata.0.Test.TestValue" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become

              var L1_Leistung;

              try {
              require("request")('http://192.168.170.74/xml/json.php?mode=all&id=103', async function (error, response, result) {
              console.log(getAttr((function () { try {return JSON.parse(L1_Leistung);} catch(e) {return {};}})(), '0.value'));
              setState("0_userdata.0.Test.TestValue"/0_userdata.0.Test.TestValue/, parseFloat(L1_Leistung), true);
              }).on("error", function (e) {console.error(e);});
              } catch (e) { console.error(e); }
              console.log("request: " + 'http://192.168.170.74/xml/json.php?mode=all&id=103');

              TheBamT Offline
              TheBamT Offline
              TheBam
              schrieb am zuletzt editiert von
              #6

              @rvbrocken
              Was zeigt denn der consolen Log? Kommt da ein Wert?

              1 Antwort Letzte Antwort
              0
              • R Offline
                R Offline
                rvbrocken
                schrieb am zuletzt editiert von
                #7

                @thebam

                Hallo,

                ich habe es gefunden. In der Variable steht immer der komplette Datensatz.

                Es muß also immer die Abfrage mit Attribut verwendet werden.

                054c06c4-1e1d-479d-9f3d-5360eb32c131-grafik.png

                Jetz kommt noch ein Trigger. ;-)

                Danke.

                TheBamT 1 Antwort Letzte Antwort
                0
                • R rvbrocken

                  @thebam

                  Hallo,

                  ich habe es gefunden. In der Variable steht immer der komplette Datensatz.

                  Es muß also immer die Abfrage mit Attribut verwendet werden.

                  054c06c4-1e1d-479d-9f3d-5360eb32c131-grafik.png

                  Jetz kommt noch ein Trigger. ;-)

                  Danke.

                  TheBamT Offline
                  TheBamT Offline
                  TheBam
                  schrieb am zuletzt editiert von
                  #8

                  @rvbrocken
                  Ja das macht Sinn. Sah auch so aus das etwas fehlt konnte aber nicht genau sagen was wenn es jetzt klappt um so besser

                  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

                  477

                  Online

                  32.4k

                  Benutzer

                  81.5k

                  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