Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    14
    1
    2.1k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    2.5k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    1.4k

[Projekt] RSS-feed mit ioBroker

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
6 Beiträge 4 Kommentatoren 3.2k 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

              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

              Registrieren Anmelden
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              329

              Online

              32.9k

              Benutzer

              83.2k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2026
              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