Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test lovelace 4.x

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Test lovelace 4.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      Dave69 last edited by

      @david-g
      OK muss ich mal probieren, Blockly wäre aber auch Neuland für mich.
      Kann man eigentlich die Schriftgröße der Werte oder die größe der Karte selbst öndern?
      PS: noch kurzer Zwischenbericht zum Wetter:
      Vorherssage kommt aktuell, steht heuet auf Donerstag, aktuelle Temp. ist aber falsch, das muss dann ja aber ein Problem vom Widget sein das er den falschen DP nimmt.

      David G. 1 Reply Last reply Reply Quote 0
      • David G.
        David G. @Dave69 last edited by

        @dave69

        For So kleine Umrechnungen ist blockly SEHR einfach. Wie Lego wenn es bei so simplen Sachen bleibt.

        Die Schriftgröße kann man über card mod ändern. Eine custom card. Das ist allerdings recht kompliziert,auchberst einmal mit gearbeitet.
        In der Markdown Karte geht's sehr einfach, wenn man etwas html kann.

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

          Hi,
          ich möchte gerne das Bild der Ring-Doorbell in Lovelace anzeigen lassen.
          Den Ring-Adapter habe ich installiert.
          Weiter komme ich nicht 😖
          Ich schaffe es nicht, eine Entität zu erzeugen, oder die livestream-files in einer HTML-Karte darzustellen.

          Kann mir jemand helfen?
          Danke!

          David G. 1 Reply Last reply Reply Quote 0
          • David G.
            David G. @M1R0O last edited by

            @m1r0o

            Was bietet dir der Adapter denn an?
            Serienmäßig geht es mit lovelace nur, wenn du einen Stream hast wo du ein jpg rausholen kannst. Falls der Adapter eine komplette Website mit stream bereitstellt kannst den als iframe einbinden.

            Ansonsten musst man das über Umwege lösen.
            Zb in vis eine view mit dem stream bauen und ich lovelace einbinden.

            M 2 Replies Last reply Reply Quote 0
            • M
              M1R0O @David G. last edited by

              @david-g
              Danke für die schnelle Antwort.
              Der Adapter bietet ein livestream-file und eine livestream-url.
              1.jpg

              David G. 1 Reply Last reply Reply Quote 0
              • David G.
                David G. @M1R0O last edited by

                @m1r0o

                Und die URL verweist auf was?
                Einen Stream oder eine Website mit eingebettetem Player?
                Nutzen kannst du ohne Umwege nur die zweite Variante.
                Da auf http verwiesen wird aber auch nur, wenn lovelace auch auf http (also nicht https) läuft.

                1 Reply Last reply Reply Quote 0
                • M
                  M1R0O @David G. last edited by

                  @david-g sagte in Test lovelace 3.x:

                  Zb in vis eine view mit dem stream bauen und ich lovelace einbinden.

                  Über vis scheint es zu klappen, das habe ich schon gelesen.
                  Wie klappt denn da die Einbindung in Lovelace?

                  1 Reply Last reply Reply Quote 0
                  • David G.
                    David G. last edited by

                    @m1r0o
                    Bei den Karten gibt es eine Karte die sich Webseite nennt. Da einfach die URL zu der view eingeben.

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      M1R0O @David G. last edited by M1R0O

                      @david-g
                      DAs klappt so halb. Der Stream ist nicht immer live.
                      Problem: Es gibt einen Datenpunkt: New livestream request. Wenn dieser Taster betätigt wird, aktualisiert sich die lievestream url, welche auf der Karte ebenfalls aktualisiert werden müsste.
                      Ist das realisierbar.

                      Danke

                      David G. 1 Reply Last reply Reply Quote 0
                      • David G.
                        David G. @M1R0O last edited by David G.

                        @m1r0o

                        So halb mit dem weg über vis oder direkt lovelace? Falls lovelace welche Karte?

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          M1R0O @David G. last edited by

                          @david-g Direkt Lovelace über die Website-Karte

                          XBiT David G. 2 Replies Last reply Reply Quote 0
                          • XBiT
                            XBiT @M1R0O last edited by XBiT

                            @m1r0o

                            Falls dein Stream ein MJPG ist dann so

                                  - type: markdown
                                    content: >
                                      # <center>Haustür</center>
                            
                                      <a href="/lovelace/kamera-haustuer"><img
                                      src='{synology.0.SurveillanceStation.cameras.Haustür.linkMjpegHttpPath}'
                                      />
                            

                            in den { } muss dein Datenpunkt rein
                            ,
                            Beste Grüße
                            XBiT

                            1 Reply Last reply Reply Quote 1
                            • David G.
                              David G. @M1R0O last edited by

                              @m1r0o sagte in Test lovelace 3.x:

                              @david-g Direkt Lovelace über die Website-Karte

                              Da gibt's leider keine Möglichkeit. Zumindest keine die ich wüsste außer den Umweg über vis.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                M1R0O @David G. last edited by M1R0O

                                @david-g
                                Mit vis habe ich mich nie beschäftigt, weiß leider gar nicht wo ich anfangen soll.

                                In diesem Thread wurde genau mein Problem gelöst:

                                In dem vom RING Adapter angelegten Datenpunkt ist die URL mit Angabe des Hostes abgelegt, dass war nicht so gut, ich habe den Hostnamen gegen die Host IP per Script getauscht.

                                on({id: 'ring.0.doorbell_21502358.livestream_url', change: "ne"}, async function (obj) {
                                var string = getState("ring.0.doorbell_21502358.livestream_url").val;
                                var newstring
                                newstring=string.replace("http://DESKTOP-RQ1PD76(SmartHome)","http://192.168.178.xxx");
                                log(newstring);
                                setState("ring.0.doorbell_21502358.livestream_url",newstring)
                                });
                                

                                Aus "http://DESKTOP-RQ1PD76(SmartHome):8082/ring.0/doorbell_21502358/livestream21502358_1629730800258.mp4" ist nun
                                http://192.168.178.xxx:8082/ring.0/doorbell_21502358/livestream21502358_1629730800258.mp4 geworden.

                                Der Eintrag im HTML-Widget sieht jetzt so aus:

                                <video height="448px" width="800" autoplay muted loop="true">
                                        <source src="{ring.0.doorbell_21502358.livestream_url}" type="video/mp4">
                                </video>
                                

                                Das klappt.

                                Ich habe mit ein Skript analog zum oberen geschrieben und den HTML-Eintrag in eine Markdown-Karte geschrieben. Die Karte bleibt aber weiß.

                                Ich weiß also nicht, was ich für Lovelace wo eintragen muss. Wenn du mir da einen Tipp geben kannst, würde ich versuchen es zu realisieren.

                                @XBiT: Das hat bei mir so nicht geklappt, danke.

                                David G. XBiT 2 Replies Last reply Reply Quote 0
                                • David G.
                                  David G. @M1R0O last edited by David G.

                                  @m1r0o

                                  Du kannst das so nicht in markdown setzen.
                                  Markdown ist was ganz "dummes" und kann nur was Text, Bilder und Tabellen anzeigen.

                                  Du musst dir in vis (da habe ich auch keine Ahnung von) mit diesem HTML widget eine view bauen. Vermutlich am besten ganzseitige?

                                  Diese kannst du dann als Website (nicht markdown) einbinden.

                                  1 Reply Last reply Reply Quote 0
                                  • XBiT
                                    XBiT @M1R0O last edited by XBiT

                                    @m1r0o

                                    eine Möglichkeit wäre es noch es so zu versuchen wie bei der Tagesschau in 100sec.

                                      - type: markdown
                                        content: >-
                                          # <center>News</center>
                                    
                                          <video src='{0_userdata.0.Links.Tagesschau.URL.Tagesschau100s}'
                                          width="100%" height="100%" poster="/cards/tagesschau_100sec.png"
                                          autobuffer controls>
                                    

                                    da der Wert von Datenpunkt

                                    https://media.tagesschau.de/video/2023/0410/TV-20230410-1007-5800.webxxl.h264.mp4
                                    

                                    ist also auch eine mp4 sollte es eventuell gehen.

                                    EDIT: kann sein das noch autoplay rein muss damit es gleich abgespielt wird.

                                    Beste Grüße
                                    XBiT

                                    David G. 1 Reply Last reply Reply Quote 1
                                    • David G.
                                      David G. @XBiT last edited by

                                      @xbit

                                      Das kannte ich noch gar nicht...
                                      Hast du zufällig das Script für mich, was die URL generiert?

                                      Mal gespannt, ob es bei einem stream funktioniert.

                                      XBiT 1 Reply Last reply Reply Quote 0
                                      • XBiT
                                        XBiT @David G. last edited by

                                        @david-g

                                        /* VIS Tagesschau_Link
                                        parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
                                        {1}
                                        02.03.2016 erstellt von pix
                                        15.03.2016 zu Javascript Instanz 1 gewechselt
                                        24.09.2016 umbenannt in VIS_Link_Tagesschau
                                        11.11.2018 Skript angepasst und optimiert
                                        03.05.2021 Skript angepasst
                                               tagesschau 100s mp4
                                               tagesschau Stream HTML-Link
                                        {1}
                                        todo: axios statt request() und etwas schöner machen
                                        {1}
                                        {1}
                                        */
                                        const fC = false; // forceCreation für createState()
                                        const logging = true;
                                        const dppfad = '0_userdata.0.Links.Tagesschau.'
                                        const idURL = dppfad + 'URL.Tagesschau';
                                        const idURL100s = dppfad + 'URL.Tagesschau100s';
                                         
                                        // ab hier nix mehr ändern
                                         
                                        createState(idURL,"", fC, {
                                         
                                           name: "HTML-Seite mit Tagesschau-Stream",
                                         
                                           desc: "geparster Link aus tagesschau.de",
                                         
                                           type: "string",
                                         
                                           role: "text.url"
                                         
                                        });
                                         
                                         
                                         
                                        createState(idURL100s,"", fC, {
                                         
                                           name: "Link zu Tagesschau in 100s",
                                         
                                           desc: "geparster Link aus tagesschau.de",
                                         
                                           type: "string",
                                         
                                           role: "text.url"
                                         
                                        });
                                         
                                         
                                         
                                        function findeURL () {   
                                         
                                           let request = require('request');
                                         
                                           let film_url;
                                         
                                           try {
                                         
                                               // Tagesschau in 100s
                                         
                                               const link = "http://www.tagesschau.de/100sekunden/";
                                         
                                               let regexp = /https:\/\/media\.tagesschau\.de\/video\/\d*\/\d*\/TV-\d*-\d*-\d*\.webxxl\.h264\.mp4/gm;
                                         
                                               request(link, function (error, response, body) {
                                         
                                                   if (!error && response.statusCode == 200) {
                                         
                                                       let result_arr = regexp.exec(body);
                                         
                                                       film_url = result_arr[0];
                                         
                                                       setState(idURL100s, film_url);
                                         
                                                       if (logging) log ("URL: " + film_url);
                                         
                                                   } else  { // Error beim Einlesen
                                         
                                                       log(error, 'error'); 
                                         
                                                   }
                                         
                                               });   // Ende request 
                                         
                                           } catch (fehler) {
                                         
                                               log("Fehler (try): " + fehler, "error");
                                         
                                           }
                                         
                                         
                                         
                                         
                                         
                                           
                                         
                                           // nicht schön, aber nochmal für Stream
                                         
                                           let stream_url;
                                         
                                           try {
                                         
                                               //Tagesschau Stream als HTML
                                         
                                               const link = "https://www.tagesschau.de/multimedia/livestreams/";
                                         
                                               let regexp = /https:\/\/www\.tagesschau\.de\/multimedia\/livestreams\/livestream-\d*-\d*~player\.html/gm;
                                         
                                         
                                         
                                               request(link, function (error, response, body) {
                                         
                                                   if (!error && response.statusCode == 200) {
                                         
                                                       let result_arr = regexp.exec(body);
                                         
                                                       stream_url = result_arr[0];
                                         
                                                       setState(idURL, stream_url);
                                         
                                                       if (logging) log ("HTML: " + stream_url);
                                         
                                                   } else  { // Error beim Einlesen
                                         
                                                       log(error, 'error'); 
                                         
                                                   }
                                         
                                               });   // Ende request 
                                         
                                           } catch (fehler) {
                                         
                                               log("Fehler (try): " + fehler, "error");
                                         
                                           }
                                         
                                        } // Ende findeURL
                                         
                                         
                                         
                                        schedule("8 */1 * * *", findeURL); // jedeStunde um 8 nach voll
                                         
                                        setTimeout(findeURL, 2000);
                                        

                                        Bitte

                                        M 1 Reply Last reply Reply Quote 1
                                        • M
                                          M1R0O @XBiT last edited by

                                          @xbit
                                          Das sieht gut aus, ist aber zu hoch für mich 🙄

                                          David G. XBiT 2 Replies Last reply Reply Quote 0
                                          • David G.
                                            David G. @M1R0O last edited by

                                            @m1r0o

                                            Für dich wäre vermutlich nur der kurze Part interessant.

                                            Zeug doch mal den Inhalt der Datenpunkte die mit dem Video zu tun haben. Evtl hilft das ja schon weiter.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            941
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            85
                                            843
                                            176347
                                            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