Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. jarvis v2.2.0 - just another remarkable vis

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    jarvis v2.2.0 - just another remarkable vis

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

      @mcu

      Vielleicht kannst du mir da helfen. Scheinst ja sehr fit in dem Bereich zu sein 🙂

      Die Idee war die. Ich habe ein Wandtablett mit JARVIS laufen. Wenn ich nun über Alexa einen Timer setze, wäre es cool, wenn dieser Timer bei JARVIS visualisiert wird. Allerdings weiß ich gar nicht ob es überhaupt machbar ist. Ich weiß auch nicht ob die Notification den Timer "laufen lassen" würde oder nur den Timer im eingefrorenen Zustand zeigen würde.

      Hättest du eine Idee wie man das Ganze angehen könnte und ob es überhaupt realisierbar ist?

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

        @ww1983
        Wie lange läuft denn der Timer?
        Falls du dir während der Timer Läuft auch noch andere Meldungen auf das Tablet schickst, dann werden die nicht angezeigt oder die Timer-Anzeige wird gelöscht (habs noch nicht getestet).?
        Hast du denn schon ein Script, welches die Daten vom Alexa2-Adpater holt und entsprechend an jarvis weitergeben kann?

        Problem mit der Anzeige vom "Timer laufen lassen" ist, dass HTML mit v2.2.2 nicht direkt angezeigt wird mit Popup. (snackbar: dann wird nur der HTML-Code angezeigt, drawer: wird dann direkt als Zahl zur Glocke geschrieben)

        Wenn du damit leben kannst bei Timer-Aufruf durch Alexa, dann am Wandtablet nochmal die Notification, die geschickt wurde selbst anzuklicken, dann könnte man es theoretisch realisieren mit v2.2.2.

        https://www.w3schools.com/howto/howto_js_countdown.asp

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

          @mcu

          Das war erstmal nur eine Idee. Da ich nicht wusste ob es überhaupt realisierbar ist, wollte ich es erstmal klären.

          Aber mit deinem letzten Satz hast du es im Grunde beantwortet. Das Anklicken macht keinen Sinn. Wäre ein cooles Feauture (für mich persönlich). Aber wenn's nur so umständlich geht, macht es keinen Sinn.

          Trotzdem Dank dass du dir Gedanken gemacht hast.

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

            @ww1983 Eine andere Möglichkeit wäre noch , mit der Notification auf eine Seite zu springen, wo der Timer angezeigt wird. Der Timer kann ja als State in ioBroker definiert werden und in jarvis angezeigt werden. (Countdown-Restsekunden oder so).
            Und ist der Timer abgelaufen, springt man wieder zur HOME Seite zurück?

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

              @mcu

              Die Idee finde ich gut. Aber mit Notification würde man nicht automatisch auf die Seite springen, man müsste in der Notification den Link anklicken?

              Das mit dem aktiven bestätigen fällt leider raus. Ich habe ein iPad in der nähe der Küche an der Wand montiert. Meine Frau setzt beim Kochen gerne einen Timer. Meine Idee war einfach nur, dass dieser automatisch auf dem iPad aufspringt und angezeigt wird. Wenn der Link über die Notification bestätigt werden muss, dann wird die Funktion nicht genutzt.

              In der Version 3 gibt es, soweit ich mitbekommen habe einen Filter in der Statelist. Evtl kann der Timer dann angezeigt werden, wenn einer gesetzt wurde. Ansonsten wird der State ausgeblendet

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

                @ww1983
                Umschalten vom Tab mit addNotification mit dem Inhalt:

                { "title": "!", "display": "none","focusTab": "timer-7" }
                

                1481a1f1-0ad5-48ac-81fa-59f9212590b0-image.png
                timer-7 ist als Beispiel zu sehen, je nachdem wie die Seite bei Dir heisst.
                Den Namen mit Nummer sieht man in der Browserleiste, wenn man sie anklickt.
                Die Links, die du mir geschickt hast, müssen teilweise von zefau selbst eingebaut werden, damit man sie verwenden kann, ausser du machst dir eigene HTML-Seiten.
                Der normale Slider ist integriert.
                94960d64-b793-49a7-9899-b4d2f863529a-image.png

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

                  @ww1983 Als Beispiel Timer mit Umschaltung:

                  alexa, starte timer eier kochen mit 4 Minuten (STARTEN)
                  alexa, timer stopp (STOPPEN)

                  jarvis_v222-timerMitUmschaltung.gif

                  Verzögerung von ca 3-4 Sekunden durch Amazon und Alexa2-Adapter.

                  ! Nur ein Timer zur Zeit!

                  // Alexa-Timer berücksichtigen
                  //
                  // alexa2.0.Echo-Devices.G2AXXXXXXXX.Timer.nextTimerDate
                  //
                  createState('0_userdata.0.jarvis.timerRestzeit','',false, {read: true, write: true, name: "Timer Restzeit", type: "string", role: "state", def: "" });
                  createState('0_userdata.0.jarvis.timerStart','',false, {read: true, write: true, name: "Timer gestartet?", type: "boolean", role: "state", def: "" });
                  createState('0_userdata.0.jarvis.timerText','',false, {read: true, write: true, name: "Timer Text", type: "string", role: "state", def: "" });
                  let TAB_timer = "timer-11";
                  let TAB_home  = "dateien-8";
                  // alexa, starte timer Eier kochen mit 4 Minuten
                  // alexa, timer stopp
                  
                  on({id: 'alexa2.0.Echo-Devices.G2AXXXXXXX.Timer.nextTimerDate', change: "any"}, function (obj) {
                      let value = obj.state.val;
                      //console.log(obj.state.val);
                      setState('0_userdata.0.jarvis.timerText',getState('alexa2.0.History.answerText').val);
                      timerX(value);
                      setState('jarvis.0.addNotification','{ "title": "!", "display": "none","focusTab": "' + TAB_timer +'" }');
                      
                  });
                  
                  
                  
                  function timerX(val) {
                      if (val > 0){
                          // Countdown starten
                          let aktZeit = getDateObject(new Date()).getTime();
                          //console.log(aktZeit);
                          let diffZeitSec = Math.ceil((val - aktZeit)/1000);
                          //console.log(diffZeitSec); // 3 Sekunden Verzögerung durch Alexa2 oder Amazon
                          setState('0_userdata.0.jarvis.timerStart',true);
                          CNTDOWN(diffZeitSec,'0_userdata.0.jarvis.timerStart',false,'0_userdata.0.jarvis.timerRestzeit',true);
                      }else{
                          // Countdown stoppen
                          CNTDOWN(1,'0_userdata.0.jarvis.timerStart',false,'0_userdata.0.jarvis.timerRestzeit',true);
                      }
                  }
                  
                  
                  function CNTDOWN(delay,Schaltwert,Zuweisung,Restwert,Schalten) {
                    (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                    START = delay; 
                    if(Schalten == null){Schalten =true};
                    Intervall = setInterval(function () {
                      //log(typeof delay);  
                      delay = (typeof delay == 'number' ? delay : 0) + -1;
                      // String erstellen aus Sekunden
                      // Std
                      if (delay>0){
                          if (delay>3600){
                              setState(Restwert, formatDate(delay*1000,'hh:mm:ss'));
                          }else{
                              setState(Restwert, formatDate(delay*1000,'mm:ss'));
                          }
                      }else{setState(Restwert, '00:00');}
                      if (delay <= 0) {
                        (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                        //log(START + ' Sekunden - Countdown beendet');
                        if (Schalten){
                          setStateDelayed(Schaltwert, Zuweisung, false, 0, false);
                          setState('jarvis.0.addNotification','{ "title": "!", "display": "none","focusTab": "'+ TAB_home + '" }');
                        }
                      }
                    }, 1000);
                  }
                  
                  

                  let TAB_timer = "timer-11";
                  let TAB_home  = "dateien-8";
                  

                  Werte müssen entsprechend angepasst werden.

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

                    @mcu Cool. Danke dir. Genauso meinte ich das. Danke für den Lösungsvorschlag

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

                      Habe irgendwie Probleme mit der JSON Tabelle. Würde mir gerne über den tr-064 Adapter meine Geräte anzeigen lassen, bzw. welche davon gerade online sind. Doch leider wird auf entsprechender Seite gar nichts angezeigt.

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

                        @matzesutopia Zeig mal die Einstellungen.

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

                          @mcu welche Einstellungen meinst du?

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

                            @matzesutopia In jarvis. Welches JSON wird denn benutzt?

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

                              @mcu im tr adapter die jsonDeviceList. tr-064.0.devices.jsonDeviceList. Von den Einstellungen mache ich eben einen Screenshot

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

                                leere Seite.PNG Einstellungen.PNGDatenpunkt.PNG

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

                                  @matzesutopia Das Problem ist die jsondevicelist aus dem tr064. Dort ist active als boolean definiert. Dies kann jarvis in v2.2.2 nicht verarbeiten und stürzt ab. Du musst erst eine eigene jsonListe erstellen aus den Daten. Dort dürfen dann nur Strings drin sein. Dann kann man das JSON mit jarvis darstellen. Als Vorgeschmack für Deine Tabelle:

                                  [{"label":"mac","align":"left"},{"label":"ip","align":"left"},{"label":"name","align":"left"}]
                                  

                                  4b47c6a6-1c54-459a-a46c-b005894403c3-image.png
                                  Trägst du dort active ein, stürzt jarvis ab.

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

                                    @mcu schade, aber ok. wenigstens kann ich mit deiner Anweisung wenigstens schon mal etwas sehen. Den Rest werde ich dann irgendwie umbauen. Danke für die schnelle Hilfe

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

                                      @matzesutopia

                                      
                                      createState('0_userdata.0.jarvis.tr-064.jsonDeviceActive','',false, {read: true, write: true, name: "JSON Aktive tr-064 für Jarvis", type: "string", role: "state", def: "" });
                                      
                                      on({id: 'tr-064.0.devices.jsonDeviceList', change: "any"}, function (obj) {
                                         let value = obj.state.val;
                                         let jsonList = JSON.parse(value);
                                         let newJson = [];
                                         for (let i=0;i< jsonList.length;i++){
                                             if (jsonList[i].active){
                                                 let newData = {};
                                                 newData.mac = jsonList[i].mac;
                                                 newData.ip = jsonList[i].ip;
                                                 newData.name = jsonList[i].name;
                                                 //console.log(newData);
                                                 newJson.push(newData);
                                             }
                                         }
                                         setState('0_userdata.0.jarvis.tr-064.jsonDeviceActive',JSON.stringify(newJson));
                                      });
                                      
                                      

                                      Ich musste bei mir gerade feststellen, daß die JSONListe nicht korrekt ist. Mag aber auch vielleicht an meiner Fritzbox 6591 Cable v7.27 liegen, wer weiß?. Geräte werden mit dem richtigen active-Zustand in der Verzeichnisliste angezeigt, aber nicht in der JSONListe, obwohl sie nach Zustandsänderung aktualisiert wurde.

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

                                        @mcu @matzesutopia sonst mit der v3 probieren, damit sollte es passen

                                        stephan1827 1 Reply Last reply Reply Quote 0
                                        • stephan1827
                                          stephan1827 @Zefau last edited by

                                          @zefau Ich bekomme die V3 immer noch nicht installiert. Die V3 wird bei der Installtion agezeigtBildschirmfoto 2021-07-24 um 08.22.34.png

                                          aber im Programm steht immer noch V2.2.0Bildschirmfoto 2021-07-24 um 08.22.58.png

                                          Ich habe auch schon mal Upload gemacht aber das ändert nichts

                                          Zefau 1 Reply Last reply Reply Quote 0
                                          • Zefau
                                            Zefau @stephan1827 last edited by

                                            @stephan1827 die v3 ist noch Alpha und nur über GitHub erhältlich

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            911
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            jarvis material material ui materialdesign vis visualisierung visualization
                                            316
                                            6126
                                            3338540
                                            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