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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    HowTo: Zusatz-Programme fuer jarvis v3

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

      @mcu
      d49a2971-705f-42ad-adc8-4d1d1fbd0fb5-image.png

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

        @intruder7 Was kommt denn im DP an? Vorher 23 dann 22.5 oder bei Plus 23.5
        Was würde man manuell in den DP eingeben?

        I 1 Reply Last reply Reply Quote 0
        • I
          intruder7 @MCU last edited by

          @mcu Hab jetzt ein bisschen mit + und - probiert. Dies scheint ein sporadisches Problem beim Homematic Adapter zu sein. Die Werte kommen alles an am DP nur manchmal meckert der Adapter

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

            @intruder7 ok, dann sind wir erstmal fertig.

            B 1 Reply Last reply Reply Quote 1
            • B
              Bernd1967 @MCU last edited by

              @mcu
              Nur zur Info.
              Thema Zusatzprogramm eChartsChange:
              Bei der echart Adapter Version >2.0.4 kann es in deinem script zum Fehler in folgender Zeile kommen:

              if (eChartobj.native.data.lines[0].xticks == undefined)

              Das liegt daran das in den Objektdaten der Preset statt "lines" nur "l" benutzt wurde.
              Soll aber wieder korrigiert werden.
              Preset Objektdaten Problem #779

              1 Reply Last reply Reply Quote 1
              • D
                der-eine @MCU last edited by

                @mcu hab ich wohl übersehen...

                Bin jetzt das ganze durchgegangen.

                • eChartsHistoryGetData
                let logging         = false;
                let loggingData     = false;
                let dataLimitValue  = 300;  // 300 normal , je höher man diesen Wert einstellt -> Performance und Datenverbrauch für Handy beachten
                let standardHistory = 'influxdb.0'; // Hier muss man sein History-Adapter eintragen z.B. sql.0, influxdb.0
                let historyGetData  = '0_userdata.0.historyGetData';
                let queryDPsDP      = historyGetData + '.queryDPs';
                let queryJSONDP     = historyGetData + '.queryJSON'; // dp, type, cnt,start, end, adapt 
                let dataResultDP    = historyGetData + '.dataResult';
                let dataTypeDP      = historyGetData + '.type'; // queryJSON
                let dataCntDP       = historyGetData + '.dataCnt'; // queryJSON
                let timeFromDP      = historyGetData + '.timeFrom'; // queryJSON
                let timeToDP        = historyGetData + '.timeTo'; // queryJSON
                let historyAdaptDP  = historyGetData + '.historyAdapter'; // Auswahl der vorhandenen, queryJSON
                let getDataDP       = historyAdaptDP + '.getData';
                

                historyGetData so richtig?

                • stateListItemHistory
                let instance 					= '0'; // auslesen aus Adresse erst ab v3.2
                let historyStandard             = 'influxdb.0';
                let loggingItemHistory          = false;
                let changeCntTimeAreaDP         = '0_userdata.0.Variablen.Jarvis.HomekitTile.trvWzBatTimeArea'; // Zeitbereichsänderung in festgelegter Einheit
                let absolutePercent 			= false; // false = relative -> 100% dataMin bis dataMax , true: absolute -> 100% = dataMax, 0% = 0
                let areaStyleActive				= true; // nur für Kurven mit einer Farbe
                let areaStandardColor			= 'grey';
                let areaColorGradient			= false;  // false -> areaStandardColor: colorDefaultJSON , true -> Color aus colors 
                
                let slHistoryWidgets = [
                						
                						{
                							widgetId: 'f4bfb3a6-0783-4252-80e0-fc247f18ed80', 
                							item: 0,
                							dpForHistory: 'shelly.0.SHTRV-01#60A423D91058#1.bat.value', // auto prüft automatisch ob es zum item aus dem Widget ein HistoryDP gibt und holt sich die Daten
                												  // ansonsten muss man den Geräte-DP angeben
                							popup: true, 			// true -> Popup wird angezeigt, false -> Umschaltung Anzeige Werte (Standard)
                							timeArea : 30, // Anzahl
                							timeAreaUnit: 'd', // m min, h hours, d days, 
                							colors: colorFuelJSON,
                							historyDB: 'influxdb.0'
                							
                						},
                						
                						/*
                

                widgetId eingetragen den Rest der Widgets auskommentiert.

                • Datei hochgeladen
                  Bildschirmfoto 2025-02-03 um 22.36.02.png

                • Importvariante
                  Bildschirmfoto 2025-02-03 um 22.38.04.png
                  iP Adresse vom iobroker
                  iob jarvis upload durchgeführt
                  Muss iobroker auf https umgestellt sein?

                Siehst Du hier noch einen Fehler wieso es nicht funktionieren könnte?

                M 1 Reply Last reply Reply Quote 0
                • M
                  MCU @der-eine last edited by MCU

                  @der-eine Du hast keinen eigenen Fileserver?
                  698a1d36-00c3-47c0-bfe6-068883c180f9-image.png
                  Das ist wenn man einen eigenen Fileserver hat.
                  Für dich sehr wahrscheinlich so, wenn kein https

                  @import"http://192.168.20.21:8400/user/stateListItemHistory.js";
                  

                  Datei muss aber unter Benuterdaten/jarvis-scripts liegen (wird automatisch von jarvis angelegt)
                  bzw. 0_userdata.0/jarvis-scripts

                  bd1b1fb1-4bce-4c2d-afea-50c88eb8343c-image.png

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    der-eine @MCU last edited by der-eine

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

                    @import"http://192.168.20.21:8400/user/stateListItemHistory.js";

                    Fileserver vorhanden (Synology) aber mit Vlans und Freigabe war mir jetzt zu aufwendig um das hier zu testen.

                    Import hab ich geändert.

                    Bin in der Doku danach gegangen

                    Bildschirmfoto 2025-02-03 um 22.53.26.png

                    Wie lautet der Pfad zu den Benutzerdaten?

                    Edit:
                    Habs gefunden

                    M 2 Replies Last reply Reply Quote 0
                    • M
                      MCU @der-eine last edited by MCU

                      @der-eine scripts für jarvis v3.2.0 befindet sich sozusagen gerade in der Entwicklung, die noch nicht abgeschlossen ist.
                      Die Dateien siehst du im Ordner Dateien
                      b8a3ebe2-b278-4906-b32b-82ee3a49bacb-image.png
                      und dann je ach Spracheinstellung / 0_userdata.0 bzw Benutzdaten / jarvis-scripts
                      Dort muss die Datei stateListItemHistory hochgeladen werden

                      D 1 Reply Last reply Reply Quote 0
                      • M
                        MCU @der-eine last edited by MCU

                        @der-eine Eigentlich steht es gar nicht mehr drin, wo siehst du es?
                        22b6b91f-7adc-4a9d-bbcb-80841dfc25ca-image.png

                        1 Reply Last reply Reply Quote 0
                        • D
                          der-eine @MCU last edited by der-eine

                          @mcu jetzt funktioniert es. Danke 👍
                          Um weitere Widgets hinzuzufügen muss ich nur einen weiteren Eintrag in stateListItemHistory.js anlegen den Datenpunkt für changeCntTimeAreaDP erstellen?
                          Braucht es den Datenpunkt überhaupt? Man gibt ja bei slHistoryWidgets die TimeArea an?

                          Ist in der Anleitung unter Import Variante hinterlegt

                          M 2 Replies Last reply Reply Quote 0
                          • M
                            MCU @der-eine last edited by

                            @der-eine Ok muss ich anpassen

                            1 Reply Last reply Reply Quote 1
                            • M
                              MCU @der-eine last edited by

                              @der-eine sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                              Um weitere Widgets hinzuzufügen muss ich nur einen weiteren Eintrag in stateListItemHistory.js anlegen

                              Ja

                              den Datenpunkt für changeCntTimeAreaDP erstellen?

                              Kann man nur für alle Widgets nutzen.

                              Braucht es den Datenpunkt überhaupt?

                              Ja, wenn man die Widgets alle auf einmal ändern möchte.

                              Man gibt ja bei slHistoryWidgets die TimeArea an?

                              Die Initial-Area und mit dem DP kann man halt die "Anzahl" von der eingestellt timeArea ändern.

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                der-eine @MCU last edited by

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

                                Kann man nur für alle Widgets nutzen.

                                Bedeutet man braucht nur einen für alle?

                                Die Initial-Area und mit dem DP kann man halt die "Anzahl" von der eingestellt timeArea ändern.

                                Welchen Zeitraum nimmt er dann? Den im DP oder den in der js unter timeArea?

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  MCU @der-eine last edited by

                                  @der-eine

                                  Bedeutet man braucht nur einen für alle?

                                  Ja

                                  Welchen Zeitraum nimmt er dann? Den im DP oder den in der js unter timeArea?

                                  Intial, den man in Array angegeben hat.
                                  Mit dem DP kann man die Anzahl für alle ändern. Aber man kann auch durch Klick auf die Kurve im "Detail-Fenster" den Bereich anpassen, je nach Gusto.
                                  Aber es geht nach einer Zeit wieder auf Standard (Initial)

                                  D 1 Reply Last reply Reply Quote 1
                                  • D
                                    der-eine @MCU last edited by

                                    @mcu was ich noch nicht rausbekommen habe, wie steuert man die colorJson?
                                    Für was steht gt und lte? Ist das die Range hier im Beispiel 0-20% und über 80%?
                                    Kann ich da für jedes widget ein eigenes colorjson anlagen z.B. colorJsonBattery...

                                    /* Der letzte Eintrag muss ohne"lte" sein! */
                                    let colorDefaultJSON =  [    // ist eine Prozentuale Skala, falls keine Werte definiert sind
                                    			{
                                    				"gt": 0,
                                    				"lte": 0.20,
                                    				"color": "palegreen"
                                    			},
                                    			....... /* soviel Objekte, wie man möchte, */
                                    				/* bzw. soviele Farbunterscheidungen man braucht */
                                    			{
                                    				"gt": 0.80,
                                    				"color": "red"
                                    			}
                                    		]
                                    
                                    
                                    M-A Hueb M 2 Replies Last reply Reply Quote 0
                                    • M-A Hueb
                                      M-A Hueb @der-eine last edited by

                                      @der-eine gt: Steht für "greater than" (größer als). Definiert die untere Grenze des Bereichs.

                                      lte: Steht für "less than or equal to" (kleiner oder gleich). Definiert die obere Grenze des Bereichs.

                                      D 1 Reply Last reply Reply Quote 1
                                      • D
                                        der-eine @M-A Hueb last edited by

                                        @m-a-hueb top Danke Dir. Weisst du ob die Anzahl der colorJson egal ist?

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          MCU @der-eine last edited by

                                          @der-eine sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                          Ist das die Range hier im Beispiel 0-20% und über 80%?

                                          Kein % sondern 0.80 cent

                                          I 1 Reply Last reply Reply Quote 1
                                          • I
                                            intruder7 @MCU last edited by

                                            @mcu leider wieder die Meldungen im LOG mit aufhängen der Influxdb

                                            
                                            influxdb.0
                                            2025-02-04 17:25:57.516	warn	Error in query "from(bucket: "iobroker") |> range(start: 2024-02-03T16:25:23.714Z, stop: 2025-02-02T16:25:23.713Z) |> filter(fn: (r) => r["_measurement"] == "hm-rpc.2.0010DXXXXXX2B2.1.HUMIDITY") |> last() |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")": RequestTimedOutError: Request timed out
                                            
                                            influxdb.0
                                            2025-02-04 17:25:50.894	warn	Error in query "from(bucket: "iobroker") |> range(start: 2024-02-03T16:25:22.445Z, stop: 2025-02-02T16:25:22.444Z) |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Haus.Klima.Gartenhaus.Gartenhaus_IstTemp") |> last() |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")": RequestTimedOutError: Request timed out
                                            
                                            javascript.0
                                            2025-02-04 17:25:43.095	warn	script.js.common.Jarvis.eChartsHistoryGetData: Timeout -> DP hm-rpc.2.0010DXXXXXX2B2.1.HUMIDITY nicht vorhanden in DB: influxdb.0
                                            
                                            javascript.0
                                            2025-02-04 17:25:43.095	warn	script.js.common.Jarvis.eChartsHistoryGetData: Timeout -> DP 0_userdata.0.Haus.Klima.Gartenhaus.Gartenhaus_IstTemp nicht vorhanden in DB: influxdb.0
                                            
                                            javascript.0
                                            2025-02-04 17:25:43.093	warn	script.js.common.Jarvis.eChartsHistoryGetData: Timeout -> DP hm-rpc.2.0010DXXXXXX2B2.1.ACTUAL_TEMPERATURE nicht vorhanden in DB: influxdb.0
                                            
                                            javascript.0
                                            2025-02-04 17:25:43.090	warn	script.js.common.Jarvis.eChartsHistoryGetData: Timeout -> DP hm-rpc.2.0010DXXXXXX2B2.1.HUMIDITY nicht vorhanden in DB: influxdb.0
                                            
                                            javascript.0
                                            2025-02-04 17:25:43.090	warn	script.js.common.Jarvis.eChartsHistoryGetData: Timeout -> DP 0_userdata.0.Haus.Klima.Gartenhaus.Gartenhaus_IstTemp nicht vorhanden in DB: influxdb.0
                                            
                                            javascript.0
                                            2025-02-04 17:25:43.087	warn	script.js.common.Jarvis.eChartsHistoryGetData: Timeout -> DP hm-rpc.2.0010DXXXXXX2B2.1.ACTUAL_TEMPERATURE nicht vorhanden in DB: influxdb.0
                                            
                                            M 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            914
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            30
                                            858
                                            153847
                                            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