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.
    • 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
                      • M
                        MCU @intruder7 last edited by

                        @intruder7 Du hattest doch ein console.log() von den geschickten Daten gemacht, die sind aber nicht drin?

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

                          @mcu 😢 die hatte ich gestern abend wieder rausgenommen nach dem gestern Ruhe war

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

                            @mcu ich setze den mal wieder rein

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

                              @intruder7 So kann man nicht prüfen, ob falsche Daten geschickt werden, oder ob es mit der influxdb zusammenhängt.

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

                                @mcu ich lasse es mal die nächsten Tage drin

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

                                  @intruder7 Setz mal die Anzahl der Daten auf 300
                                  5e7d952c-3fbf-4d2e-bd20-80bae848901d-image.png

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

                                    @mcu du meinst dataLimitValue?

                                    U 1 Reply Last reply Reply Quote 0
                                    • U
                                      uwe72 @intruder7 last edited by uwe72

                                      @MCU

                                      Ich möchte nun erstmalig die Zusatzprogramme verwenden (Thema gestern mit den mehrzeiligen Labels).

                                      Habe das Script auf eigenem Fileserver

                                      ...Ausschnitt....:
                                      let widgetArr = [
                                      			{
                                      				dp:'0_userdata.0.homematic.profiles.HG015._P1_MONDAY',
                                      				widgetId:'0a5806f4-0e82-48e7-9e62-0982675cf194', 
                                      				item: 2	
                                      			}
                                      		]
                                      ...
                                      

                                      File ist im Browser aufrufbar (zum Test):
                                      0d6e22d4-2273-49cd-818c-da77422f8da0-image.png

                                      In Jarvis habe ich es im Reiter Scripts eingebunden:
                                      3455cc1f-8719-4748-836b-c37d4cb81131-image.png

                                      Label habe ich leer gelassen:
                                      6e296350-df86-4769-96b9-73a319b4025a-image.png

                                      In der zweiten Zeile greift das Script allerdings nicht:
                                      894a6db4-908e-45f5-8035-690bff571bf1-image.png

                                      Mache ich Grundsätzliches richtig? Falls ja, wo im Detail mache ich was nicht richtig?

                                      Widget ID sollte passen:
                                      7a080849-d04a-4988-95a5-e28b93aa150a-image.png

                                      Item habe ich auch mit 1 probiert. Weiß nicht (mehr) wie der Umgang ist mit ausgeblendeten Reihen

                                      Inhalt von Datenpunkt: 0_userdata.0.homematic.profiles.HG015._P1_MONDAY

                                      Montag: 8.5°C (00:00-16:30), 8°C (16:30-19:30), 7.5°C (19:30-21:00), 7°C (21:00-24:00)
                                      

                                      (Es fehlen noch die <br>)

                                      Das Ganze befindet sich in einem Popup. Macht dies ggf. Probleme?
                                      4ff4416e-d885-469c-ae42-36cb28574ce1-image.png

                                      Braucht man auch jarvisfunc.js?
                                      5b3112de-2046-407a-a004-130251545482-image.png

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

                                        @uwe72 Update auf jarvis v3.2.0-rc.12

                                        Braucht man auch jarvisfunc.js?

                                        Nein

                                        867128a1-fd80-44fd-9649-fc3d9a04a25f-image.png
                                        Ist das ein Popup?

                                        Script wurde für Device Popups erweitert v1.0.2

                                        U 1 Reply Last reply Reply Quote 0
                                        • U
                                          uwe72 @MCU last edited by

                                          @mcu

                                          widgetid:
                                          40c3e711-0fde-4b46-b48b-abff718d237a-image.png

                                          item ist in dem Fall 1, oder?
                                          68a1b0ae-2fd8-4784-bf3e-3b7775c8e012-image.png

                                          Deviceid:
                                          166137c1-99f9-4f71-b668-5a09e08a88ce-image.png

                                          deviceItem: 2 ?! (Device Monday)
                                          6d089e2f-0f75-4620-ae95-19ee35075024-image.png

                                          Leider bleibt der Label leer:
                                          2b0c52dd-b20a-451e-97e4-8b04c127367d-image.png

                                          Weiß aktuell nicht was ich falsch mache?

                                          Script ist vorhanden:
                                          bc2c1806-74e2-4fa4-b9a8-d56c45cf2cdf-image.png

                                          und eingebunden:
                                          e219ec9c-6b06-4b39-bd01-3914ca862416-image.png

                                          M U 2 Replies Last reply Reply Quote 0
                                          • M
                                            MCU @uwe72 last edited by

                                            @uwe72 Das ist kein normaler Device-Popup?
                                            8cbdbed6-207d-4485-b335-c56743262e85-image.png

                                            In der function mal die console.log aktivieren und mit F12 im log schauen

                                            function changeLabelPopup(deviceId, deviceItem, txt){
                                            	//console.log('ChangeLabelDevicePopup')
                                            	let doc = document.getElementsByClassName('jarvis-device-'+deviceId);
                                            	if(doc.length >0){
                                            		//console.log('Device gefunden')
                                            		let popup = doc[0].getElementsByClassName('jarvis-popup')
                                            		if(popup.length>0){
                                            			//console.log('Popup gefunden')
                                            			let deviceItems = popup[0].getElementsByClassName('jarvis-StateListItem-Popup')
                                            			let device = deviceItems[deviceItem]
                                            			let body = device.getElementsByClassName('jarvis-StateListItem-Body')
                                            			if(body.length >0){
                                            				let label = body[0].getElementsByClassName('q-item__label')
                                            				label[0].innerHTML = txt
                                            			}
                                            		}
                                            	}
                                            }
                                            
                                            U 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            947
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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