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. Skripten / Logik
  4. Newbie Wert aus Datei in einen neuen Datenpunkt schreiben.

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    1.1k

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.6k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    6.1k

Newbie Wert aus Datei in einen neuen Datenpunkt schreiben.

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 2 Kommentatoren 2.6k 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.
  • J Offline
    J Offline
    Jautze
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich habe eine Datei auf /temp/a.txt liegen in der steht ein Wert drin. Z.B.

    21.5

    Diese Zahl möchte ich in einen neuen Datenpunkt schreiben ich weiß aber nicht wie.

    Probiert habe ich schon das (und das das auskommentiert ist):

    ! ````
    var x;
    ! /**

    • Beschreibe diese Funktion …
      /
      function JS_Funktion_mit_Ergebnis(x) {
      /

      function PoolTemp_Schreiben ()
      {
      var PoolTemp = "cat /tmp/a.txt";
      console.log('PoolTempState = ' + PoolTemp);
      setState('PoolTempState', parseInt(PoolTemp));
      //}
      //return 0
      /
      schedule("
      * * * * *", function () {
      setState("PoolTempState"/Wohnzimmer-Chromecast.status.volume/, PoolTemp);
      //setState("chromecast.0.Wohnzimmer-Chromecast.status.volume"/Wohnzimmer-Chromecast.status.volume/, 10);
      });
      return 0;

    ! }
    ! ````

    Wer kann mir helfen?

    Danke und viele Grüße

    Marcel Jaud

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      Dafür ist https://github.com/ioBroker/ioBroker.javascript#readfile gedacht.

      var fn = '/temp/a.txt';
      var idPooltemp = 'PoolTempState';
      
      function getPooltemp() {
          readFile(fn, function (error, data) {
              if(error) log('Fehler beim Lesen von ' + fn, 'error');
              else setState(idPooltemp, parseFloat(data));
          });
      }
      
      schedule('*/1 * * * *', getPooltemp);  // Jede Minute
      
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

      1 Antwort Letzte Antwort
      0
      • J Offline
        J Offline
        Jautze
        schrieb am zuletzt editiert von
        #3

        Hi,

        Danke.

        Da kommt aber:

        19:21:51.023 [info] javascript.0 Stop script script.js.common.Pool_Temp

        19:21:51.059 [info] javascript.0 Start javascript script.js.common.Pool_Temp

        19:21:51.060 [info] javascript.0 script.js.common.Pool_Temp: registered 0 subscriptions and 1 schedule

        19:22:00.064 [error] javascript.0 script.js.common.Pool_Temp: Fehler beim Lesen von /tmp/a.txt

        19:23:00.067 [error] javascript.0 script.js.common.Pool_Temp: Fehler beim Lesen von /tmp/a.txt

        19:24:00.065 [error] javascript.0 script.js.common.Pool_Temp: Fehler beim Lesen von /tmp/a.txt

        da ist sie aber:

        pi@raspberrypi:~ $ ls /tmp/a.txt

        /tmp/a.txt

        Und wohin wird dann der Wert geschrieben? Ich will den dann in vis benutzen.

        Danke und viele Grüße

        Marcel

        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          Kommentiere mal die Zeile mit if(error) aus und lösche das else.
          @Jautze:

          Und wohin wird dann der Wert geschrieben? `
          In den Datenpunkt mit der ID 'javascript.0.PoolTempState' vom Typ 'number' (Zahl), der vorher im Reiter Objekte erzeugt werden muss (http://www.iobroker.net/docu/?page_id=5495&lang=de#6hinzufuegen).

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            Falls das nicht funktioniert, gibt es noch diese Variante:

            var fs = require('fs');
            var fn = '/tmp/a.txt';
            var idPooltemp = 'PoolTempState';
            
            function getPooltemp() {
                fs.readFile(fn, 'utf8',  function(error, data) {
                    if(error) log('Fehler beim Lesen von ' + fn, 'error');
                    else setState(idPooltemp, parseFloat(data));
                });
            }
            
            schedule('*/1 * * * *', getPooltemp);  // Jede Minute
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

            1 Antwort Letzte Antwort
            1
            • J Offline
              J Offline
              Jautze
              schrieb am zuletzt editiert von
              #6

              Hi,

              geht leider immer noch nicht.

              19:59:42.350 [info] javascript.0 Start javascript script.js.common.Pool_Temp

              19:59:42.351 [info] javascript.0 script.js.common.Pool_Temp: schedule(cron=*/1 * * * *)

              19:59:42.351 [info] javascript.0 script.js.common.Pool_Temp: registered 0 subscriptions and 1 schedule

              20:00:00.345 [info] javascript.0 script.js.common.Pool_Temp: readFile(adapter=null, fileName=/tmp/a.txt)

              20:00:00.351 [info] javascript.0 script.js.common.Pool_Temp: setForeignState(id=javascript.0.PoolTempState, state=null)

              20:00:00.352 [warn] javascript.0 script.js.common.Pool_Temp: setForeignState(id=javascript.0.PoolTempState, state=null) - was not executed, while debug mode is active

              20:01:00.346 [info] javascript.0 script.js.common.Pool_Temp: readFile(adapter=null, fileName=/tmp/a.txt)

              20:01:00.350 [info] javascript.0 script.js.common.Pool_Temp: setForeignState(id=javascript.0.PoolTempState, state=null)

              20:01:00.352 [warn] javascript.0 script.js.common.Pool_Temp: setForeignState(id=javascript.0.PoolTempState, state=null) - was not executed, while debug mode is active

              Danke und viele Grüße

              Marcel Jaud

              1 Antwort Letzte Antwort
              0
              • J Offline
                J Offline
                Jautze
                schrieb am zuletzt editiert von
                #7

                Hi,

                Ok dein 2. Post geht.

                Super danke.

                Viele Grüße

                Marcel Jaud

                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

                446

                Online

                33.0k

                Benutzer

                83.6k

                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