Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Ausführen von aktualisierendem JavaScript Code

    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

    Ausführen von aktualisierendem JavaScript Code

    This topic has been deleted. Only users with topic management privileges can see it.
    • _
      _techniker_ @DeeJayDave last edited by

      @deejaydave said in Ausführen von aktualisierendem JavaScript Code:

      Keiner ne Idee dazu? 😞

      Sieht so aus. Schade. 😞

      _ 1 Reply Last reply Reply Quote 0
      • _
        _techniker_ @_techniker_ last edited by _techniker_

        @_techniker_

        http://192.168.*.*/a?f=j
        

        Mit diesem Befehl lese ich die Daten aus und bekomme:

        cnt " 23559,653"
        pwr 661
        lvl 24
        dev "(±0%)"
        det ""
        con ""
        sts ""
        cs0 " 0,000"
        ps0 0
        raw 221

        Evtl liegt es ja an " "
        Nur wie bekomme ich das weg?

        1 Reply Last reply Reply Quote 0
        • D
          DeeJayDave last edited by

          So wie es aussieht, werden wir mit diesem Fehler leben müssen 😞

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @DeeJayDave last edited by

            @deejaydave sagte in Ausführen von aktualisierendem JavaScript Code:

            So wie es aussieht, werden wir mit diesem Fehler leben müssen 😞

            Nein, müsst ihr nicht. Die Lösung ist aber extrem einfach:

            An Stelle von

            setState('Zählerstand', obj.cnt, true);
            setState('Aktuelle_Leistung', obj.pwr, true);
            
            setState('Zählerstand',parseFloat( obj.cnt), true);
            setState('Aktuelle_Leistung', parseFloat(obj.pwr), true);
            
            _ 1 Reply Last reply Reply Quote 0
            • D
              DeeJayDave last edited by

              @asgothian Danke dir für die Rückmeldung. Ich hab das Blockly-Skript von "eierfeile" nachgebaut und so sieht mein javaskript aus:

              var result;

              schedule("*/5 * * * * *", async function () {
                try {
                  require("request")('http://192.168.178.73/a?f=j', async function (error, response, result) {
                    setState("0_userdata.0.Youless_Gesamtverbrauch"/*Youless_Gesamtverbrauch*/, getAttr((function () { try {return JSON.parse(result);} catch(e) {return {};}})(), 'cnt'));
                  setState("0_userdata.0.Youless_Momentanverbrauch"/*Youless_Momentanverbrauch*/, getAttr((function () { try {return JSON.parse(result);} catch(e) {return {};}})(), 'pwr'));
                  setState("0_userdata.0.Youless_Signalstaerke"/*Youless_Signalstaerke*/, getAttr((function () { try {return JSON.parse(result);} catch(e) {return {};}})(), 'lvl'));
                  }).on("error", function (e) {console.error(e);});
                } catch (e) { console.error(e); }
              });
              

              Könntest du mir verraten wo und wie ich das in dieses Skript einbauen soll? Danke im Voraus 🙂

              Asgothian 1 Reply Last reply Reply Quote 0
              • Asgothian
                Asgothian Developer @DeeJayDave last edited by

                @deejaydave

                Das parsefloat muss um die getattr Aufrufe herum gesetzt werden.

                A.

                D 1 Reply Last reply Reply Quote 0
                • D
                  DeeJayDave @Asgothian last edited by

                  @asgothian Verstehe, danke. Aber in meinem Fall (ich nutze Blockly) kann ich es gar nicht einfügen. Also müsste ich das Blockly-Skript löschen und stattdessen ein Javaskript aufsetzen? Oder gibt es eine Möglichkeit den parsefloat im Blockly einzusetzen?

                  Asgothian 1 Reply Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @DeeJayDave last edited by

                    @deejaydave Es gibt einen Konvertierungsbaustein (bei mir im englischen toNumber) den du da vor einhängen kannst.

                    A.

                    D 1 Reply Last reply Reply Quote 1
                    • D
                      DeeJayDave @Asgothian last edited by

                      @asgothian Manchmal sieht man den Wald vor lauter Bäumen nicht. Danke!

                      1 Reply Last reply Reply Quote 0
                      • _
                        _techniker_ @Asgothian last edited by

                        @asgothian said in Ausführen von aktualisierendem JavaScript Code:

                        @deejaydave sagte in Ausführen von aktualisierendem JavaScript Code:

                        So wie es aussieht, werden wir mit diesem Fehler leben müssen 😞

                        Nein, müsst ihr nicht. Die Lösung ist aber extrem einfach:

                        An Stelle von

                        setState('Zählerstand', obj.cnt, true);
                        setState('Aktuelle_Leistung', obj.pwr, true);
                        
                        setState('Zählerstand',parseFloat( obj.cnt), true);
                        setState('Aktuelle_Leistung', parseFloat(obj.pwr), true);
                        

                        Bekomme ich weiterhin die Fehlermeldung von influxdb.

                        Do not store value " 23457,173" for javascript.0.Zählerstand because no number

                        1 Reply Last reply Reply Quote 0
                        • B
                          Bruchpilot87 last edited by Bruchpilot87

                          Guten Abend in die Runde,

                          ich visualisiere die Werte aus der influxdb in Grafana. Leider habe ich Probleme den Gesamtverbrauch in Grafana zu visualisieren. Im IOBroker Adapter sehe ich den aktuellen Wert als Objekt. Nur kann ich in Grafana diesen Wert nicht einlesen. Folgenden Fehler erhalte ich in Grafana -> InfluxDB Error: unsupported mean iterator type: *query.stringInterruptIterator

                          Jemand eine Idee?

                          Gruß
                          Christian

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          789
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          14
                          32
                          5509
                          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