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.
    • S
      SchuetzeSchulz @MCU last edited by SchuetzeSchulz

      @mcu sagte in jarvis v2.2.0 - just another remarkable vis:

      allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen

      <!DOCTYPE HTML><html> <head> <title> </title> <script> function onKlick(elem){ elem.requestFullscreen();} </script> </head><body style = "text-align= center;" id = "video1body"><div><iFrame width="320px" height="150px" src="URL" onclick="onKlick(this);" frameborder = "2" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="allowfullscreen" mozallowfullscreen="mozallowfullscreen" msallowfullscreen="msallowfullscreen" oallowfullscreen="oallowfullscreen" webkitallowfullscreen="webkitallowfullscreen"></iFrame></div> </body></html>
      

      hat leider nicht geklappt

      <!DOCTYPE HTML><html> <head> <title> </title> <script> function onKlick(elem){ elem.requestFullscreen();} </script> </head><body style = "text-align= center;" id = "video1body"><div><iFrame width="320px" height="150px" src="URL" onclick="onKlick(this);" frameborder = "2" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen></iFrame></div> </body></html>
      

      hat leider auch nicht geklappt 😞

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

        @schuetzeschulz Und mit dem true?

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

          @mcu Leider auch nicht.
          Ich weiß nicht, ob Dir das weiterhilft, aber hier mal der Seitenquelltext aus dem Browser, wenn ich die Motion Kamera URL direkt aufrufe:

          
          <!DOCTYPE html>
          <html>
              <head>
                  
                      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                      <meta http-equiv="X-UA-Compatible" content="IE=Edge">
                      <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
                      <meta name="mobile-web-app-capable" content="yes">
                      <meta name="apple-mobile-web-app-capable" content="yes">
                      <meta name="theme-color" content="#414141">
                      <meta name="apple-mobile-web-app-status-bar-style" content="#414141">
                  
                  <title>Haustuer</title>
                  
              
                      <link rel="stylesheet" type="text/css" href="../../../static/css/jquery.timepicker.css?v=0.42.1" />
                      <link rel="shortcut icon" href="../../../static/favicon.ico?v=0.42.1" />
                      <link rel="apple-touch-icon" href="../../../static/favicon.ico?v=0.42.1" />
                      <link rel="manifest" href="../../../static/../manifest.json?v=0.42.1" />
                  
              <link rel="stylesheet" type="text/css" href="../../../static/css/ui.css?v=0.42.1" />
              <link rel="stylesheet" type="text/css" href="../../../static/css/main.css?v=0.42.1" />
              
                  <link rel="stylesheet" type="text/css" href="../../../static/css/frame.css?v=0.42.1" />
              
          
                  
              
                      <script type="text/javascript" src="../../../static/js/css-browser-selector.js?v=0.42.1"></script>
                      <script type="text/javascript" src="../../../static/js/jquery.min.js?v=0.42.1"></script>
                      <script type="text/javascript" src="../../../static/js/jquery.timepicker.min.js?v=0.42.1"></script>
                      <script type="text/javascript" src="../../../static/js/jquery.mousewheel.js?v=0.42.1"></script>
          
                      <script type="text/javascript">
                          var staticPath = '../../../static/';
                      </script>
                  
              <script type="text/javascript" src="../../../static/js/ui.js?v=0.42.1"></script>
              <script type="text/javascript" src="../../../static/js/main.js?v=0.42.1"></script>
              
                  <script type="text/javascript" src="../../../static/js/frame.js?v=0.42.1"></script>
              
              <script type="text/javascript">
                  var adminUsername = 'GEHEIM';
                  var frame = true;
                  var hasLocalCamSupport = false;
                  var hasNetCamSupport = false;
                  
              </script>
          
              </head>
              
              <body>
                  
              
              
                  <div class="camera-frame" id="camera3"
                          streaming_framerate="30" streaming_server_resize="false"
                          proto="" url="">
          
                      <div class="camera-container">
                          <div class="camera-placeholder"><img class="no-camera" src="../../../static/img/no-camera.svg"></div><img
                              class="camera"><div class="camera-progress"><img class="camera-progress"></div>
                      </div>
                  </div>
              
              <div class="modal-glass"></div>
              <div class="modal-container"></div>
              <div class="popup-message-container"></div>
          
              </body>
          </html>
          
          M 1 Reply Last reply Reply Quote 0
          • M
            MCU @SchuetzeSchulz last edited by MCU

            @schuetzeschulz Hilft mir leider nicht, aber die Dokumentenprüfung hat einen Fehler ergeben:
            text-align=center war falsch (lt. Prüfung) -> text-align: center
            Bringt das was, vielleicht kam er da durcheinander?
            Kann mir auch gut vorstellen, das der onclick-Event auf den Kameraseite von denen evtl gesperrt ist?
            Trotzdem probiere mal beide Varainten.

            <!DOCTYPE HTML><html> <head> <title> </title> <script> function onKlick(elem){ elem.requestFullscreen();} </script> </head><body style = "text-align: center;" id = "video1body"><div><iFrame width="320px" height="150px" src="<URL_ZUR_KAMERA>" onclick="onKlick(this);" frameborder = "2" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="true"></iFrame></div> </body></html>
            

            Die Variante mit der FullScrrenAPI und dem Button für FullScreen

            <!DOCTYPE HTML>
            <html>
            
            <head>
                <title> </title>
                <script> 
                    var button = document.querySelector('#container .button');
                    button.addEventListener('click', fullscreen);
                    document.addEventListener('webkitfullscreenchange', fullscreenChange);
                    document.addEventListener('mozfullscreenchange', fullscreenChange);
                    document.addEventListener('fullscreenchange', fullscreenChange);
                    document.addEventListener('MSFullscreenChange', fullscreenChange);
            
                    function fullscreen() {
                        // check if fullscreen mode is available
                        if (document.fullscreenEnabled || 
                            document.webkitFullscreenEnabled || 
                            document.mozFullScreenEnabled ||
                            document.msFullscreenEnabled) {
                
                            // which element will be fullscreen
                            var iframe = document.querySelector('#container iframe');
                            // Do fullscreen
                            if (iframe.requestFullscreen) {
                                iframe.requestFullscreen();
                            } else if (iframe.webkitRequestFullscreen) {
                                iframe.webkitRequestFullscreen();
                            } else if (iframe.mozRequestFullScreen) {
                                iframe.mozRequestFullScreen();
                            } else if (iframe.msRequestFullscreen) {
                                iframe.msRequestFullscreen();
                            }
                        }
                        else {
                            document.querySelector('.error').innerHTML = 'Your browser is not supported';
                        }
                    }
            
                    function fullscreenChange() {
                        if (document.fullscreenEnabled ||
                            document.webkitIsFullScreen || 
                            document.mozFullScreen ||
                            document.msFullscreenElement) {
                                console.log('enter fullscreen');
                            }
                        else {
                            console.log('exit fullscreen');
                        }
                        // force to reload iframe once to prevent the iframe source didn't care about trying to resize the window
                        // comment this line and you will see
                        var iframe = document.querySelector('iframe');
                        iframe.src = iframe.src;
                    }
                    
                    function onKlick(elem) { elem.requestFullscreen(); }
                </script>
            </head>
            
            <body style="text-align: center;" id="video1body">
                <div id="container">
                    <iFrame width="320px" height="150px" src="URL" onclick="onKlick(this);" frameborder="2"
                        allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
                        allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen>
                    </iFrame>
                    <div>
                        <button class="button">FullScreen</button>
                    </div>
                    <div class="error"></div>
                </div>
            </body>
            
            </html>
            

            Erst als Datei so testen und dann im Objekt für jarvis.

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

              @mcu

              Variante 1 hat nicht funktioniert, Variante 2 leider auch nicht. Bei Variante 2 kommt folgender Fehler in der Browser-Konsole:

              test.html:8 Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
                  at test.html:8
              
              M Johannes Bauerstatter 2 Replies Last reply Reply Quote 0
              • M
                MCU @SchuetzeSchulz last edited by

                @schuetzeschulz
                Next one:

                <!DOCTYPE HTML>
                <html>
                 
                <head>
                    <title> </title>
                    <style> #container {text-align: center; height: 100%;} .button { color: #333; background-color: #fff; border-color: #ccc;  font-size: 14px; font-weight: 400; border: 1px solid black; border-radius: 4px;  cursor: pointer;  line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; padding: 6px 12px;}
                    </style>
                    <script> 
                	setTimeout(function(){
                	        var button = document.querySelector('#container .button');
                        	button.addEventListener('click', fullscreen);
                        	document.addEventListener('webkitfullscreenchange', fullscreenChange);
                        	document.addEventListener('mozfullscreenchange', fullscreenChange);
                        	document.addEventListener('fullscreenchange', fullscreenChange);
                        	document.addEventListener('MSFullscreenChange', fullscreenChange);
                	},1000); 
                        function fullscreen() {
                            // check if fullscreen mode is available
                            if (document.fullscreenEnabled || 
                                document.webkitFullscreenEnabled || 
                                document.mozFullScreenEnabled ||
                                document.msFullscreenEnabled) {
                    
                                // which element will be fullscreen
                                var iframe = document.querySelector('#container iframe');
                                // Do fullscreen
                                if (iframe.requestFullscreen) {
                                    iframe.requestFullscreen();
                                } else if (iframe.webkitRequestFullscreen) {
                                    iframe.webkitRequestFullscreen();
                                } else if (iframe.mozRequestFullScreen) {
                                    iframe.mozRequestFullScreen();
                                } else if (iframe.msRequestFullscreen) {
                                    iframe.msRequestFullscreen();
                                }
                            }
                            else {
                                document.querySelector('.error').innerHTML = 'Your browser is not supported';
                            }
                        }
                 
                        function fullscreenChange() {
                            if (document.fullscreenEnabled ||
                                document.webkitIsFullScreen || 
                                document.mozFullScreen ||
                                document.msFullscreenElement) {
                                    console.log('enter fullscreen');
                                }
                            else {
                                console.log('exit fullscreen');
                            }
                            // force to reload iframe once to prevent the iframe source didn't care about trying to resize the window
                            // comment this line and you will see
                            var iframe = document.querySelector('iframe');
                            iframe.src = iframe.src;
                        }
                        
                        function onKlick(elem) { elem.requestFullscreen(); }
                    </script>
                </head>
                 
                <body style="text-align: center;" id="video1body">
                    <div id="container">
                        <iFrame width="320px" height="150px" src="URL" onclick="onKlick(this);" frameborder="2"
                            allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
                            allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen>
                        </iFrame>
                        <div>
                            <button class="button">FullScreen</button>
                        </div>
                        <div class="error"></div>
                    </div>
                </body>
                 
                </html>
                
                
                S 1 Reply Last reply Reply Quote 0
                • Johannes Bauerstatter
                  Johannes Bauerstatter @SchuetzeSchulz last edited by

                  Ich glaub ich bin zu dämlich.

                  Hab das Script laufen lassen und die IP´s eingetragen:
                  a6d7cad9-feaf-47b1-ad14-83612eb23b04-image.png

                  In Jarvis folgendes:
                  Geräte:
                  c10a2974-2997-4460-a471-53ae0477f9ca-image.png

                  Widget:
                  4b893aa6-3459-4b67-811b-31aa2a048265-image.png

                  Was mach ich falsch?

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

                    @johannes-bauerstatter Wie lautet denn der Link zur Kamera?
                    598e4689-b3c0-4404-831f-c12908b5c541-image.png
                    In die Server-Ip kommt nur die IP 192.168.188.205, aber nur dann, wenn man die vis.0 in objData hat. Dann würde automatisch der Link erstellt mit http://SERVER-IP:8082/ + objData.

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

                      @mcu Ja genau. Wenn ich das in den Browser eingebe, läuft der Stream.

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

                        @johannes-bauerstatter Stell mal bitte die objHTML rein.
                        Du musst schon einmal makeHTML auf true setzen, damit eine objHTML erstellt wird.
                        Und in jarvis müsste man auch die objHTML nutzen und nicht die objDataID.

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

                          @mcu Muss das Script immer laufen oder nur 1x malig? Hab den Datenpunkt auf true gestellt und auch das Script wieder gestartet. Keine Änderung:

                          79a92de3-660b-4f8d-aaca-11573eba0517-image.png

                          {
                            "common": {
                              "read": true,
                              "write": true,
                              "name": "HTML zum Objekt",
                              "type": "string",
                              "role": "text",
                              "def": ""
                            },
                            "native": {},
                            "type": "state",
                            "from": "system.adapter.javascript.0",
                            "user": "system.user.admin",
                            "ts": 1636524251378,
                            "_id": "0_userdata.0.jarvis.stream.objHTML",
                            "acl": {
                              "object": 1636,
                              "state": 1636,
                              "owner": "system.user.admin",
                              "ownerGroup": "system.group.administrator"
                            }
                          }
                          
                          M 1 Reply Last reply Reply Quote 0
                          • M
                            MCU @Johannes Bauerstatter last edited by MCU

                            @johannes-bauerstatter
                            Das Script nutzt man um die objHTML zu erstellen.
                            Das Programm muss laufen, bevor man den Schalter auf true setzt. Du musst jetzt einmal wieder auf false setzen und dann auf true.
                            Benötigt man nur einmalig, ausser man hat verändernde Inhalte, dann müsste das Programm sowieso angepasst werden.

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

                              @mcu Danke. Funktioniert jetzt

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

                                @johannes-bauerstatter
                                755efaad-752e-421a-afd1-d470fe665ece-image.png
                                Hält der Videostream dann nach 100 Sekunden an?

                                Johannes Bauerstatter 1 Reply Last reply Reply Quote 0
                                • S
                                  SchuetzeSchulz @MCU last edited by

                                  @mcu sagte in jarvis v2.2.0 - just another remarkable vis:

                                  <!DOCTYPE HTML> <html> <head> <title> </title> <style> #container {text-align: center; height: 100%;} .button { color: #333; background-color: #fff; border-color: #ccc; font-size: 14px; font-weight: 400; border: 1px solid black; border-radius: 4px; cursor: pointer; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; padding: 6px 12px;} </style> <script> setTimeout(function(){ var button = document.querySelector('#container .button'); button.addEventListener('click', fullscreen); document.addEventListener('webkitfullscreenchange', fullscreenChange); document.addEventListener('mozfullscreenchange', fullscreenChange); document.addEventListener('fullscreenchange', fullscreenChange); document.addEventListener('MSFullscreenChange', fullscreenChange); },1000); function fullscreen() { // check if fullscreen mode is available if (document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled) { // which element will be fullscreen var iframe = document.querySelector('#container iframe'); // Do fullscreen if (iframe.requestFullscreen) { iframe.requestFullscreen(); } else if (iframe.webkitRequestFullscreen) { iframe.webkitRequestFullscreen(); } else if (iframe.mozRequestFullScreen) { iframe.mozRequestFullScreen(); } else if (iframe.msRequestFullscreen) { iframe.msRequestFullscreen(); } } else { document.querySelector('.error').innerHTML = 'Your browser is not supported'; } } function fullscreenChange() { if (document.fullscreenEnabled || document.webkitIsFullScreen || document.mozFullScreen || document.msFullscreenElement) { console.log('enter fullscreen'); } else { console.log('exit fullscreen'); } // force to reload iframe once to prevent the iframe source didn't care about trying to resize the window // comment this line and you will see var iframe = document.querySelector('iframe'); iframe.src = iframe.src; } function onKlick(elem) { elem.requestFullscreen(); } </script> </head> <body style="text-align: center;" id="video1body"> <div id="container"> <iFrame width="320px" height="150px" src="URL" onclick="onKlick(this);" frameborder="2" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen> </iFrame> <div> <button class="button">FullScreen</button> </div> <div class="error"></div> </div> </body> </html>

                                  Damit funktioniert das mit dem Button. Also klicke ich auf den Button kommt Vollbild.

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

                                    @schuetzeschulz Zufrieden, oder muss ich noch weiterschauen?

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

                                      @mcu Naja, ich würde es "besser" finden, wenn das Vollbild kommt wenn ich auf das Kamerabild drücke/klicke. Also quasi ohne den Button...

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

                                        @schuetzeschulz Dafür habe ich keinen Ansatz mehr. Das scheint an der Software für die Anzeige der Kamera zu liegen. Welche Kamera ist das?

                                        S 1 Reply Last reply Reply Quote 0
                                        • Johannes Bauerstatter
                                          Johannes Bauerstatter @MCU last edited by

                                          @mcu Ja, funktioniert auch. War gewollt zum Testen.

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

                                            @mcu Habe 3 Wansview W3 Kameras im Einsatz.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            915
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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