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

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. jarvis v3.2.x - just another remarkable vis

NEWS

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

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

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

jarvis v3.2.x - just another remarkable vis

Geplant Angeheftet Gesperrt Verschoben Tester
902 Beiträge 44 Kommentatoren 253.3k Aufrufe 42 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.
  • M MCU

    @hvb ab v3.2.0 wurde date() in jDate() umbenannt. Eigene Funktionen gehen nicht.

    H Offline
    H Offline
    hvb
    schrieb am zuletzt editiert von
    #64

    @mcu Das Problem ist nicht der Date() call innerhalb von formatTimeStamp. Gleiches Ergebnis nach Anpassung auf jDate().
    Ich hab noch andere Widgets mit JsonTable die die gleiche Mimik verwenden um values zu formatieren aber kein Date().

    Beim neu laden der Seite werfen alle Aufrufe die auf eine function in Scripts zugreifen einen Error, da die aufgerufene function nicht definiert ist. Vermutlich weil Scripts noch nicht geladen ist zu diesem Zeitpunkt. Wechselt man dann zu einem anderen Tab im Layout und wieder zurück, funktioniert alles.

    Hier mal noch ein paar screen shots und das log:

    Neu laden der Page:
    17a800ca-04e4-48b8-8e2d-f8dfad101c4d-image.png

    Log nach neu laden:
    25d83c38-795c-4d60-8ce2-4b1329995ae3-image.png
    ......
    1f21738c-c797-4095-a446-56c2829da978-image.png

    Die Fehler werden geworfen bevor Widgets, Layout, Style und Scripts geladen sind

    Wechsel zu einem anderen tab und wieder zurück -> alles wird so formatiert wie gewünscht. Keine Fehler mehr im Log, da Scripts verfügbar.
    81ae1d70-65e4-4e20-87ee-b08cbe19eb8f-image.png

    M 1 Antwort Letzte Antwort
    0
    • H hvb

      @mcu Das Problem ist nicht der Date() call innerhalb von formatTimeStamp. Gleiches Ergebnis nach Anpassung auf jDate().
      Ich hab noch andere Widgets mit JsonTable die die gleiche Mimik verwenden um values zu formatieren aber kein Date().

      Beim neu laden der Seite werfen alle Aufrufe die auf eine function in Scripts zugreifen einen Error, da die aufgerufene function nicht definiert ist. Vermutlich weil Scripts noch nicht geladen ist zu diesem Zeitpunkt. Wechselt man dann zu einem anderen Tab im Layout und wieder zurück, funktioniert alles.

      Hier mal noch ein paar screen shots und das log:

      Neu laden der Page:
      17a800ca-04e4-48b8-8e2d-f8dfad101c4d-image.png

      Log nach neu laden:
      25d83c38-795c-4d60-8ce2-4b1329995ae3-image.png
      ......
      1f21738c-c797-4095-a446-56c2829da978-image.png

      Die Fehler werden geworfen bevor Widgets, Layout, Style und Scripts geladen sind

      Wechsel zu einem anderen tab und wieder zurück -> alles wird so formatiert wie gewünscht. Keine Fehler mehr im Log, da Scripts verfügbar.
      81ae1d70-65e4-4e20-87ee-b08cbe19eb8f-image.png

      M Online
      M Online
      MCU
      schrieb am zuletzt editiert von
      #65

      @hvb
      Dann evtl mit

      if (typeof myFunction === 'function') {
      

      vorher überprüfen, würde aber nur die Fehler verhindern, die Anzeige wäre trotzdem leer.

      Bleibt nur Funktionen zu verwenden, die verfügbar sind, wie jDate().

      Oder direkt die Funktion (new Date(Number(val)).toLocaleString('de-DE')) in format verwenden.

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      1 Antwort Letzte Antwort
      0
      • ZefauZ Zefau

        Hallo zusammen,

        ich suche eine paar Wenige, die die jarvis v3.2.x im alpha testen könnten.

        Ab v3.2.x sollten ältere Geräte unterstützt werden, die unter jarvis v3.1 (bzw. auch vis) nicht (mehr) funktionieren. Bei mir persönlich betrifft es das iPad Air 1 mit iOS 12.5, was nun mit v3.2 funktioniert.

        Hat jemand solche ältere Geräte und könnte testen, ob v3.2 läuft und ob ggf. etwas vom Design zerschossen ist?

        Installation der alpha wie gewohnt via Github, siehe https://github.com/Zefau/ioBroker.jarvis bzw. https://github.com/Zefau/ioBroker.jarvis/issues/866

        H Offline
        H Offline
        hvb
        schrieb am zuletzt editiert von
        #66

        @MCU Verstehe ich Deine Antwort richtig, dass eigene Funktionen im Moment nicht mehr gehen?
        Kommt das wieder oder wird das künftig nicht mehr unterstützt? Wäre schade, hab das ziemlich oft verwendet.

        M 1 Antwort Letzte Antwort
        0
        • H hvb

          @MCU Verstehe ich Deine Antwort richtig, dass eigene Funktionen im Moment nicht mehr gehen?
          Kommt das wieder oder wird das künftig nicht mehr unterstützt? Wäre schade, hab das ziemlich oft verwendet.

          M Online
          M Online
          MCU
          schrieb am zuletzt editiert von MCU
          #67

          @hvb Nein ich wusste es gar nicht, dass sie funktionieren. Habe es nie getestet und gebraucht.
          Du kannst ja auch ein Issue dafür anlegen, wenn es so in v3.1.8 funktioniert hat.

          Vielleicht muss man für "eigene Funktionen", die man in jarvis für Module nutzen möchte, ein "Preload"-scripts definieren?

          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          H 1 Antwort Letzte Antwort
          0
          • M MCU

            @hvb Nein ich wusste es gar nicht, dass sie funktionieren. Habe es nie getestet und gebraucht.
            Du kannst ja auch ein Issue dafür anlegen, wenn es so in v3.1.8 funktioniert hat.

            Vielleicht muss man für "eigene Funktionen", die man in jarvis für Module nutzen möchte, ein "Preload"-scripts definieren?

            H Offline
            H Offline
            hvb
            schrieb am zuletzt editiert von
            #68

            @mcu OK, mach ich. Würde sehr bei komplexeren Aktivitäten helfen. Das wird sonst schnell unübersichtlich und nicht mehr wartbar, wenn man alles ins widget packen muss.

            M 1 Antwort Letzte Antwort
            0
            • H hvb

              @mcu OK, mach ich. Würde sehr bei komplexeren Aktivitäten helfen. Das wird sonst schnell unübersichtlich und nicht mehr wartbar, wenn man alles ins widget packen muss.

              M Online
              M Online
              MCU
              schrieb am zuletzt editiert von MCU
              #69

              @hvb Die Frage ist warum du für eine solch große Tabelle nicht ein eigenes javascript nutzt?
              Dort kannst du dann die Formate vorgeben, auch mit eigenen Funktionen.

              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

              H 1 Antwort Letzte Antwort
              0
              • M MCU

                @hvb Die Frage ist warum du für eine solch große Tabelle nicht ein eigenes javascript nutzt?
                Dort kannst du dann die Formate vorgeben, auch mit eigenen Funktionen.

                H Offline
                H Offline
                hvb
                schrieb am zuletzt editiert von
                #70

                @mcu Das würde natürlich funktionieren. Da das JSON die Rohdaten enthält und ich es eh per server script erzeuge, könnte ich natürlich auf ein formatierte Version erzeugen für das widget. Das mach Sinn.

                Ich hab noch einen anderen Anwendungsfall. Ich erzeuge mit styles und client seitigem script aus einer ButtonGroupAction eine ToggelButtonListe die mir auch noch anzeigt, was gerade aktiv ist.

                e4c2d13a-9f7c-49d0-b427-10c6e233cba8-image.png

                Im obigen Fall ein Umschalten zwischen Automatik, Manuell AN, Manuell AUS
                Das geht nur durch direkte DOM manipulation also nicht serverseitig lösbar.

                M 1 Antwort Letzte Antwort
                0
                • H hvb

                  @mcu Das würde natürlich funktionieren. Da das JSON die Rohdaten enthält und ich es eh per server script erzeuge, könnte ich natürlich auf ein formatierte Version erzeugen für das widget. Das mach Sinn.

                  Ich hab noch einen anderen Anwendungsfall. Ich erzeuge mit styles und client seitigem script aus einer ButtonGroupAction eine ToggelButtonListe die mir auch noch anzeigt, was gerade aktiv ist.

                  e4c2d13a-9f7c-49d0-b427-10c6e233cba8-image.png

                  Im obigen Fall ein Umschalten zwischen Automatik, Manuell AN, Manuell AUS
                  Das geht nur durch direkte DOM manipulation also nicht serverseitig lösbar.

                  M Online
                  M Online
                  MCU
                  schrieb am zuletzt editiert von
                  #71

                  @hvb Zeig mal bitte das Script dazu.

                  NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                  H 1 Antwort Letzte Antwort
                  0
                  • M MCU

                    @hvb Zeig mal bitte das Script dazu.

                    H Offline
                    H Offline
                    hvb
                    schrieb am zuletzt editiert von
                    #72

                    @mcu

                    Algemeine function um das richtige Element zu finden und eine Klasse "button-pressed" zu setzen oder wieder zu entfernen:
                    Wird mit der Value des Button, der deviceId und einem Device spezifischen Mapping aufgerufen.

                    function styleButtonGroup(val, deviceId, mapping){    
                        //console.log(`val: ${val} deviceId: ${deviceId}`)
                        var buttons = null
                        var button = null
                        var icons = null
                    
                        // see whether there is a widget containing a listItem with a ButtonGroupAction that has a listItemBody containing a hidden label that matches our deviceId
                        var listItems = document.querySelectorAll('.jarvis-StateListItem:has(.jarvis-ButtonGroupAction)')
                        //console.log(listItems)
                        listItems?.forEach((listItem) => {
                            //console.log(listItem)
                            var label = listItem.querySelector('.jarvis-StateListItem-Body .q-item__label.q-item__label--caption')
                            console.log(label)
                            if(label?.textContent === deviceId) {
                                buttons = listItem.querySelectorAll('.jarvis-ButtonGroupAction button')
                                //console.log(buttons)
                                buttons?.forEach((button) => {
                                    //console.log(button)
                                    if(button.classList.contains('jarvis-ButtonGroupAction-' + mapping[val])) {
                                        button.classList.add('button-pressed')
                                    }
                                    else{
                                        button.classList.remove('button-pressed')
                                    } 
                                })
                                icons = listItem.querySelectorAll('.jarvis-ButtonGroupAction .icon')
                                //console.log(icon)
                                icons?.forEach((icon) => {
                                    //console.log(icon)
                                    for (const scene in mapping) {
                                        const sceneName = mapping[scene]
                                        //console.log(sceneName)
                                        if(icon.classList.contains('jarvis-ButtonGroupAction-' + sceneName)) {
                                            icon.classList.add(sceneName)
                                        }
                                    }
                                })        
                             }
                        }) 
                    }
                    // AutoMation Mapping
                    const autoOnOffMapping = {
                      "AUTO":"AUTO",
                      "ON":"ON",
                      "OFF":"OFF"
                    }
                    // Wir vom Device aus aufgerufen
                    function styleMotionLightButtonGroup(val, deviceId){ 
                        styleButtonGroup(val, deviceId, autoOnOffMapping)
                    }
                    

                    Und jetzt noch die zugehörigen styles:

                    /*
                      ButtonGroupAction icon definitiions
                    */
                    
                    .AUTO {
                    	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12.68 6h-1.36L7 16h2l.73-2h4.54l.73 2h2zm-2.38 6.5L12 8l1.7 4.5zm7.1 7.9L19 22h-5v-5l2 2c2.39-1.39 4-4.05 4-7c0-4.41-3.59-8-8-8s-8 3.59-8 8c0 2.95 1.61 5.53 4 6.92v2.24C4.47 19.61 2 16.1 2 12C2 6.5 6.5 2 12 2s10 4.5 10 10c0 3.53-1.83 6.62-4.6 8.4'/%3E%3C/svg%3E");
                    	-webkit-mask-image: var(--svg);
                    	mask-image: var(--svg);
                    }
                    
                    .ON {
                    	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m16.56 5.44l-1.45 1.45A5.969 5.969 0 0 1 18 12a6 6 0 0 1-6 6a6 6 0 0 1-6-6c0-2.17 1.16-4.06 2.88-5.12L7.44 5.44A7.961 7.961 0 0 0 4 12a8 8 0 0 0 8 8a8 8 0 0 0 8-8c0-2.72-1.36-5.12-3.44-6.56M13 3h-2v10h2'/%3E%3C/svg%3E");
                    	-webkit-mask-image: var(--svg);
                    	mask-image: var(--svg);
                    }
                    
                    .OFF {
                    	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3a9 9 0 0 0-9 9a9 9 0 0 0 9 9a9 9 0 0 0 9-9a9 9 0 0 0-9-9m0 16a7 7 0 0 1-7-7a7 7 0 0 1 7-7a7 7 0 0 1 7 7a7 7 0 0 1-7 7'/%3E%3C/svg%3E");
                    	-webkit-mask-image: var(--svg);
                    	mask-image: var(--svg);
                    }
                    
                    /* 
                      handle ButtonGroupActions
                    */
                    
                    /* 
                      Allow the Group to expand to max-content instead of the default 60%
                    */
                    
                    .jarvis-StateListItem-Action:has(.jarvis-ButtonGroupAction) {
                    	/* Styles for ListAction when it contains GroupAction */
                    	max-width: 100% !important;
                    }
                    
                    .jarvis-StateListItem:has(.jarvis-ButtonGroupAction) .jarvis-StateListItem-Body .q-item__label.q-item__label--caption {
                    	color: var(--q-primary);
                    	margin-top: -1px;
                    	height: 0px !important;
                    	visibility: hidden;
                    }
                    
                    /*
                      jarvis-ButtonGroupAction gets the class with the background icon via java script
                      and here we define the common styles for this
                    */
                    
                    .jarvis-StateListItem:has(.jarvis-ButtonGroupAction) .q-btn__content .icon {
                    	background-color: white !important;
                    	display: inline-block;
                    	width: 16px;
                    	height: 16px;
                    	-webkit-mask-repeat: no-repeat;
                    	mask-repeat: no-repeat;
                    	-webkit-mask-size: 100% 100%;
                    	mask-size: 100% 100%;
                    }
                    
                    /* 
                      normally the content of the button is a text lablel, which we want to hide here
                    */
                    
                    .jarvis-StateListItem:has(.jarvis-ButtonGroupAction) .q-btn__content:has(.icon)>:not(.icon) {
                    	display: none;
                    }
                    
                    /*
                      highlight the button representing the current state
                    */
                    
                    :root {
                    	--q-primary: #1976d2;
                    	--q-primary-red: 25;
                    	--q-primary-green: 118;
                    	--q-primary-blue: 210;
                    }
                    
                    .q-btn-group>.q-btn-item.button-pressed {
                    	background-color: rgba(var(--q-primary-red), var(--q-primary-green), var(--q-primary-blue), 0.5) !important;
                    	border: 1px solid grey;
                    }
                    

                    Das Widget dazu sieht so aus:
                    578d2aae-4a0f-4308-93de-45cad527265d-image.png

                    Und das zugehörige Device so:
                    c1d0bc9c-b1ab-42b7-a99a-c5db899998f6-image.png

                    Der Trick ist, dass im CustomTextBody die deviceId steckt und das dadurch erzeugte Element hidden ist. Damit kann man das richtige device im Dom finden und dann modifizieren.

                    In den State Properties steht dann der Aufruf der function styleButtonGroup in Script.
                    8e1202e6-36d6-436a-905b-4dbe9028a639-image.png

                    Damit kann man auch Hue Scenen auf Buttons legen:
                    ff5bf76e-bb6f-496f-86e6-5baf39775993-image.png

                    M 1 Antwort Letzte Antwort
                    1
                    • H hvb

                      @mcu

                      Algemeine function um das richtige Element zu finden und eine Klasse "button-pressed" zu setzen oder wieder zu entfernen:
                      Wird mit der Value des Button, der deviceId und einem Device spezifischen Mapping aufgerufen.

                      function styleButtonGroup(val, deviceId, mapping){    
                          //console.log(`val: ${val} deviceId: ${deviceId}`)
                          var buttons = null
                          var button = null
                          var icons = null
                      
                          // see whether there is a widget containing a listItem with a ButtonGroupAction that has a listItemBody containing a hidden label that matches our deviceId
                          var listItems = document.querySelectorAll('.jarvis-StateListItem:has(.jarvis-ButtonGroupAction)')
                          //console.log(listItems)
                          listItems?.forEach((listItem) => {
                              //console.log(listItem)
                              var label = listItem.querySelector('.jarvis-StateListItem-Body .q-item__label.q-item__label--caption')
                              console.log(label)
                              if(label?.textContent === deviceId) {
                                  buttons = listItem.querySelectorAll('.jarvis-ButtonGroupAction button')
                                  //console.log(buttons)
                                  buttons?.forEach((button) => {
                                      //console.log(button)
                                      if(button.classList.contains('jarvis-ButtonGroupAction-' + mapping[val])) {
                                          button.classList.add('button-pressed')
                                      }
                                      else{
                                          button.classList.remove('button-pressed')
                                      } 
                                  })
                                  icons = listItem.querySelectorAll('.jarvis-ButtonGroupAction .icon')
                                  //console.log(icon)
                                  icons?.forEach((icon) => {
                                      //console.log(icon)
                                      for (const scene in mapping) {
                                          const sceneName = mapping[scene]
                                          //console.log(sceneName)
                                          if(icon.classList.contains('jarvis-ButtonGroupAction-' + sceneName)) {
                                              icon.classList.add(sceneName)
                                          }
                                      }
                                  })        
                               }
                          }) 
                      }
                      // AutoMation Mapping
                      const autoOnOffMapping = {
                        "AUTO":"AUTO",
                        "ON":"ON",
                        "OFF":"OFF"
                      }
                      // Wir vom Device aus aufgerufen
                      function styleMotionLightButtonGroup(val, deviceId){ 
                          styleButtonGroup(val, deviceId, autoOnOffMapping)
                      }
                      

                      Und jetzt noch die zugehörigen styles:

                      /*
                        ButtonGroupAction icon definitiions
                      */
                      
                      .AUTO {
                      	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12.68 6h-1.36L7 16h2l.73-2h4.54l.73 2h2zm-2.38 6.5L12 8l1.7 4.5zm7.1 7.9L19 22h-5v-5l2 2c2.39-1.39 4-4.05 4-7c0-4.41-3.59-8-8-8s-8 3.59-8 8c0 2.95 1.61 5.53 4 6.92v2.24C4.47 19.61 2 16.1 2 12C2 6.5 6.5 2 12 2s10 4.5 10 10c0 3.53-1.83 6.62-4.6 8.4'/%3E%3C/svg%3E");
                      	-webkit-mask-image: var(--svg);
                      	mask-image: var(--svg);
                      }
                      
                      .ON {
                      	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m16.56 5.44l-1.45 1.45A5.969 5.969 0 0 1 18 12a6 6 0 0 1-6 6a6 6 0 0 1-6-6c0-2.17 1.16-4.06 2.88-5.12L7.44 5.44A7.961 7.961 0 0 0 4 12a8 8 0 0 0 8 8a8 8 0 0 0 8-8c0-2.72-1.36-5.12-3.44-6.56M13 3h-2v10h2'/%3E%3C/svg%3E");
                      	-webkit-mask-image: var(--svg);
                      	mask-image: var(--svg);
                      }
                      
                      .OFF {
                      	--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3a9 9 0 0 0-9 9a9 9 0 0 0 9 9a9 9 0 0 0 9-9a9 9 0 0 0-9-9m0 16a7 7 0 0 1-7-7a7 7 0 0 1 7-7a7 7 0 0 1 7 7a7 7 0 0 1-7 7'/%3E%3C/svg%3E");
                      	-webkit-mask-image: var(--svg);
                      	mask-image: var(--svg);
                      }
                      
                      /* 
                        handle ButtonGroupActions
                      */
                      
                      /* 
                        Allow the Group to expand to max-content instead of the default 60%
                      */
                      
                      .jarvis-StateListItem-Action:has(.jarvis-ButtonGroupAction) {
                      	/* Styles for ListAction when it contains GroupAction */
                      	max-width: 100% !important;
                      }
                      
                      .jarvis-StateListItem:has(.jarvis-ButtonGroupAction) .jarvis-StateListItem-Body .q-item__label.q-item__label--caption {
                      	color: var(--q-primary);
                      	margin-top: -1px;
                      	height: 0px !important;
                      	visibility: hidden;
                      }
                      
                      /*
                        jarvis-ButtonGroupAction gets the class with the background icon via java script
                        and here we define the common styles for this
                      */
                      
                      .jarvis-StateListItem:has(.jarvis-ButtonGroupAction) .q-btn__content .icon {
                      	background-color: white !important;
                      	display: inline-block;
                      	width: 16px;
                      	height: 16px;
                      	-webkit-mask-repeat: no-repeat;
                      	mask-repeat: no-repeat;
                      	-webkit-mask-size: 100% 100%;
                      	mask-size: 100% 100%;
                      }
                      
                      /* 
                        normally the content of the button is a text lablel, which we want to hide here
                      */
                      
                      .jarvis-StateListItem:has(.jarvis-ButtonGroupAction) .q-btn__content:has(.icon)>:not(.icon) {
                      	display: none;
                      }
                      
                      /*
                        highlight the button representing the current state
                      */
                      
                      :root {
                      	--q-primary: #1976d2;
                      	--q-primary-red: 25;
                      	--q-primary-green: 118;
                      	--q-primary-blue: 210;
                      }
                      
                      .q-btn-group>.q-btn-item.button-pressed {
                      	background-color: rgba(var(--q-primary-red), var(--q-primary-green), var(--q-primary-blue), 0.5) !important;
                      	border: 1px solid grey;
                      }
                      

                      Das Widget dazu sieht so aus:
                      578d2aae-4a0f-4308-93de-45cad527265d-image.png

                      Und das zugehörige Device so:
                      c1d0bc9c-b1ab-42b7-a99a-c5db899998f6-image.png

                      Der Trick ist, dass im CustomTextBody die deviceId steckt und das dadurch erzeugte Element hidden ist. Damit kann man das richtige device im Dom finden und dann modifizieren.

                      In den State Properties steht dann der Aufruf der function styleButtonGroup in Script.
                      8e1202e6-36d6-436a-905b-4dbe9028a639-image.png

                      Damit kann man auch Hue Scenen auf Buttons legen:
                      ff5bf76e-bb6f-496f-86e6-5baf39775993-image.png

                      M Online
                      M Online
                      MCU
                      schrieb am zuletzt editiert von
                      #73

                      @hvb Ich probiere es aus und nehme es dann in die Doku, ok?

                      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                      H 1 Antwort Letzte Antwort
                      0
                      • M MCU

                        @hvb Ich probiere es aus und nehme es dann in die Doku, ok?

                        H Offline
                        H Offline
                        hvb
                        schrieb am zuletzt editiert von
                        #74

                        @mcu Gerne.

                        in der 3.1.8 funktioniert das ganz gut. in der 3.2.x ist auch hier das Problem, dass das Script nicht immer aufgerufen wird und die Button Icons dann nicht angezeigt werden. Z.B.

                        nach Seite neu laden:
                        169d3e30-71f0-451c-8cc9-601ca3055204-image.png

                        nach klick auf einen Button:
                        bbccc4df-d53b-46e9-8b7c-6d304585b089-image.png

                        beim ersten Popup aufruf:
                        12498676-bed4-4e92-81d1-8b55ffe1e33e-image.png

                        beim nächsten Popup aufruf:
                        9a427598-d6c0-4048-8196-02e38a8bda14-image.png

                        hinter dem control mode device liegt ein device in 0.userdata....
                        und im server seitigen script wird dann die MotionLightAutomation behandelt.

                        Zum testen sollten die styles, das script und das device in 0.userdata zum halten des button status aber reichen.

                        Wenn du mehr brauchst, dann kann ich dir nächste Woche noch was liefern oder Fragen beantworten.

                        M 1 Antwort Letzte Antwort
                        1
                        • M Online
                          M Online
                          MCU
                          schrieb am zuletzt editiert von MCU
                          #75

                          Neuerung in der Doku (KEIN Jarvis-Standard!)
                          scripts widgetMinimize -> Widgets mit Header minimieren

                          widgetMinimize.gif

                          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                          1 Antwort Letzte Antwort
                          0
                          • H hvb

                            @mcu Gerne.

                            in der 3.1.8 funktioniert das ganz gut. in der 3.2.x ist auch hier das Problem, dass das Script nicht immer aufgerufen wird und die Button Icons dann nicht angezeigt werden. Z.B.

                            nach Seite neu laden:
                            169d3e30-71f0-451c-8cc9-601ca3055204-image.png

                            nach klick auf einen Button:
                            bbccc4df-d53b-46e9-8b7c-6d304585b089-image.png

                            beim ersten Popup aufruf:
                            12498676-bed4-4e92-81d1-8b55ffe1e33e-image.png

                            beim nächsten Popup aufruf:
                            9a427598-d6c0-4048-8196-02e38a8bda14-image.png

                            hinter dem control mode device liegt ein device in 0.userdata....
                            und im server seitigen script wird dann die MotionLightAutomation behandelt.

                            Zum testen sollten die styles, das script und das device in 0.userdata zum halten des button status aber reichen.

                            Wenn du mehr brauchst, dann kann ich dir nächste Woche noch was liefern oder Fragen beantworten.

                            M Online
                            M Online
                            MCU
                            schrieb am zuletzt editiert von MCU
                            #76

                            @hvb Also bei mir läuft es gar nicht.
                            Selbst ein einfacher document.querySelektorAll('.jarvis-StateListItem') läuft nicht.
                            Im ButtonGroup sind auch nur 2 Icons vordefiniert.
                            Die "add"-Funktion für zusätzliche Buttons fehlt, oder?

                            db06595a-9ee1-4695-80e9-66eb3cd4d5a4-image.png
                            Ich muss es mal im v3.1.8 testen.

                            Auch unter v3.1.8 keinen Erfolg, liegt aber an fehlenden Funktionen.

                            Es fehlen

                            • Funktion zum Hinzufügen / Ändern vom Button
                            • Funktion Änderung / Hinzufügen der Klasse '.jarvis-ButtonGroupAction-' + mapping[val]

                            In v31.8 werden die querySelektorAll Befehle korrekt ausgeführt.

                            Habe 2 Issues angelegt
                            https://github.com/Zefau/ioBroker.jarvis/issues/2651
                            https://github.com/Zefau/ioBroker.jarvis/issues/2652

                            In v3.1.8 wird die Funktion aus dem Gerät (Datenpunkt-Eigenschaften) 5x aufgerufen, nach einem Reload.

                            c44fdf51-e41e-4afb-ad60-67a393f10708-image.png

                            NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                            Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                            H 1 Antwort Letzte Antwort
                            0
                            • sigi234S Online
                              sigi234S Online
                              sigi234
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von sigi234
                              #77

                              Hallo,

                              bekomme nach einen Update vom Script Adapter folgende Fehler:

                              host.SmartHome
                              2024-06-08 07:05:46.558	error	instance system.adapter.jarvis.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                              
                              jarvis.0
                              2024-06-08 07:05:45.901	error	Cannot read properties of undefined (reading 'smartName')
                              
                              jarvis.0
                              2024-06-08 07:05:45.901	error	TypeError: Cannot read properties of undefined (reading 'smartName') at AdapterClass.<anonymous> (C:\SmartHome\node_modules\iobroker.jarvis\lib\server.js:1:1621) at AdapterClass.emit (node:events:519:28) at Immediate.<anonymous> (C:\SmartHome\node_modules\@iobroker\js-controller-adapter\build\lib\adapter\adapter.js:8729:49) at process.processImmediate (node:internal/timers:478:21)
                              
                              jarvis.0
                              2024-06-08 07:05:45.893	error	uncaught exception: Cannot read properties of undefined (reading 'smartName')
                              

                              Plattform: Windows
                              RAM: 15.9 GB
                              Admin: 6.17.14
                              Node.js: v20.14.0
                              NPM: 10.7.0
                              JS: 5.0.19
                              JavaScript: 8.5.0
                              Jarvis: v3.2.0-alpha.7

                              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Immer Daten sichern!

                              M 1 Antwort Letzte Antwort
                              0
                              • sigi234S sigi234

                                Hallo,

                                bekomme nach einen Update vom Script Adapter folgende Fehler:

                                host.SmartHome
                                2024-06-08 07:05:46.558	error	instance system.adapter.jarvis.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                                
                                jarvis.0
                                2024-06-08 07:05:45.901	error	Cannot read properties of undefined (reading 'smartName')
                                
                                jarvis.0
                                2024-06-08 07:05:45.901	error	TypeError: Cannot read properties of undefined (reading 'smartName') at AdapterClass.<anonymous> (C:\SmartHome\node_modules\iobroker.jarvis\lib\server.js:1:1621) at AdapterClass.emit (node:events:519:28) at Immediate.<anonymous> (C:\SmartHome\node_modules\@iobroker\js-controller-adapter\build\lib\adapter\adapter.js:8729:49) at process.processImmediate (node:internal/timers:478:21)
                                
                                jarvis.0
                                2024-06-08 07:05:45.893	error	uncaught exception: Cannot read properties of undefined (reading 'smartName')
                                

                                Plattform: Windows
                                RAM: 15.9 GB
                                Admin: 6.17.14
                                Node.js: v20.14.0
                                NPM: 10.7.0
                                JS: 5.0.19
                                JavaScript: 8.5.0
                                Jarvis: v3.2.0-alpha.7

                                M Online
                                M Online
                                MCU
                                schrieb am zuletzt editiert von MCU
                                #78

                                @sigi234 jarvis hat die Version?
                                Du hast nur den javascript Adapter upgedatet?
                                Sehe gerade die Signatur, v3.2.0-alpha.7. Immer noch?

                                NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                sigi234S 1 Antwort Letzte Antwort
                                0
                                • M MCU

                                  @sigi234 jarvis hat die Version?
                                  Du hast nur den javascript Adapter upgedatet?
                                  Sehe gerade die Signatur, v3.2.0-alpha.7. Immer noch?

                                  sigi234S Online
                                  sigi234S Online
                                  sigi234
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von sigi234
                                  #79

                                  @mcu sagte in jarvis v3.2.x - just another remarkable vis (alpha-testing):

                                  @sigi234 jarvis hat die Version?
                                  Du hast nur den javascript Adapter upgedatet?

                                  Bei mir ist alles auf Beta und aktuell, denke es war der javascript Adapter, kann aber auch der js-controller sein.

                                  Sehe gerade die Signatur, v3.2.0-alpha.7. Immer noch?

                                  Ja , welche ist die funktionierende Beta? Bin mal auf eine andere Alpha gegangen das ging nix mehr.

                                  Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                  Immer Daten sichern!

                                  M 1 Antwort Letzte Antwort
                                  0
                                  • sigi234S sigi234

                                    @mcu sagte in jarvis v3.2.x - just another remarkable vis (alpha-testing):

                                    @sigi234 jarvis hat die Version?
                                    Du hast nur den javascript Adapter upgedatet?

                                    Bei mir ist alles auf Beta und aktuell, denke es war der javascript Adapter, kann aber auch der js-controller sein.

                                    Sehe gerade die Signatur, v3.2.0-alpha.7. Immer noch?

                                    Ja , welche ist die funktionierende Beta? Bin mal auf eine andere Alpha gegangen das ging nix mehr.

                                    M Online
                                    M Online
                                    MCU
                                    schrieb am zuletzt editiert von MCU
                                    #80

                                    @sigi234 Habe noch nicht die 8.5.0 von javascript.
                                    Jarvis läuft mit v3.2.0-beta.10.
                                    v3.2.0-beta.12 (letzte) läuft gar nicht..

                                    smartName sagt mir aber gar nix.
                                    Evtl muss man Deine DPs prüfen.

                                    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                    sigi234S 1 Antwort Letzte Antwort
                                    0
                                    • M MCU

                                      @sigi234 Habe noch nicht die 8.5.0 von javascript.
                                      Jarvis läuft mit v3.2.0-beta.10.
                                      v3.2.0-beta.12 (letzte) läuft gar nicht..

                                      smartName sagt mir aber gar nix.
                                      Evtl muss man Deine DPs prüfen.

                                      sigi234S Online
                                      sigi234S Online
                                      sigi234
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #81

                                      @mcu sagte in jarvis v3.2.x - just another remarkable vis (alpha-testing):

                                      @sigi234 Habe noch nicht die 8.5.0 von javascript.

                                      Ist erst seit Heute neu

                                      Jarvis läuft mit v3.2.0-beta.10.

                                      Wie genau diese Version installieren?

                                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                      Immer Daten sichern!

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • sigi234S sigi234

                                        @mcu sagte in jarvis v3.2.x - just another remarkable vis (alpha-testing):

                                        @sigi234 Habe noch nicht die 8.5.0 von javascript.

                                        Ist erst seit Heute neu

                                        Jarvis läuft mit v3.2.0-beta.10.

                                        Wie genau diese Version installieren?

                                        M Online
                                        M Online
                                        MCU
                                        schrieb am zuletzt editiert von
                                        #82

                                        @sigi234 https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/v3-fuer-einsteiger/installation-jarvis-v3#installation-commit-version-bestimmte-alpha-version

                                        https://github.com/Zefau/ioBroker.jarvis/tree/fca82c9bb7a5af7f1c1fd3ef869e17270c819ebc
                                        

                                        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                        sigi234S 1 Antwort Letzte Antwort
                                        0
                                        • M MCU

                                          @sigi234 https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/v3-fuer-einsteiger/installation-jarvis-v3#installation-commit-version-bestimmte-alpha-version

                                          https://github.com/Zefau/ioBroker.jarvis/tree/fca82c9bb7a5af7f1c1fd3ef869e17270c819ebc
                                          
                                          sigi234S Online
                                          sigi234S Online
                                          sigi234
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #83

                                          @mcu sagte in jarvis v3.2.x - just another remarkable vis (alpha-testing):

                                          @sigi234 https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/v3-fuer-einsteiger/installation-jarvis-v3#installation-commit-version-bestimmte-alpha-version

                                          https://github.com/Zefau/ioBroker.jarvis/tree/fca82c9bb7a5af7f1c1fd3ef869e17270c819ebc
                                          

                                          Die alpha-Version 80 funktioniert?

                                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                          Immer Daten sichern!

                                          M 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

                                          860

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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