Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. HowTo: Zusatz-Programme fuer jarvis v3

    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

    HowTo: Zusatz-Programme fuer jarvis v3

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      wolfi913 @MCU last edited by wolfi913

      @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

      @wolfi913 Kann man da bzgl der Anzahl in der InfluxDB-Instanz etwas einstellen?

      Ich hab leider nichts in den Instanzeinstellungen gefunden.

      Bei der Anzeige vom Average ohne Einheit hat er noch zu wenig Platz.
      109a272a-dbaa-4164-8a2b-409b9b755a29-image.png

      Da schneidet das Popup tatsächlich (nicht immer) etwas weg. Hab kein Muster (außer das scheinbar immer auf 3 Nachkommastellen gerundet ist [Edit: Ah, hab gefunden warum avgValue.toFixed(3)]) erkennen können an was es liegen könnte.
      Hier ein paar Beispiele:
      Screenshot 2024-05-06 201952.png Screenshot 2024-05-06 202012.png Screenshot 2024-05-06 202032.png Screenshot 2024-05-06 202055.png

      M 1 Reply Last reply Reply Quote 0
      • M
        MCU @wolfi913 last edited by MCU

        @wolfi913 Das ist für die Nachkommastellen zuständig, aber grundsätzlich soll genug Platz da sein, er errechnet pro Zeichen die Pixel hoch.

        Weiss nicht ob es bei Dir auch zeile 1500 ist
        4e1acbdc-7d59-414f-b347-aa9f97249e36-image.png
        dataLen ist die Länge vom "String" der Zahl mit Einheit.
        evtl 3-> 4 erhöhen?

        W 1 Reply Last reply Reply Quote 0
        • W
          wolfi913 @MCU last edited by wolfi913

          @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

          evtl 3-> 4 erhöhen?

          Bringt leider keine Änderung
          Edit:
          Erst ab 8* würde es bei allen Fällen passen

          M 1 Reply Last reply Reply Quote 0
          • M
            MCU @wolfi913 last edited by

            @wolfi913 Ok auch nicht zu viel? Dann passe ich es so an. Danke.

            W 1 Reply Last reply Reply Quote 0
            • W
              wolfi913 @MCU last edited by wolfi913

              @mcu
              Meine jetzt doch noch ein Muster erkannt zu haben. Liegt evtl. an der Anzeige der Nachkommastellen in der y-Achse.
              Screenshots mach ich gleich noch
              ohne Nachkommastellen
              Screenshot 2024-05-06 204834.png Screenshot 2024-05-06 204926.png
              mit Nachkommastellen
              Screenshot 2024-05-06 204905.png Screenshot 2024-05-06 204955.png

              M 1 Reply Last reply Reply Quote 0
              • M
                MCU @wolfi913 last edited by

                @wolfi913 Hab jetzt noch die Nachkommazahlen berücksichtigt.
                Neue Version v1.0.3, probiere mal.

                28159627-7242-4b52-b0db-1c1310dd73ed-image.png

                W 1 Reply Last reply Reply Quote 0
                • W
                  wolfi913 @MCU last edited by wolfi913

                  @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                  @wolfi913 Hab jetzt noch die Nachkommazahlen berücksichtigt.
                  Neue Version v1.0.3, probiere mal.

                  Hab's bei mir gleich ausprobiert.
                  Hatte zuerst bei einem Chart noch links einen Cut in der Anzeige.
                  Nach Änderung auf

                  	html += '           console.log("gridLeft: "+(10+ (8*'+dataLen+'))); '
                  	html += '           gridLeft = 10+ (8*'+dataLen+');'
                  

                  schaut's jetzt so aus:
                  Screenshot 2024-05-07 003730.png Screenshot 2024-05-07 003750.png Screenshot 2024-05-07 003809.png Screenshot 2024-05-07 003840.png
                  Würde sagen das passt hervorragend.
                  Hab's mit Edge, Firefox undunter Windows, im Fully auf dem Tablet und auf dem iPhone gecheckt. Schaut überall gleich gut aus.
                  Vielen Dank. 👍

                  M 1 Reply Last reply Reply Quote 1
                  • M
                    MCU @wolfi913 last edited by

                    @wolfi913 Passe ich an. Danke.

                    W 2 Replies Last reply Reply Quote 1
                    • W
                      wolfi913 @MCU last edited by

                      @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                      @wolfi913 Passe ich an. Danke.

                      Super, und nochmal vielen Dank 👍

                      1 Reply Last reply Reply Quote 0
                      • W
                        wolfi913 @MCU last edited by

                        @mcu
                        Hätte in einem früheren Post im Forum zwecks der Einschränkung auf 500 Datensätze bei der influxDB gefunden, falls Du's noch brauchen kannst. Kann aber nicht sagen, ob das noch aktuell ist.
                        https://forum.iobroker.net/post/568705

                        1 Reply Last reply Reply Quote 0
                        • M
                          MCU last edited by

                          @wolfi913 Hab gerade kein InfluxDB integriert. Kannst du es mal testen.

                          javascript-echartshistorygetdata-v1.0.4

                          a5ab9232-2f7a-4c0c-976c-1d2aa4b14963-image.png

                                      limit: dataLimitValue,
                                      //aggregate: 'max', //onchange
                                      ignoreNull: true,
                                      count : dataLimitValue
                          
                          W 1 Reply Last reply Reply Quote 0
                          • W
                            wolfi913 @MCU last edited by wolfi913

                            @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                            @wolfi913 Hab gerade kein InfluxDB integriert. Kannst du es mal testen.

                            Funktioniert auf Anhieb 😊 👍
                            Influxdb
                            Screenshot 2024-05-07 163830.png
                            History
                            Screenshot 2024-05-07 164437.png
                            Ganz passt's bei mir noch nicht. Aber die Werte sind jetzt bei 5000.
                            Ich probier mal die Abweichung im blauen Bereich durch Hochsetzen vom limit noch zu verbessern.

                            M 1 Reply Last reply Reply Quote 1
                            • M
                              MCU @wolfi913 last edited by MCU

                              @wolfi913 Da scheint es ein Problem bei influxDB zu geben? Normalerweise sollten die DB's alle gleiche Werte rückmelden.

                              Sind die Einstellungen für history und influxDB gleich? Oder loggt influxDB mehr Werte als history?

                              Vielleicht muss man bei influxDB count nutzen und bei history limit?
                              Einfach limit ausblenden mit

                              //  limit: dataLimitValue,
                              

                              -> history evtl falsch, aber wie sieht es bei influxDB aus?

                              W 2 Replies Last reply Reply Quote 0
                              • W
                                wolfi913 @MCU last edited by

                                @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                Sind die Einstellungen für history und influxDB gleich? Oder loggt influxDB mehr Werte als history?

                                Eigentlich nicht, bei history ist zwar eine Entprellzeit von 1000ms drin. Sollte aber nicht's ausmachen da die Werte in der Regel alle 10sec kommen.

                                1 Reply Last reply Reply Quote 0
                                • W
                                  wolfi913 @MCU last edited by

                                  @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                  //  limit: dataLimitValue,
                                  

                                  Mach keinen Unterschied. Irgendwie sind in der influxDB mehr Werte drin. Mit 7000 funktionierts.
                                  Screenshot 2024-05-07 170256.png

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    MCU @wolfi913 last edited by MCU

                                    @wolfi913
                                    Das ist ja nicht zielführend, da, wenn du 2 Tage wählst, wieder nicht alles angezeigt wird?

                                    EDIT: Du kannst mal die influxDB-Instanz auf debug stellen, und dann bei jarvis ein Refresh durchführen.
                                    -> LOG query Aufruf zu DB wird angezeigt.

                                    // Es kommen Einträge mit 
                                    History-Queries to execute:
                                    

                                    @apollon77 limit zieht nicht für influxDB? (Bei historyDB ist alles ok)

                                    0_userdata.0.PV.SignedBat17150970902550.21461031104686312 getHistory message: {"id":"0_userdata.0.PV.SignedBat","options":{"start":1715010686903,"end":1715097086903,"aggregate":"onchange","limit":5000,"ignoreNull":true}}
                                    

                                    Es werden bei limit: 5000, nur 502 angzeigt. Setzt man zusätzlich count: 5000, werden auch aus influxDB 5000 geholt, aber wenn mehr vorhanden sind wird die Kurve abgebrochen.
                                    -> limit scheint fest im Adapter definiert zu sein bei influxDB.

                                    Issue aufmachen?

                                    // Hiernach sollte es egal sein, ob limit oder count gesetzt wird 
                                    
                                    limit:      parseInt(msg.message.options.limit, 10) || parseInt(msg.message.options.count, 10) || adapter.config.limit || 2000,
                                    
                                    // hiernach sollte er bei onchange limit nutzen, wenn count nicht gesetzt
                                    
                                    if (!options.count || isNaN(options.count)) {
                                            if (options.aggregate === 'none' || options.aggregate === 'onchange') {
                                                options.count = options.limit;
                                            } else {
                                                options.count = 500;
                                            }
                                        }
                                    
                                    W apollon77 2 Replies Last reply Reply Quote 0
                                    • W
                                      wolfi913 @MCU last edited by wolfi913

                                      @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                      @wolfi913
                                      Das ist ja nicht zielführend, da, wenn du 2 Tage wählst, wieder nicht alles angezeigt wird?

                                      EDIT: Du kannst mal die influxDB-Instanz auf debug stellen, und dann bei jarvis ein Refresh durchführen.
                                      -> LOG query Aufruf zu DB wird angezeigt.

                                      // Es kommen Einträge mit 
                                      History-Queries to execute:
                                      

                                      Ich hab's mal bei 5000 im Script eingestellt. Im Log (Debug) stehen:

                                      Incoming message getHistory from system.adapter.javascript.0
                                      0_userdata.0.PV.SignedBat17150961902120.559960672577708 getHistory message: {"id":"0_userdata.0.PV.SignedBat","options":{"start":1715009786818,"end":1715096186818,"aggregate":"onchange","limit":5000,"ignoreNull":true,"count":5000}}
                                      Query to execute: from(bucket: "iobroker_short") |> range(start: 2024-05-06T15:36:26.818Z, stop: 2024-05-07T15:36:26.818Z) |> filter(fn: (r) => r["_field"] == "value") |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.PV.SignedBat" and contains(value: r._value, set: [true, false])) |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value") |> group()
                                      Query to execute: from(bucket: "iobroker_short") |> range(start: 2024-02-04T15:36:26.818Z, stop: 2024-05-06T15:36:26.817Z) |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.PV.SignedBat") |> last() |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
                                      Query to execute: from(bucket: "iobroker_short") |> range(start: 2024-05-06T15:36:26.818Z, stop: 2024-05-07T15:36:26.818Z) |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.PV.SignedBat") |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value") |> group() |> sort(columns:["_time"], desc: false) |> limit(n: 5000)
                                      Query to execute: from(bucket: "iobroker_short") |> range(start: 2024-05-07T15:36:26.819Z) |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.PV.SignedBat") |> first() |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
                                      Send: 5002 of: 5001 in: 130ms
                                      
                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        MCU @wolfi913 last edited by MCU

                                        @wolfi913 Und jetzt mal ohne count (bzw. null), da war das Problem aufgetaucht.

                                        W 1 Reply Last reply Reply Quote 0
                                        • W
                                          wolfi913 @MCU last edited by

                                          @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                          @wolfi913 Und jetzt mal ohne count (bzw. null), da war das Problem aufgetaucht.

                                          Incoming message getHistory from system.adapter.javascript.0
                                          0_userdata.0.PV.SignedBat17150967602230.6250690538939112 getHistory message: {"id":"0_userdata.0.PV.SignedBat","options":{"start":1715010356877,"end":1715096756877,"aggregate":"onchange","limit":5000,"ignoreNull":true,"count":null}}
                                          Query to execute: from(bucket: "iobroker_short") |> range(start: 2024-05-06T15:45:56.877Z, stop: 2024-05-07T15:45:56.877Z) |> filter(fn: (r) => r["_field"] == "value") |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.PV.SignedBat" and contains(value: r._value, set: [true, false])) |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value") |> group()
                                          Query to execute: from(bucket: "iobroker_short") |> range(start: 2024-02-04T15:45:56.877Z, stop: 2024-05-06T15:45:56.876Z) |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.PV.SignedBat") |> last() |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
                                          Query to execute: from(bucket: "iobroker_short") |> range(start: 2024-05-06T15:45:56.877Z, stop: 2024-05-07T15:45:56.877Z) |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.PV.SignedBat") |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value") |> group() |> sort(columns:["_time"], desc: false) |> limit(n: 500)
                                          Query to execute: from(bucket: "iobroker_short") |> range(start: 2024-05-07T15:45:56.878Z) |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.PV.SignedBat") |> first() |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
                                          Send: 502 of: 501 in: 70ms
                                          
                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            MCU @wolfi913 last edited by MCU

                                            @wolfi913 Genau.
                                            762b182b-5fdc-4956-b431-bef658ddf256-image.png
                                            Nimm mal bitte count raus:

                                            // count: dataLimitValue
                                            
                                            W 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            810
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            31
                                            864
                                            169394
                                            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