Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Nachrichten-Ticker (Newsticker via PHP) in VIS einbinden

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    225

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Nachrichten-Ticker (Newsticker via PHP) in VIS einbinden

Scheduled Pinned Locked Moved Skripten / Logik
communication
7 Posts 2 Posters 2.2k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SKBS Offline
    SKBS Offline
    SKB
    Developer Most Active
    wrote on last edited by SKB
    #1

    Hallo,
    da ich selbst auf der Suche nach einem solchen Newsticker war und noch nichts adäquates gefunden habe, habe ich kurzerhand ein Skript erstellt, welches dies erledigt.
    Vorraussetzung hierfür: Webserver mit PHP
    Im Fehlerfall: Es kann sein, dass das JavaScript durch den lokalen Aufruf geblockt wird.

    Newsticker.png

    PHP Parse Skript:

    <?php
    //URL der Datei, die geladen/geparsed werden soll
    $newsfile = "http://www.tagesschau.de/newsticker.rdf";
    
    // Funktion, um News rdf Datei abzuholen
    function get_file($file, $local_path, $newfilename) 
    { 
        $err_msg = ''; 
        //echo "<br>Attempting message download for $file<br>"; 
        $out = fopen($local_path.$newfilename,"wb");
        if ($out == FALSE){ 
          print "File not opened<br>"; 
          exit; 
        } 
    
        $ch = curl_init(); 
    
        curl_setopt($ch, CURLOPT_FILE, $out); 
        curl_setopt($ch, CURLOPT_HEADER, 0); 
        curl_setopt($ch, CURLOPT_URL, $file); 
    
        curl_exec($ch); 
        //echo "<br>Error is : ".curl_error ( $ch); 
    
        curl_close($ch); 
    
    }
    //Funktionsaufruf um die Datei abzuholen
    get_file($newsfile,'./','newsticker.rdf');
    
    // Feed einlesen
    if( !$xml = simplexml_load_file('newsticker.rdf') ) {
        die('Fehler beim Einlesen der XML Datei!');
    }
    
    // Ausgabe Array
    $out = array();
    
    // auszulesende Datensaetze
    $i = 7;
    
    // Items vorhanden?
    if( !isset($xml->channel[0]->item) ) {
    	die('Keine Items vorhanden!');
    }
    
    // Items holen
    foreach($xml->channel[0]->item as $item) {
    	if( $i-- == 0 ) {
    		break;
    	}
    	$out[]=(string) $item->title;
    }
    //print_r($out);
    
    // Eintraege ausgeben
    $news = "";
    foreach ($out as $value) {
    	$news .= " ++++ ".$value;
    }
    ?>
    <!DOCTYPE html>
    <html lang="de">
    <head>
    <meta charset="utf-8">
    <title>SKB Web - NewsParser</title>
    <style>
    	.marquee {
    		max-width: 100vw; /* iOS braucht das */
    		white-space: nowrap;
    		overflow: hidden;
    		/* Hintergrundfarbe des Lauftextes. Auskommentieren, um Transparent zu erhalten */
    		background-color: #000000;
    		font-size:20px;
    	}
    
    	.marquee span {
    		display: inline-block;
    		padding-left: 100%;
    		animation: marquee 10s linear infinite;
    		/* Textfarbe des Lauftextes */
    		color: #FFFFFF;
    	}
    
    	/* Optional: mouseover (oder Tipp auf dem Touchscreen) pausiert die Laufschrift */
    	.marquee span:hover {
    		animation-play-state: paused 
    	}
    
    	/* Make it move */
    	@keyframes marquee {
    		0%   { transform: translateX(0); }
    		100% { transform: translateX(-100%); }
    	}
    </style>
    </head>
    <body>
    <div id="marquee" class="marquee"><span><?php echo $news; ?></span></div>
    <script>
    	if (document.getElementById("marquee")) {
    		var laufschrift = document.getElementById("marquee");
    		len = laufschrift.innerHTML.length;
    		laufschrift.firstChild.style.animationDuration = len/6 +"s";
    	}
    </script>
    </body>
    </html>
    
    

    Durch das Skript wird bei Aktualisierung des iframe in VIS neu von tagesschau.de heruntergeladen und daraus eine Laufschrift erstellt :)

    Die Adresse der Datei kann in Zeile 3 geändert werden.

    Es können die Farben per CSS angepasst werden:

    • Zeile 73: Hintergrundfarbe
    • Zeile 74: Textgröße
    • Zeile 82: Textfarbe

    Die Anzahl der News, die aus der Datei gelesen werden sollen, können in Zeile 40 angepasst werden.

    Das Skript wird einfach per iframe in VIS eingebunden.

    Sollten Fragen bestehen, bitte einfch melden!

    ... wer nicht mit der Zeit geht, geht mit der Zeit ...

    Aktuelle Entwicklung: Energiefluss - erweitert (https://forum.iobroker.net/topic/64734)

    jackblacksonJ 1 Reply Last reply
    2
    • SKBS SKB

      Hallo,
      da ich selbst auf der Suche nach einem solchen Newsticker war und noch nichts adäquates gefunden habe, habe ich kurzerhand ein Skript erstellt, welches dies erledigt.
      Vorraussetzung hierfür: Webserver mit PHP
      Im Fehlerfall: Es kann sein, dass das JavaScript durch den lokalen Aufruf geblockt wird.

      Newsticker.png

      PHP Parse Skript:

      <?php
      //URL der Datei, die geladen/geparsed werden soll
      $newsfile = "http://www.tagesschau.de/newsticker.rdf";
      
      // Funktion, um News rdf Datei abzuholen
      function get_file($file, $local_path, $newfilename) 
      { 
          $err_msg = ''; 
          //echo "<br>Attempting message download for $file<br>"; 
          $out = fopen($local_path.$newfilename,"wb");
          if ($out == FALSE){ 
            print "File not opened<br>"; 
            exit; 
          } 
      
          $ch = curl_init(); 
      
          curl_setopt($ch, CURLOPT_FILE, $out); 
          curl_setopt($ch, CURLOPT_HEADER, 0); 
          curl_setopt($ch, CURLOPT_URL, $file); 
      
          curl_exec($ch); 
          //echo "<br>Error is : ".curl_error ( $ch); 
      
          curl_close($ch); 
      
      }
      //Funktionsaufruf um die Datei abzuholen
      get_file($newsfile,'./','newsticker.rdf');
      
      // Feed einlesen
      if( !$xml = simplexml_load_file('newsticker.rdf') ) {
          die('Fehler beim Einlesen der XML Datei!');
      }
      
      // Ausgabe Array
      $out = array();
      
      // auszulesende Datensaetze
      $i = 7;
      
      // Items vorhanden?
      if( !isset($xml->channel[0]->item) ) {
      	die('Keine Items vorhanden!');
      }
      
      // Items holen
      foreach($xml->channel[0]->item as $item) {
      	if( $i-- == 0 ) {
      		break;
      	}
      	$out[]=(string) $item->title;
      }
      //print_r($out);
      
      // Eintraege ausgeben
      $news = "";
      foreach ($out as $value) {
      	$news .= " ++++ ".$value;
      }
      ?>
      <!DOCTYPE html>
      <html lang="de">
      <head>
      <meta charset="utf-8">
      <title>SKB Web - NewsParser</title>
      <style>
      	.marquee {
      		max-width: 100vw; /* iOS braucht das */
      		white-space: nowrap;
      		overflow: hidden;
      		/* Hintergrundfarbe des Lauftextes. Auskommentieren, um Transparent zu erhalten */
      		background-color: #000000;
      		font-size:20px;
      	}
      
      	.marquee span {
      		display: inline-block;
      		padding-left: 100%;
      		animation: marquee 10s linear infinite;
      		/* Textfarbe des Lauftextes */
      		color: #FFFFFF;
      	}
      
      	/* Optional: mouseover (oder Tipp auf dem Touchscreen) pausiert die Laufschrift */
      	.marquee span:hover {
      		animation-play-state: paused 
      	}
      
      	/* Make it move */
      	@keyframes marquee {
      		0%   { transform: translateX(0); }
      		100% { transform: translateX(-100%); }
      	}
      </style>
      </head>
      <body>
      <div id="marquee" class="marquee"><span><?php echo $news; ?></span></div>
      <script>
      	if (document.getElementById("marquee")) {
      		var laufschrift = document.getElementById("marquee");
      		len = laufschrift.innerHTML.length;
      		laufschrift.firstChild.style.animationDuration = len/6 +"s";
      	}
      </script>
      </body>
      </html>
      
      

      Durch das Skript wird bei Aktualisierung des iframe in VIS neu von tagesschau.de heruntergeladen und daraus eine Laufschrift erstellt :)

      Die Adresse der Datei kann in Zeile 3 geändert werden.

      Es können die Farben per CSS angepasst werden:

      • Zeile 73: Hintergrundfarbe
      • Zeile 74: Textgröße
      • Zeile 82: Textfarbe

      Die Anzahl der News, die aus der Datei gelesen werden sollen, können in Zeile 40 angepasst werden.

      Das Skript wird einfach per iframe in VIS eingebunden.

      Sollten Fragen bestehen, bitte einfch melden!

      jackblacksonJ Offline
      jackblacksonJ Offline
      jackblackson
      wrote on last edited by
      #2

      @SKB Versteht ich das richtig - es wird hier noch neben ioBroker Infrastruktur benötigt, dass das ganze funktioniert, oder? Oder wo fügst du das PHP Parse Script ein? Ich find dies nämlich eine absolut coole Idee!

      SKBS 1 Reply Last reply
      0
      • jackblacksonJ jackblackson

        @SKB Versteht ich das richtig - es wird hier noch neben ioBroker Infrastruktur benötigt, dass das ganze funktioniert, oder? Oder wo fügst du das PHP Parse Script ein? Ich find dies nämlich eine absolut coole Idee!

        SKBS Offline
        SKBS Offline
        SKB
        Developer Most Active
        wrote on last edited by SKB
        #3

        @jackblackson
        Ja, es wird neben dem ioBroker ein Webserver mit PHP-Unterstützung gefordert.
        Wer z.B. ein pi-Hole (Werberblocker) im Netzwerk laufen hat bzw. auf einem Raspi pi-Hole zum Werbeblocken nachinstalliert, der erhält automatisch einen kleinen Webserver mit PHP-Support.

        Auch haben inzwischen viele .de Domain-Hoster PHP mit an Board und da würde sich dieses Skript auch ausführen lassen.
        Gerne kann ich dir aber auch einer Art Demo zur Verfügung stellen, die Du dann einbinden kannst.

        Ich habe oben zusätzlich mal ein Bild eingebunden, wie die sich der Ticker verhält.

        ... wer nicht mit der Zeit geht, geht mit der Zeit ...

        Aktuelle Entwicklung: Energiefluss - erweitert (https://forum.iobroker.net/topic/64734)

        jackblacksonJ 1 Reply Last reply
        0
        • SKBS SKB

          @jackblackson
          Ja, es wird neben dem ioBroker ein Webserver mit PHP-Unterstützung gefordert.
          Wer z.B. ein pi-Hole (Werberblocker) im Netzwerk laufen hat bzw. auf einem Raspi pi-Hole zum Werbeblocken nachinstalliert, der erhält automatisch einen kleinen Webserver mit PHP-Support.

          Auch haben inzwischen viele .de Domain-Hoster PHP mit an Board und da würde sich dieses Skript auch ausführen lassen.
          Gerne kann ich dir aber auch einer Art Demo zur Verfügung stellen, die Du dann einbinden kannst.

          Ich habe oben zusätzlich mal ein Bild eingebunden, wie die sich der Ticker verhält.

          jackblacksonJ Offline
          jackblacksonJ Offline
          jackblackson
          wrote on last edited by
          #4

          @SKB Ich hab einen Raspi mit pi-Hole - und wäre sehr froh, wenn du hier eine etwas detailliertere Anleitung erstellen könntest. Gerade auch, wie die Daten dann zum ioBroker kommen

          SKBS 1 Reply Last reply
          0
          • jackblacksonJ jackblackson

            @SKB Ich hab einen Raspi mit pi-Hole - und wäre sehr froh, wenn du hier eine etwas detailliertere Anleitung erstellen könntest. Gerade auch, wie die Daten dann zum ioBroker kommen

            SKBS Offline
            SKBS Offline
            SKB
            Developer Most Active
            wrote on last edited by SKB
            #5

            @jackblackson Wenn Du die IP-Adresse des pi-hole im Browser aufrufst, müsstest du ja auf die Konfigurationsoberfläche des pi-hole kommen, richtig?

            pi-hole.png

            Sollte dies der Fall sein, so kannst du mal im Verzeichnis "/var/www/html/admin" schauen, ob da die PHP Dateien von pi-Hole liegen.

            Die PHP, die auf pi-hole installiert ist, kannst Du mit "php -v" abrufen.

            Ist dies der Fall, so kannst du unter "/var/www/html/" einen neuen Ordner "newsticker" anlegen und dort das Skript ablegen. Das Skript benötigt die Berechtigung, Dateien zu lesen und zu schreiben.

            Danach das Skript wie oben beschrieben anpassen, dann müsste es unter "http://<Adresse-pi-hole>/newsticker/" erreichbar sein.

            Bei weiteren Fragen, einfach den Reply Button betätigen :)

            ... wer nicht mit der Zeit geht, geht mit der Zeit ...

            Aktuelle Entwicklung: Energiefluss - erweitert (https://forum.iobroker.net/topic/64734)

            1 Reply Last reply
            0
            • jackblacksonJ Offline
              jackblacksonJ Offline
              jackblackson
              wrote on last edited by
              #6

              @SKB Wäre dies auch eine Lösung, diesen Adapter zu nutzen: https://forum.iobroker.net/topic/31294/test-adapter-rssfeed-v0-0-x/2

              1 Reply Last reply
              0
              • SKBS Offline
                SKBS Offline
                SKB
                Developer Most Active
                wrote on last edited by
                #7

                Hört sich ähnlich an. Der Adapter scheint relativ neu zu sein, da ich vor etwa 14 Tagen danach gesucht und nichts gefunden habe.
                Gut, ich habe keinen Datenpunkt in VIS für mein Skript eingebaut - jedoch kann es scrollen. Und das war es mir wert ;)

                Du kannst diesen Adapter ja gerne testen :)

                ... wer nicht mit der Zeit geht, geht mit der Zeit ...

                Aktuelle Entwicklung: Energiefluss - erweitert (https://forum.iobroker.net/topic/64734)

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate

                508

                Online

                32.7k

                Users

                82.5k

                Topics

                1.3m

                Posts
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Home
                • Recent
                • Tags
                • Unread 0
                • Categories
                • Unreplied
                • Popular
                • GitHub
                • Docu
                • Hilfe