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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test lovelace 4.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                          • XBiT
                                            XBiT @M1R0O last edited by

                                            @m1r0o

                                            aus dem was ich von dir gelesen habe sollte so deine Card aussehen.

                                            type: markdown
                                            content: >-
                                              # <center>Kamera</center>
                                            
                                              <video src='{ring.0.doorbell_21502358.livestream_url}' width="100%"
                                              height="100%" autobuffer autoplay controls>
                                            
                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            902
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            85
                                            856
                                            210600
                                            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