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. Einsteigerfragen
  4. Werte aus .txt Datei auslesen Attribut speichern [gelöst]

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Werte aus .txt Datei auslesen Attribut speichern [gelöst]

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
39 Beiträge 6 Kommentatoren 3.3k Aufrufe 4 Watching
  • Ä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.
  • OliverIOO OliverIO

    @chronos81
    habe es gerade ausprobiert. bei mir funktioniert es.
    die meldung die du da hast ist normal, da die tail bibliothek keine passenden
    typescript definitionsdateien hat und das der editor anmeckert.

    wie hast du es den ausprobiert?
    du startest das skript
    und wartest dann bis ein wert in diese Datei geschrieben wurde?
    Siehe meine Erklärung weiter oben.

    @oliverio sagte in Werte aus .txt Datei auslesen und als Attribut speichern:

    Solange das Skript läuft schaut es auf die Datei und immer wenn ein neuer 'Wert geschrieben wird, werden die Werte in einen Datenpunkt geschrieben.

    Nur durch starten passiert erst mal gar nix

    um eins noch auszuschließen,
    benennen bitt den folgenden variablennamen um, da wahrscheinlich umlaute nicht optimal sind

    var dp_füllwert -> var dp_fullwert
    und
    setState(dp_füllwert,a[4]); -> setState(dp_fullwert,a[4]);

    C Offline
    C Offline
    Chronos81
    schrieb am zuletzt editiert von
    #27

    @oliverio Ich bin leider noch nicht zur Request Methode gekommen. Im moment funktioniert es "fast".
    Leider haut meine LogDatei immer automatisch eine neue leere "Letzte Zeile" bei jeder Aktualisierung hinzu.

    Was bedeutet, das Skript funktioniert wenn ich händisch die letzte leere Zeile lösche aber das eben immer manuell. Gibt es eine Möglichkeit mit dem von dir oben beschriebenen Skript die Werte aus der "zweitletzten" Zeile zu lesen?

    VG Chronos812022-09-25 15_59_05-RemotePiZisterne - 192.168.0.25 - Remotedesktopverbindung.png

    C 1 Antwort Letzte Antwort
    0
    • C Chronos81

      @oliverio Ich bin leider noch nicht zur Request Methode gekommen. Im moment funktioniert es "fast".
      Leider haut meine LogDatei immer automatisch eine neue leere "Letzte Zeile" bei jeder Aktualisierung hinzu.

      Was bedeutet, das Skript funktioniert wenn ich händisch die letzte leere Zeile lösche aber das eben immer manuell. Gibt es eine Möglichkeit mit dem von dir oben beschriebenen Skript die Werte aus der "zweitletzten" Zeile zu lesen?

      VG Chronos812022-09-25 15_59_05-RemotePiZisterne - 192.168.0.25 - Remotedesktopverbindung.png

      C Offline
      C Offline
      Chronos81
      schrieb am zuletzt editiert von
      #28

      @chronos81 said in Werte aus .txt Datei auslesen und als Attribut speichern:

      @oliverio Ich bin leider noch nicht zur Request Methode gekommen. Im moment funktioniert es "fast".
      Leider haut meine LogDatei immer automatisch eine neue leere "Letzte Zeile" bei jeder Aktualisierung hinzu.

      Was bedeutet, das Skript funktioniert wenn ich händisch die letzte leere Zeile lösche aber das eben immer manuell. Gibt es eine Möglichkeit mit dem von dir oben beschriebenen Skript die Werte aus der "zweitletzten" Zeile zu lesen?

      VG Chronos81

      2022-09-25 15_59_05-RemotePiZisterne - 192.168.0.25 - Remotedesktopverbindung.png

      C 1 Antwort Letzte Antwort
      0
      • C Chronos81

        @chronos81 said in Werte aus .txt Datei auslesen und als Attribut speichern:

        @oliverio Ich bin leider noch nicht zur Request Methode gekommen. Im moment funktioniert es "fast".
        Leider haut meine LogDatei immer automatisch eine neue leere "Letzte Zeile" bei jeder Aktualisierung hinzu.

        Was bedeutet, das Skript funktioniert wenn ich händisch die letzte leere Zeile lösche aber das eben immer manuell. Gibt es eine Möglichkeit mit dem von dir oben beschriebenen Skript die Werte aus der "zweitletzten" Zeile zu lesen?

        VG Chronos81

        2022-09-25 15_59_05-RemotePiZisterne - 192.168.0.25 - Remotedesktopverbindung.png

        C Offline
        C Offline
        Chronos81
        schrieb am zuletzt editiert von
        #29

        @chronos81 Ah hab's mit etwas Hilfe herausgefunden. Zur Info für andere. Häng ich's mit an. Hier läufts nun erst mal "Quick 'n' dirty" aber es läuft. Das mit dem Request verschiebe ich noch etwas. :-)

        var dp_liter = "0_userdata.0.Heizung.dp_liter";
        var dp_fullwert = "0_userdata.0.Heizung.dp_fullwert";
        var filename = "/home/pi/Documents/Heizoelstand.log"
        var options= {nLines: 2}

        Tail = require('tail').Tail;
        tail = new Tail (filename, options);
        tail.on("line", function(data) {
        console.log(data);
        let a = data.split(" ");
        setState(dp_liter,a[3]);
        setState(dp_fullwert,a[4]);
        });

        OliverIOO 1 Antwort Letzte Antwort
        0
        • C Chronos81

          @chronos81 Ah hab's mit etwas Hilfe herausgefunden. Zur Info für andere. Häng ich's mit an. Hier läufts nun erst mal "Quick 'n' dirty" aber es läuft. Das mit dem Request verschiebe ich noch etwas. :-)

          var dp_liter = "0_userdata.0.Heizung.dp_liter";
          var dp_fullwert = "0_userdata.0.Heizung.dp_fullwert";
          var filename = "/home/pi/Documents/Heizoelstand.log"
          var options= {nLines: 2}

          Tail = require('tail').Tail;
          tail = new Tail (filename, options);
          tail.on("line", function(data) {
          console.log(data);
          let a = data.split(" ");
          setState(dp_liter,a[3]);
          setState(dp_fullwert,a[4]);
          });

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von
          #30

          @chronos81
          Sehr gut
          Besser wäre es allerdings das Problem im Python Skript zu beheben

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          C 1 Antwort Letzte Antwort
          0
          • OliverIOO OliverIO

            @chronos81
            Sehr gut
            Besser wäre es allerdings das Problem im Python Skript zu beheben

            C Offline
            C Offline
            Chronos81
            schrieb am zuletzt editiert von
            #31

            @oliverioLeider musste ich das System aus unterschiedlichen Gründen neu aufsetzen. Ich habe jedoch ein Backup meines IOBROKERS gemacht und dieses bereits eingespielt. Leider bekomme ich nun beim ausführen des Skriptes einen Berechtigungsfehler. Die Linuxberechtigungen habe ich jedoch komplett (für den Test) geöffnet. Also jeder darf auf dem Ordner rekursiv alles. Dennoch kommt der angegebene Permissionfehler. Hast du eine Idee an was das liegen kann?
            Permission Fehler.jpg

            OliverIOO 1 Antwort Letzte Antwort
            0
            • C Chronos81

              @oliverioLeider musste ich das System aus unterschiedlichen Gründen neu aufsetzen. Ich habe jedoch ein Backup meines IOBROKERS gemacht und dieses bereits eingespielt. Leider bekomme ich nun beim ausführen des Skriptes einen Berechtigungsfehler. Die Linuxberechtigungen habe ich jedoch komplett (für den Test) geöffnet. Also jeder darf auf dem Ordner rekursiv alles. Dennoch kommt der angegebene Permissionfehler. Hast du eine Idee an was das liegen kann?
              Permission Fehler.jpg

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von OliverIO
              #32

              @chronos81
              irgendwas ist auf jeden Fall mit den Berechtigungen.
              Du kannst mal folgendes probieren:

              • geh auf die Kommandozeile des Rechners oder Containers wo iobroker läuft
              • dann gib den folgenden Befehl ein. Damit meldest du dich als Nutzer iobroker an. Als passwort musst du das Passwort deines aktuellen users eingeben
              sudo -u iobroker bash
              
              • Danach versuchst du mit dem Programm nano die text-Datei zu öffnen, eine Änderung vorzunehmen und wieder zu speichern
              • Wenn es dann wieder die Fehlermeldung gibt, dann hast du die Rechte nicht korrekt vergeben
              • um das feststellen zu können kannst du den folgenden Befehl eingeben
              ls -l <pfad zu deiner datei>
              

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              C 1 Antwort Letzte Antwort
              0
              • OliverIOO OliverIO

                @chronos81
                irgendwas ist auf jeden Fall mit den Berechtigungen.
                Du kannst mal folgendes probieren:

                • geh auf die Kommandozeile des Rechners oder Containers wo iobroker läuft
                • dann gib den folgenden Befehl ein. Damit meldest du dich als Nutzer iobroker an. Als passwort musst du das Passwort deines aktuellen users eingeben
                sudo -u iobroker bash
                
                • Danach versuchst du mit dem Programm nano die text-Datei zu öffnen, eine Änderung vorzunehmen und wieder zu speichern
                • Wenn es dann wieder die Fehlermeldung gibt, dann hast du die Rechte nicht korrekt vergeben
                • um das feststellen zu können kannst du den folgenden Befehl eingeben
                ls -l <pfad zu deiner datei>
                
                C Offline
                C Offline
                Chronos81
                schrieb am zuletzt editiert von
                #33

                @oliverio Ich habe deinen Lösungsansatz ausprobiert. Folgendes ist festzustellen:

                • Ich kann mich mit dem User iobroker anmelden (mit sudo -u iobroker bash) Allerdings muss ich hier noch kein Passwort vergeben.
                • Wenn ich dann das Dokument öffnen möchte wird von mir das iobroker Passwort verlangt.
                • Danach kann ich das Dokument öffnen und auch abspeichern.

                Führe ich den Befehl ls- l <pfad zur datei> aus folgt Zugriff auf blablabla nicht möglich Keine Berechtigung.

                Wo muss ich die Berechtigung korrekt einstellen?

                OliverIOO 2 Antworten Letzte Antwort
                0
                • C Chronos81

                  @oliverio Ich habe deinen Lösungsansatz ausprobiert. Folgendes ist festzustellen:

                  • Ich kann mich mit dem User iobroker anmelden (mit sudo -u iobroker bash) Allerdings muss ich hier noch kein Passwort vergeben.
                  • Wenn ich dann das Dokument öffnen möchte wird von mir das iobroker Passwort verlangt.
                  • Danach kann ich das Dokument öffnen und auch abspeichern.

                  Führe ich den Befehl ls- l <pfad zur datei> aus folgt Zugriff auf blablabla nicht möglich Keine Berechtigung.

                  Wo muss ich die Berechtigung korrekt einstellen?

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von OliverIO
                  #34

                  @chronos81 sagte in Werte aus .txt Datei auslesen und als Attribut speichern:

                  Führe ich den Befehl ls- l <pfad zur datei> aus folgt Zugriff auf blablabla nicht möglich Keine Berechtigung

                  les nochmal genau was ich geschrieben habe.
                  Im Zweifel den Befehl mit sudo davor ausführen

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  C 1 Antwort Letzte Antwort
                  0
                  • C Chronos81

                    @oliverio Ich habe deinen Lösungsansatz ausprobiert. Folgendes ist festzustellen:

                    • Ich kann mich mit dem User iobroker anmelden (mit sudo -u iobroker bash) Allerdings muss ich hier noch kein Passwort vergeben.
                    • Wenn ich dann das Dokument öffnen möchte wird von mir das iobroker Passwort verlangt.
                    • Danach kann ich das Dokument öffnen und auch abspeichern.

                    Führe ich den Befehl ls- l <pfad zur datei> aus folgt Zugriff auf blablabla nicht möglich Keine Berechtigung.

                    Wo muss ich die Berechtigung korrekt einstellen?

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von
                    #35

                    @chronos81 sagte in Werte aus .txt Datei auslesen und als Attribut speichern:

                    Ich kann mich mit dem User iobroker anmelden (mit sudo -u iobroker bash) Allerdings muss ich hier noch kein Passwort vergeben

                    du musst kein passwort vergeben, sondern du musst das passwort des aktuellen users eingeben oder bist du mit root unterwegs?

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    1 Antwort Letzte Antwort
                    0
                    • OliverIOO OliverIO

                      @chronos81 sagte in Werte aus .txt Datei auslesen und als Attribut speichern:

                      Führe ich den Befehl ls- l <pfad zur datei> aus folgt Zugriff auf blablabla nicht möglich Keine Berechtigung

                      les nochmal genau was ich geschrieben habe.
                      Im Zweifel den Befehl mit sudo davor ausführen

                      C Offline
                      C Offline
                      Chronos81
                      schrieb am zuletzt editiert von
                      #36

                      @oliverio hier nun die Berechtigungen des Users iobroker auf den Pfad 2022-10-13 17_43_27-iobroker@pibuero_ _home_pi.png

                      OliverIOO 1 Antwort Letzte Antwort
                      0
                      • C Chronos81

                        @oliverio hier nun die Berechtigungen des Users iobroker auf den Pfad 2022-10-13 17_43_27-iobroker@pibuero_ _home_pi.png

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb am zuletzt editiert von
                        #37

                        @chronos81

                        Dateirechte sehen eigentlich gut aus.
                        Allerdings liegt die Datei im home verzeichnis des nutzers pi.
                        Besser wäre es, die Datei in das home Verzeichnisses des Nutzers iobroker zu verlagern.

                        Ich vermute, das es auch noch an den Zugriffsrechten des Verzeichnisses
                        (oh mann ein Screenshot, da kann man nix rauskopieren und muss alles eintippen)
                        /home/pi/Documents/
                        liegt.

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        C 1 Antwort Letzte Antwort
                        0
                        • OliverIOO OliverIO

                          @chronos81

                          Dateirechte sehen eigentlich gut aus.
                          Allerdings liegt die Datei im home verzeichnis des nutzers pi.
                          Besser wäre es, die Datei in das home Verzeichnisses des Nutzers iobroker zu verlagern.

                          Ich vermute, das es auch noch an den Zugriffsrechten des Verzeichnisses
                          (oh mann ein Screenshot, da kann man nix rauskopieren und muss alles eintippen)
                          /home/pi/Documents/
                          liegt.

                          C Offline
                          C Offline
                          Chronos81
                          schrieb am zuletzt editiert von
                          #38

                          @oliverio Hi sorry für das Bild. :-) Ich habe es nun in das Homeverzeichnis des Nutzers iobroker verlagert. Mit einigen Versuchen und try and Error der Berechtigungen habe ich es nun hinbekommen.

                          Dankeschön.

                          1 Antwort Letzte Antwort
                          0
                          • BananaJoeB BananaJoe

                            @chronos81 wie @paul53 schreibt: Bau in dein Python-Skript einen Aufruf ein, siehe https://github.com/ioBroker/ioBroker.simple-api (Den Adapter musst du Installieren)

                            Dann könntest du z.B. per

                            http://ipaddress:8087/set/javascript.0.test?value=1
                            

                            den Wert des Datenpunktes javascript.0.test auf 1 setzen (der vorher schon existieren muss).
                            Wie macht man einen request in Python? Die Anleitung sieht z.B. ganz verständlich aus: https://lerneprogrammieren.de/python-http-requests-tutorial/

                            C Offline
                            C Offline
                            Chronos81
                            schrieb am zuletzt editiert von
                            #39

                            @bananajoe @paul53 : Ich hatte wieder mal ein wenig Muße und habe mir den request angeschaut, mit dem Simple API Adapter. Ich muss sagen es funktioniert super. Danke für den Tipp.

                            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

                            675

                            Online

                            32.7k

                            Benutzer

                            82.3k

                            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