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. ioBroker Allgemein
  4. Adapter um Dateien zu lesen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    864

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Adapter um Dateien zu lesen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
7 Beiträge 4 Kommentatoren 3.4k 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.
  • a200A Offline
    a200A Offline
    a200
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich frage meinen Stromzähler regelmäßig ab. Die Werte werden zur Zeit in einer Datei gespeichert. Gibt es einen Adapter mit dem ich die Datei(n) auslesen und in iobroker nutzen kann?

    Danke für die Hilfe,

    a200.

    IoBroker auf QNAP TS-451, Raspi und NUC

    1 Antwort Letzte Antwort
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      schrieb am zuletzt editiert von
      #2

      @a200:

      ich frage meinen Stromzähler regelmäßig ab. Die Werte werden zur Zeit in einer Datei gespeichert. Gibt es einen Adapter mit dem ich die Datei(n) auslesen und in iobroker nutzen kann? `

      Wo liegt die Datei denn?

      Ich erzeuge z.B. auf anderen Server per Skript und Cron lokale Abfragen, die auf dem externen Server gespeichert werden.

      Das Verzeichnis des externen Server ist dann auf meinem ioBroker Server (Linux) per mount eingebunden.

      Die Datei lasse ich mir per Skript (Javascript-Adapter) mit excec() und "cat…" ausgeben und verarbeite den Inhalt dann im Skript.

      Beispiel:

      ! // ermittelt auf Linuxrechner den Festplattenplatz für ioBroker // mit dem Linux Befehl: du ! var pfad = "Systeminfos.mySQL.HD_mySQL" + "."; var cronStr = "*/30 * * * *"; ! var abfrageMySQL = "cat /mnt/ubuntu1604-mysql-server/opt/status/hd_mysql.txt"; var abfrageMySQLiobroker = "cat /mnt/ubuntu1604-mysql-server/opt/status/hd_mysql_iobroker.txt"; var abfrageMySQbackup = "cat /mnt/ubuntu1604-mysql-server/opt/status/hd_mysql_iobroker_backup.txt"; var abfrageDate = 'cat /mnt/ubuntu1604-mysql-server/opt/status/date.txt'; ! var idHDmySQL = pfad + 'HD_mySQL'; var idHDmySQLbackup = pfad + 'HD_mySQL_Backup_DS'; var idHDmiobroker = pfad + 'HD_mySQL_iobroker'; ! var idAbfrageDatum = pfad+ "letzteAbfrage"; ! createState(idAbfrageDatum, "", { name: 'Datum der Daten vom mySQL Server', desc: 'Datum der Daten vom mySQL Server', type: 'string', unit: '', role: 'value' }); ! createState(idHDmySQL, 0, { name: 'Festplattenplatz mySQL gesamt', desc: 'Festplattenplatz mySQL gesamt', type: 'number', unit: 'MByte', role: 'value' }); ! createState(idHDmySQLbackup, 0, { name: 'Festplattenplatz mySQL Backup auf der Diskstation', desc: 'Festplattenplatz mySQL Backup auf der Diskstation', type: 'number', unit: 'MByte', role: 'value' }); ! createState(idHDmiobroker, 0, { name: 'Festplattenplatz mySQL ioBroker', desc: 'Festplattenplatz mySQL ioBroker', type: 'number', unit: 'MByte', role: 'value' }); ! function abfrageDatum() { exec(abfrageDate, function(err, stdout, stderr) { if (err) { log(err,"warn"); return; } stdout = stdout.split(","); // alle nicht-Ziffern als Trennzeichen für das Array verwenden (im Block) //log(stdout); setState(idAbfrageDatum, stdout[1]+","+stdout[2]+","+stdout[0]); }); } ! // Belegung Festplattenplatz für ioBroker mit "du" auslesen function abfrageHD(abfrage,dp) { exec(abfrage, function(err, stdout, stderr) { if (err) { log(err,"error"); return; } stdout = stdout.replace(/[\D]+/, ""); // alle nicht-Ziffern entfernen setState(dp,parseInt(stdout)); }); } ! function abfragen() { abfrageDatum(); abfrageHD(abfrageMySQL ,idHDmySQL); abfrageHD(abfrageMySQbackup ,idHDmySQLbackup); abfrageHD(abfrageMySQLiobroker ,idHDmiobroker); } ! // regelmässige Wiederholungen // ----------------------------------------------------------------------------- schedule(cronStr, abfragen); ! // main // ----------------------------------------------------------------------------- function main() { abfragen(); } ! // Start Skript: // ----------------------------------------------------------------------------- ! setTimeout(main, 500); !

      Worauf läfut Dein ioBroker und kannst Du das Verzeichnis auf dem die Dateien liegen im ioBroker Rechner einbinden?

      Adapter: Fritzbox, Unify Circuit
      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

      1 Antwort Letzte Antwort
      0
      • a200A Offline
        a200A Offline
        a200
        schrieb am zuletzt editiert von
        #3

        danke. das brauchte ich. iobroker und die daten sind auf dem gleichen raspi. jetzt mach ich mich an die arbeit. danke und bis später.

        IoBroker auf QNAP TS-451, Raspi und NUC

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

          Ich hatte auch schonmal so eine Idee … Ein Adapter dem man 1-n Files gebe kann die der dann auf "change" monitored wo man Datenpunkte und Werte reinschreiben kann und wenn das File geändert wurde wird es neu eingelesen und alle DPs aktualisiert die drin stehen.

          Das geht auch alles per JS-Adapter und mit https://www.npmjs.com/package/watch-inotify ... von daher war die Prio jetzt für mich nicht sooo hoch :-)

          Und am Ende war meine Hauptunsicherheit noch ob das überhaupt das ist was sinn macht. NFS Files gehen glaube ich nicht und die Frage ist ob es wirklich so ist das in den meisten Fällen wirklich kontrolle über das Fileformat besteht oder ob es nicht noch generischer sein muss (Regex kram und so)

          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
          • a200A Offline
            a200A Offline
            a200
            schrieb am zuletzt editiert von
            #5

            @ruhr70:

            Die Datei lasse ich mir per Skript (Javascript-Adapter) mit excec() und "cat…" ausgeben und verarbeite den Inhalt dann im Skript.

            Beispiel:

            ... `
            Geil ruhr70! Genau das habe ich gebraucht. Hab mir alles angepasst und die Werte werden jetzt sauber von ioBroker eingelesen, via MySQL archiviert und visualisiert.

            Vielen Dank!

            IoBroker auf QNAP TS-451, Raspi und NUC

            1 Antwort Letzte Antwort
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #6

              @apollon77:

              Ich hatte auch schonmal so eine Idee … Ein Adapter dem man 1-n Files gebe kann die der dann auf "change" monitored wo man Datenpunkte und Werte reinschreiben kann und wenn das File geändert wurde wird es neu eingelesen und alle DPs aktualisiert die drin stehen.

              Das geht auch alles per JS-Adapter und mit https://www.npmjs.com/package/watch-inotify ... von daher war die Prio jetzt für mich nicht sooo hoch :-)

              Und am Ende war meine Hauptunsicherheit noch ob das überhaupt das ist was sinn macht. NFS Files gehen glaube ich nicht und die Frage ist ob es wirklich so ist das in den meisten Fällen wirklich kontrolle über das Fileformat besteht oder ob es nicht noch generischer sein muss (Regex kram und so) `
              So eine Idee habe sogar ich.

              Allerdings sehr universell:

              • Kann nicht nur Dateien, sondern auch http/https get/post handeln

              • AbfrageIntervall einstellbar, oder/und bei Dateien auf -Änderungen

              • Werte mit regex extragieren und noch Datentyp einstellen.

              • http auch in Schreibrichtung unterstützen.

              Eigentlich primitiv, nur Einstellungen müssen bequem sein.

              1 Antwort Letzte Antwort
              0
              • ruhr70R Offline
                ruhr70R Offline
                ruhr70
                schrieb am zuletzt editiert von
                #7

                @Bluefox:

                @apollon77:

                Ich hatte auch schonmal so eine Idee … Ein Adapter dem man 1-n Files gebe kann die der dann auf "change" monitored wo man Datenpunkte und Werte reinschreiben kann und wenn das File geändert wurde wird es neu eingelesen und alle DPs aktualisiert die drin stehen.

                Das geht auch alles per JS-Adapter und mit https://www.npmjs.com/package/watch-inotify ... von daher war die Prio jetzt für mich nicht sooo hoch :-)

                Und am Ende war meine Hauptunsicherheit noch ob das überhaupt das ist was sinn macht. NFS Files gehen glaube ich nicht und die Frage ist ob es wirklich so ist das in den meisten Fällen wirklich kontrolle über das Fileformat besteht oder ob es nicht noch generischer sein muss (Regex kram und so) `
                So eine Idee habe sogar ich.

                Allerdings sehr universell:

                • Kann nicht nur Dateien, sondern auch http/https get/post handeln

                • AbfrageIntervall einstellbar, oder/und bei Dateien auf -Änderungen

                • Werte mit regex extragieren und noch Datentyp einstellen.

                • http auch in Schreibrichtung unterstützen.

                Eigentlich primitiv, nur Einstellungen müssen bequem sein. `

                Sehr sehr cool!

                Adapter: Fritzbox, Unify Circuit
                Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                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
                FAQ Cloud / IOT
                HowTo: Node.js-Update
                HowTo: Backup/Restore
                Downloads
                BLOG

                835

                Online

                32.6k

                Benutzer

                82.1k

                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