Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Skript] RSS feed-generator

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Skript] RSS feed-generator

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

      nachdem nun mein Anfängerscript im Projekt-forum neu mit dem node.js modul rss läuft, ist wohl hier der bessere Ort.

      Die Idee dahinter ist, dass iobroker selbst ein RSS-feed zur Verfügung stellt, damit auf dem Desktop oder Smartphone wichtige Eckdaten permanent dargestellt werden können. RSS-clients gibts ja einige.

      Die Einrichtung ist relativ einfach. In den Eigenschaften der Javascript Instanz muss unter "Zusätzliche NPM-Module" rss eingefügt werden. Zudem wird noch ein eigenes Web-Verzeichnis /var/www benötigt. In den iobroker proxy adapter Einstellungen verweise ich dann auf dieses Verzeichnis (Kontext : /www URL: /var/www/) Der Feed ist dann unter http://<ip- iobroker="">:8082/proxy.0/www/bs.xml erreichbar. (bs.xml ist das feed-file, welches untenstehendes script in /var/www/ ablegt)

      das Skript selbst ist immer noch rudimentär aber funktioniert hier bestens.

      schedule("*/15 * * * *",  function () { // alle 15 Minute
      // Modul laden
      var Feed = require('rss');
      var fs = require('fs');
      var fn = "/var/www/bs.xml";
      //--------------timestamp
         var ts = new Date();
          ts = formatDate(ts, "hh:mm")  ;
      
      // file neu
      fs.open(fn, 'w', function (err, file) {   
        if (err) throw err;
      //  console.log('feed update!');
      }); 
      // daten von iobroker holen
      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;
      
      // init module
      var feed = new Feed({  
          title:          'Werte BS um ' + ts,
      //    docs: 'docs',
          description:    'Verwendung des RSS-moduls!',
      });
      
      // Datenpunkt_1
      feed.item({
          title: 'aussen: ' + aussen + ' °C',
       //   date: new Date(),
      });  
      //Datenpunkt_2
      feed.item({
          title: 'Heizg: ' + Heizg + ' °C',
      });  
      //Datenpunkt_3
      feed.item({
          title: 'Wohnz_t: ' + wz_t + ' °C',
      }); 
      //Datenpunkt_4
      feed.item({
          title: 'Wohnz_h: ' + wz_h + ' %rH',
      }); 
      //Datenpunkt_5
      feed.item({
          title: 'Keller_t: ' + k_t + ' °C',
      }); 
      //Datenpunkt_6
      feed.item({
          title: 'Keller_h: ' + k_h + ' %rH',
      }); 
      // feed in file schreiben
      var output = feed.xml({indent: true});
      
      fs.appendFileSync(fn, output + "\n");
      
      });
      
      

      Link zum ursprünglichen Beitrag http://forum.iobroker.net/viewtopic.php?f=35&t=8079</ip->

      1 Reply Last reply Reply Quote 0
      • ruhr70
        ruhr70 last edited by

        Cool!

        Bin darüber gestolpert als die Adaptervorschläge von Trello zu Github geholt wurden.

        Coole Idee!

        1 Reply Last reply Reply Quote 0
        • R
          robsdobs last edited by

          Wenn jemand diesen Thread findet, im https://forum.iobroker.net/viewtopic.php?f=35&t=8079 gibt es noch folgende Hinweise:

          @AlCalzone:

          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 `

          @apollon77:

          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! `

          Das mit der simple-api werde ich mal versuchen umzusetzen.

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

          Support us

          ioBroker
          Community Adapters
          Donate

          433
          Online

          31.7k
          Users

          79.8k
          Topics

          1.3m
          Posts

          3
          3
          1107
          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