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. Praktische Anwendungen (Showcase)
  4. [Projekt] RSS-feed mit ioBroker

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

[Projekt] RSS-feed mit ioBroker

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
6 Beiträge 4 Kommentatoren 3.0k Aufrufe
  • Ä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.
  • S Offline
    S Offline
    starfish
    schrieb am zuletzt editiert von
    #1

    Bereits seit einiger Zeit verwende ich ein RSS-feed zur Anzeige relevanter Temperaturen auf dem Desktop. Das Charts-Programm Zabbix stellt so nebenbei einen solchen feed bereit. Im Zuge der Vereinfachung, und auch weil ioBroker eigene Charts-Darstellungen ermöglicht, wollte ich die Installation konsolidieren. Dazu fehlte nur noch ein Feed, der ioBroker Datenpunkte broadcastet. Also habe ich mich mit meinen dilettantischen JS-Kenntnissen mal überwunden, etwas zusammenzubasteln. Hier das sicher verbesserungswürdige, aber durchaus schon funktionierende Resultat.

    Rss-Clients zur Darstellung gibts ja wie Sand am Meer, hier 2 Beispiele für den Windows Desktop:

    Ticker: (klick, ruckeln kommt vom screenshot-programm)
    291_rss_ticker_schnell.gif

    Feedling (transparentes Gadget) Darstellung mehrer Feeds möglich.

    https://sourceforge.net/projects/feedli … t/download

    291_feedling2.png

    die JS-Baustelle:

             schedule("*/3 * * * *",  function () { // alle 3 Minute
    //
    //--------------timestamp
       var ts = new Date();
        ts = formatDate(ts, "hh:mm")  + " \t";
    //--------------ende timestamp
    
    var header1 = (''+'<feed xmlns="http://www.w3.org/2005/Atom">'+'<title>values_BS at ' + ts + '</title>');
    
    var title_a = ('<entry><title>');
    var title_e = ('</title></entry>');
    var feed_e = ('</feed>');
    var fs = require('fs');
    var fn = "/var/www/basel.xml";
    var aussen=getState("hm-rpc.3.IEQ0020678.1.TEMPERATURE").val;
    var Heizg=getState("hm-rpc.3.IEQ0405376.1.TEMPERATURE").val;
    var wz_t=getState("hm-rpc.3.MEQ0476362.1.TEMPERATURE").val;
    var wz_h=getState("hm-rpc.3.MEQ0476362.1.HUMIDITY").val;
    var k_t=getState("hm-rpc.3.MEQ0477427.1.TEMPERATURE").val;
    var k_h=getState("hm-rpc.3.MEQ0477427.1.HUMIDITY").val;
    
     if (fs.existsSync(fn)) {
        fs.truncateSync(fn); //lösche Inhalt
        fs.appendFileSync(fn, header1 + "\n");
        fs.appendFileSync(fn, title_a  +"Aussen: " + aussen +" °C" + title_e + "\n");
        fs.appendFileSync(fn, title_a  +"Heizung: " + Heizg +" °C" + title_e + "\n");
        fs.appendFileSync(fn, title_a  +"Wohnz_t: " + wz_t +" °C" + title_e + "\n");
        fs.appendFileSync(fn, title_a  +"Wohnz_h: " + wz_h +" %rH" + title_e + "\n");
        fs.appendFileSync(fn, title_a  +"Keller_t: " + k_t +" °C" + title_e + "\n");   
        fs.appendFileSync(fn, title_a  +"Keller_h: " + k_h +" %rH" + title_e + "\n");
        fs.appendFileSync(fn, feed_e + "\n");
        } else {
        log("RSS-file nicht gefunden - wird angelegt", "info");
        fs.appendFileSync(fn, header1 + "\n");
        fs.appendFileSync(fn, title_a + ts +"init feed" + title_e + "\n");
        fs.appendFileSync(fn, feed_e + "\n");   
        }   
    });
    
    

    Dieses Skript setzt ein XML-file zusammen, welches den eigentlichen feed darstellt. Dieses File muss in das Datenverzeichnis eines web-servers abgelegt werden (hier /var/www/)

    Der Zugriff geschieht dann via den iobroker proxy adapter. (url: http://192.168.0.110:8082/proxy.0/www/temperature.xml)
    291_proxy.png

    verbesserte Version siehe hier http://forum.iobroker.net/viewtopic.php?f=21&t=8311

    Vielleicht kann jemand dieses Projekt verwenden, bestenfalls dient es sogar als Anregung für ein RSS-Adapter, zumal es ja node-js RSS-feed module gibt. Mein Skript ist "hardwired" und deshalb nicht sehr universell, bzw. es bedingt zur Anpassung halt noch Handarbeit.

    1 Antwort Letzte Antwort
    0
    • ldittmarL Offline
      ldittmarL Offline
      ldittmar
      Developer
      schrieb am zuletzt editiert von
      #2

      Coole Idee… Ich habe man ein RSS-Creator Adapter in unsere Wunschliste hinzugefügt. ;)

      https://trello.com/c/1JWvdbz4/278-adapt ... ed-creator

      Grüße,

      ldittmar

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        starfish
        schrieb am zuletzt editiert von
        #3

        [im 1. Post eingefügt]

        1 Antwort Letzte Antwort
        0
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #4

          Kleiner Denkanstoß, vielleicht ist das ja eine Option:

          Statt in eine Datei zu schreiben, könnte man auch einen String zusammenbasteln und den in einen State schreiben. Mit simple-api könnte man den in Rohform zurückgeben, und sollte damit keinen externen http-Server benötigen. => https://github.com/ioBroker/ioBroker.si … ainvalue-1

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            starfish
            schrieb am zuletzt editiert von
            #5

            @AlCalzone:

            Kleiner Denkanstoß, vielleicht ist das ja eine Option:

            … State ... simple-api ` hallo AlCalzone - danke für den Denkanstoss. Viele Wege führen nach Rom. Was ich suchte, war eine quick and dirty Lösung. Wenn ich was verbessere, dann gehts Richtung node.js feed - module. Aber im Moment bin ich ganz zufrieden mit der oben beschriebenen Lösung.

            gruss /starfish

            1 Antwort Letzte Antwort
            0
            • apollon77A Offline
              apollon77A Offline
              apollon77
              schrieb am zuletzt editiert von
              #6

              An alle Interessierten: Adapter-Request ist jetzt auf Github unter https://github.com/ioBroker/AdapterRequests/issues/30 zu finden. Bitte dort wie unter https://github.com/ioBroker/AdapterRequ … o-use-this beschrieben voten!

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              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

              602

              Online

              32.5k

              Benutzer

              81.7k

              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