Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Projekt] RSS-feed mit ioBroker

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Projekt] RSS-feed mit ioBroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      starfish last edited by

      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 Reply Last reply Reply Quote 0
      • ldittmar
        ldittmar Developer last edited by

        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 Reply Last reply Reply Quote 0
        • S
          starfish last edited by

          [im 1. Post eingefügt]

          1 Reply Last reply Reply Quote 0
          • AlCalzone
            AlCalzone Developer last edited by

            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

            1 Reply Last reply Reply Quote 0
            • S
              starfish last edited by

              @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 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 last edited by

                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!

                Apollon77 created this issue in ioBroker/AdapterRequests

                open RSS-Feed Creator #30

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                888
                Online

                31.7k
                Users

                79.7k
                Topics

                1.3m
                Posts

                4
                6
                2770
                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