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. Nachrichten-Ticker (Newsticker via PHP) in VIS einbinden

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    790

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

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

Nachrichten-Ticker (Newsticker via PHP) in VIS einbinden

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
communication
7 Beiträge 2 Kommentatoren 2.1k 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.
  • SKBS Offline
    SKBS Offline
    SKB
    Developer Most Active
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            0
            • jackblacksonJ Offline
              jackblacksonJ Offline
              jackblackson
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • SKBS Offline
                SKBS Offline
                SKB
                Developer Most Active
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                864

                Online

                32.5k

                Benutzer

                81.6k

                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