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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Gelöst: Update HTML Widget

NEWS

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

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

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

Gelöst: Update HTML Widget

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
7 Beiträge 2 Kommentatoren 2.5k Aufrufe 3 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 Online
    M Online
    michihorn
    schrieb am zuletzt editiert von michihorn
    #1

    Hallöchen
    wie kann ich manuell ein Update in einem HTML erzwingen?
    Es geht nicht um die Updatezeit die ich im Widget einstellen kann, sondern bei Bedarf neu laden. Ich habe eine Endlos Schleife laufen, dass Video würde sich nicht ändern. Sollte ein neues Video vorhanden sein, dann soll das neue Video in Endlos Schleife laufen, eben bis ein aktuelleres Video zur Verfügung steht.
    Folgende HTML Beschreibung steht im Widget.

    <video autoplay muted loop="true">
        <source src="http://192.168.178.135:8082/vis.0/NL/01Boot.mp4" type="video/mp4">
    </video>
    

    Ob sich ein neues Video eingestellt hat, wird per Script ermittelt

    on({id: 'ring.0.doorbell_21502358.created_at', change: "ne"}, async function (obj) {...........
    

    Hat jemand eine Idee?
    Michael

    OliverIOO 1 Antwort Letzte Antwort
    0
    • M michihorn

      Hallöchen
      wie kann ich manuell ein Update in einem HTML erzwingen?
      Es geht nicht um die Updatezeit die ich im Widget einstellen kann, sondern bei Bedarf neu laden. Ich habe eine Endlos Schleife laufen, dass Video würde sich nicht ändern. Sollte ein neues Video vorhanden sein, dann soll das neue Video in Endlos Schleife laufen, eben bis ein aktuelleres Video zur Verfügung steht.
      Folgende HTML Beschreibung steht im Widget.

      <video autoplay muted loop="true">
          <source src="http://192.168.178.135:8082/vis.0/NL/01Boot.mp4" type="video/mp4">
      </video>
      

      Ob sich ein neues Video eingestellt hat, wird per Script ermittelt

      on({id: 'ring.0.doorbell_21502358.created_at', change: "ne"}, async function (obj) {...........
      

      Hat jemand eine Idee?
      Michael

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von OliverIO
      #2

      @michihorn

      Funktioniert das Loop Attribut im Video Tag nicht?
      https://developer.mozilla.org/de/docs/Web/HTML/Element/video

      <video muted autoplay loop>

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      M 1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @michihorn

        Funktioniert das Loop Attribut im Video Tag nicht?
        https://developer.mozilla.org/de/docs/Web/HTML/Element/video

        <video muted autoplay loop>

        M Online
        M Online
        michihorn
        schrieb am zuletzt editiert von michihorn
        #3

        @oliverio Hallöchen Oliver
        das einmal geladene Video läuft wirklich endlos. Ich speichere allerdings neue Videos meiner RING immer unter dem selben Namen, damit das Widget den richtigen Bezug hat. Sollte sich während des endlos Loops die Quelle geändert haben, also ein neueres Video unter dem selben Namen wie im Widget hinterlegt, wird das nicht berücksichtigt.
        Danke für den Link, ich werde morgen mal Schauen, ob ich damit klar komme.
        Gruß
        Michael

        1 Antwort Letzte Antwort
        0
        • OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von
          #4

          @michihorn sagte in Update HTML Widget:

          @oliverio Hallöchen Oliver
          das einmal geladene Video läuft wirklich endlos. Ich speichere allerdings neue Videos meiner RING immer unter dem selben Namen, damit das Widget den richtigen Bezug hat. Sollte sich während des endlos Loops die Quelle geändert haben, also ein neueres Video unter dem selben Namen wie im Widget hinterlegt, wird das nicht berücksichtigt.
          Danke für den Link, ich werde morgen mal Schauen, ob ich damit klar komme.
          Gruß
          Michael

          in dem fall wird die doku zum video tag nicht helfen.
          ein browser kann ja nicht überwachen ob die ursprüngliche ressource (dein video) sich geändert hat.
          mir würde jetzt das folgende einfallen.
          du schreibst die video url in einen datenpunkt und fügst ein veränderliches zeichen hinten an, bspw die zeit in millisekunden. immer wenn du feststellst, das sich das video geändert hat, dann beschreibst du den datenpunkt neu.
          im html widget fügst du per binding diesen datenpunkt an stelle der video url ein.
          damit das veränderliche zeichen das video nicht stört musst du es mit einem fragezeichen trennen (vorher mal im browser probieren)
          Das veränderliche Kennzeichen benötigst du, da bei beschreiben des gleichen Inhalts in einen Datenpunkt in vis sonst keine Änderung ausgelöst wird. theoretisch dürfte der browser in diesem fall alles nach dem Fragezeichen nicht auswerten.

          Beispiel Inhalt des Datnepunkts

          http://192.168.178.135:8082/vis.0/NL/01Boot.mp4?12345
          

          Inhalt des html widgets

          <video autoplay muted loop="true">
              <source src="{Name des Datenpunktes}" type="video/mp4">
          </video>
          

          Also den Namen des Datenpunktes in geschweiften Klammern da reinschreiben wo die Url auftauchen soll.

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          M 1 Antwort Letzte Antwort
          0
          • OliverIOO OliverIO

            @michihorn sagte in Update HTML Widget:

            @oliverio Hallöchen Oliver
            das einmal geladene Video läuft wirklich endlos. Ich speichere allerdings neue Videos meiner RING immer unter dem selben Namen, damit das Widget den richtigen Bezug hat. Sollte sich während des endlos Loops die Quelle geändert haben, also ein neueres Video unter dem selben Namen wie im Widget hinterlegt, wird das nicht berücksichtigt.
            Danke für den Link, ich werde morgen mal Schauen, ob ich damit klar komme.
            Gruß
            Michael

            in dem fall wird die doku zum video tag nicht helfen.
            ein browser kann ja nicht überwachen ob die ursprüngliche ressource (dein video) sich geändert hat.
            mir würde jetzt das folgende einfallen.
            du schreibst die video url in einen datenpunkt und fügst ein veränderliches zeichen hinten an, bspw die zeit in millisekunden. immer wenn du feststellst, das sich das video geändert hat, dann beschreibst du den datenpunkt neu.
            im html widget fügst du per binding diesen datenpunkt an stelle der video url ein.
            damit das veränderliche zeichen das video nicht stört musst du es mit einem fragezeichen trennen (vorher mal im browser probieren)
            Das veränderliche Kennzeichen benötigst du, da bei beschreiben des gleichen Inhalts in einen Datenpunkt in vis sonst keine Änderung ausgelöst wird. theoretisch dürfte der browser in diesem fall alles nach dem Fragezeichen nicht auswerten.

            Beispiel Inhalt des Datnepunkts

            http://192.168.178.135:8082/vis.0/NL/01Boot.mp4?12345
            

            Inhalt des html widgets

            <video autoplay muted loop="true">
                <source src="{Name des Datenpunktes}" type="video/mp4">
            </video>
            

            Also den Namen des Datenpunktes in geschweiften Klammern da reinschreiben wo die Url auftauchen soll.

            M Online
            M Online
            michihorn
            schrieb am zuletzt editiert von michihorn
            #5

            @oliverio sagte in Update HTML Widget:

            <source src="{Name des Datenpunktes}" type="video/mp4">

            Hallo Oliver,
            der RING Adapter hat folgenden DP angelegt: "ring.0.doorbell_21502358.livestream_url",
            der Inhalt sieht wie folgt aus:
            http://DESKTOP-RQ1PD76(SmartHome):8082/ring.0/doorbell_21502358/livestream21502358_1629730800258.mp4
            somit sieht der Inhalt bei neuem Ereignis immer anders aus.
            Ich gehe davon aus, das "http://DESKTOP-RQ1PD76" durch die physische IP 192.168.178.xxx ersetzt werden muss.
            IM HTML sieht es so aus:

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

            Wie genau soll das Binding aussehen? Leider hat es noch nicht geklappt.
            Gruß
            Michael

            OliverIOO 1 Antwort Letzte Antwort
            0
            • M michihorn

              @oliverio sagte in Update HTML Widget:

              <source src="{Name des Datenpunktes}" type="video/mp4">

              Hallo Oliver,
              der RING Adapter hat folgenden DP angelegt: "ring.0.doorbell_21502358.livestream_url",
              der Inhalt sieht wie folgt aus:
              http://DESKTOP-RQ1PD76(SmartHome):8082/ring.0/doorbell_21502358/livestream21502358_1629730800258.mp4
              somit sieht der Inhalt bei neuem Ereignis immer anders aus.
              Ich gehe davon aus, das "http://DESKTOP-RQ1PD76" durch die physische IP 192.168.178.xxx ersetzt werden muss.
              IM HTML sieht es so aus:

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

              Wie genau soll das Binding aussehen? Leider hat es noch nicht geklappt.
              Gruß
              Michael

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von
              #6

              @michihorn sagte in Update HTML Widget:

              @oliverio sagte in Update HTML Widget:

              <source src="{Name des Datenpunktes}" type="video/mp4">

              Hallo Oliver,
              der RING Adapter hat folgenden DP angelegt: "ring.0.doorbell_21502358.livestream_url",
              der Inhalt sieht wie folgt aus:
              C:\iobroker\SmartHome\iobroker-data\ring_0\snapshot\livestream21502358_1629726449884.mp4
              somit sieht der Inhalt bei neuem Ereignis immer anders aus.
              IM HTML sieht es so aus:

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

              Wie genau soll das Binding aussehen? Leider hat es noch nicht geklappt.
              Gruß
              Michael

              das hat deswegen nicht geklappt, weil du da einen dateipfad und keine url angegeben hast.
              im ersten post hast du doch geschrieben, das das video immer unter der url http://192.168.178.135:8082/vis.0/NL/01Boot.mp4 verfügbar ist

              irgendwie hat sich die fragestellung nun geändert?

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              1 Antwort Letzte Antwort
              0
              • M Online
                M Online
                michihorn
                schrieb am zuletzt editiert von michihorn
                #7

                @oliverio sagte in Update HTML Widget:

                Also den Namen des Datenpunktes in geschweiften Klammern da reinschreiben wo die Url auftauchen soll.

                Hallo Oliver,
                ich habe Deinen Tip umgesetzt.
                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.
                War ein toller Tip mit dem Binding.
                Gruß
                Michael

                1 Antwort Letzte Antwort
                1
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                840

                Online

                32.4k

                Benutzer

                81.5k

                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