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. Skripten / Logik
  4. [gelöst] Text oder CSV auslesen, ist das möglich?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.0k

[gelöst] Text oder CSV auslesen, ist das möglich?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
17 Beiträge 5 Kommentatoren 5.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.
  • T Offline
    T Offline
    torstenh
    schrieb am zuletzt editiert von
    #3

    …Danke! Das hilft mir als erstes erst einmal weiter und ich kann ein wenig probieren. JavaScript ist mir nicht ganz so fremd, nur eben der Umgang mit io Broker. Es läuft erst seit zwei Tagen bei mir und gefällt mir immer besser.

    Danke nochmals!

    Grüße,

    Torsten

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

      @torstenh:

      Kann man den Webserver von io Broker abschalten und einen eigenen nutzen? `
      Offtopic:

      Ja natürlich kann man Webserver in ioBroker abschalten. Das ist ein sehr modulares System.

      Nun wird "einen eigenen" Server mit ioBroker nichts zu tun ;) Ansonsten geht es :)

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

        Hier ist ein Beispiel für csv parsen:

        var parse = require('csv-parse');
        
        var input = '#Welcome\n"1","2","3","4"\n"a","b","c","d"';
        parse(input, {comment: '#'}, function(err, output){
        	// show result
        	console.log(JSON.stringify(output));
        });
        

        Du musst nur "csv-parse" auf der Konfig-Seite von JS-Adapter eintragen.

        1 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          torstenh
          schrieb am zuletzt editiert von
          #6

          …..Mensch Jungs ihr seid ja richtig cool! SO schnell geantwortet und gleich die passende Lösung geliefert, vielen Dank dafür!!!!! Ich teste es heute mal aus....

          für:

          var input = '#Welcome\n"1","2","3","4"\n"a","b","c","d"';
          

          kann ich auch…

          var input = 'C:\pfad\zu\meiner.csv ';
          

          entragen?

          Grüße,

          Torsten

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

            @torstenh:

            …..Mensch Jungs ihr seid ja richtig cool! SO schnell geantwortet und gleich die passende Lösung geliefert, vielen Dank dafür!!!!! Ich teste es heute mal aus....

            für:

            var input = '#Welcome\n"1","2","3","4"\n"a","b","c","d"';
            

            kann ich auch…

            var input = 'C:\pfad\zu\meiner.csv ';
            

            entragen?

            Grüße,

            Torsten `

            var input = require('fs').readFileSync('C:\pfad\zu\meiner.csv').toString();
            
            1 Antwort Letzte Antwort
            0
            • T Offline
              T Offline
              torstenh
              schrieb am zuletzt editiert von
              #8

              …..Danke dafü! :D

              1 Antwort Letzte Antwort
              0
              • T Offline
                T Offline
                torstenh
                schrieb am zuletzt editiert von
                #9

                Hallo Gemeinde,

                ich brauche nocheinmal eure Hilfe! Ich habe jetzt alle Werte in JS Variablen geschrieben aber wie kann ich sie im VIS anzeigen? Oder verarbeiten?

                `function ws300_auswerten () {
                        for (var i = 0; i <= 91; i++){
                            //console.log(output[i]);
                            value = output[i].split(',');
                
                            switch (i) {
                                case 2:
                                zeit = value[1];
                                console.log('zeit = ' + zeit);
                                    break;
                                case 3:
                                datum = value[1];
                                console.log('datum = ' + datum);
                                    break;
                                case 6:
                                messintervall = value[1];
                                console.log('messintervall = ' + messintervall);
                                    break;
                                case 10:
                                regenmenge = value[1];
                                console.log('regenmenge = ' + regenmenge);
                                    break;
                                case 11:
                                sonnenscheindauer = value[1];
                                console.log('sonnenscheindauer = ' + sonnenscheindauer);
                                    break;
                                case 12:
                                helligkeit = value[1];
                                console.log('helligkeit = ' + helligkeit);
                                    break;
                                case 14:
                                station_temperatur = value[1];
                                console.log('station_temperatur = ' + station_temperatur);
                                    break;
                                case 15:
                                station_feuchte = value[1];
                                console.log('station_feuchte = ' + station_feuchte);
                                    break;
                                case 16:
                                station_druck = value[1];
                                console.log('station_druck = ' + station_druck);
                                    break;
                                case 17:
                                station_vorhersage = value[1];
                                console.log('station_vorhersage = ' + station_vorhersage);
                                    break;
                                case 19:
                                kombi_temperatur = value[1];
                                console.log('kombi_temperatur = ' + kombi_temperatur);
                                    break;
                                case 20:
                                kombi_feuchte = value[1];
                                console.log('kombi_feuchte = ' + kombi_feuchte);
                                    break;
                                case 21:
                                kombi_wind_geschw = value[1];
                                console.log('kombi_wind_geschw = ' + kombi_wind_geschw);
                                    break;  
                                case 22:
                                kombi_wind_richtung = value[1];
                                console.log('kombi_wind_richtung = ' + kombi_wind_richtung);
                                    break;
                                case 23:
                                kombi_schwankung = value[1];
                                console.log('kombi_schwankung = ' + kombi_schwankung);
                                    break;
                                case 24:
                                kombi_wippenimpulse = value[1];
                                console.log('kombi_wippenimpule = ' + kombi_wippenimpulse);
                                    break;
                                case 25:
                                kombi_sonnenzaehler = value[1];
                                console.log('kombi_sonnenzaehler = ' + kombi_sonnenzaehler);
                                    break;
                                case 26:
                                kombi_vorhanden = value[1];
                                console.log('kombi_vorhanden = ' + kombi_vorhanden);
                                    break;
                                case 27:
                                kombi_empfang = value[1];
                                console.log('kombi_empfang = ' + kombi_empfang);
                                    break;
                            } 
                        }`
                ...im Log kann ich sie sehen aber unter Ereignisse oder Zustände nicht!
                
                Grüße,
                
                Torsten[/i][/i]
                
                1 Antwort Letzte Antwort
                0
                • Jey CeeJ Online
                  Jey CeeJ Online
                  Jey Cee
                  Developer
                  schrieb am zuletzt editiert von
                  #10

                  Liegt ziemlich sicher daran das du sie nur ins log schreibst. Du musst dir objekte anlagen in die du sie dann schreibst.

                  Gesendet von meinem Jolla mit Tapatalk

                  Persönlicher Support
                  Spenden -> paypal.me/J3YC33

                  1 Antwort Letzte Antwort
                  0
                  • T Offline
                    T Offline
                    torstenh
                    schrieb am zuletzt editiert von
                    #11

                    Hallo,

                    genau da liegt mein Problem! Objekt anlegen ok aber wie weise ich denn dem Objekt z.B. die Windgeschwindigkeit zu so das ich mit diesem Objekt weiter arbeiten kann? Ich habe es mit CreateObjekt versucht und mit SetObjekt aber es kommt nichts raus.

                    Kann mir jemand ein Beispiel geben? Ich denke ich mache da syntaktisch was falsch!

                    Grüße,

                    Torsten

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      pix
                      schrieb am zuletzt editiert von
                      #12

                      Hallo,

                      @torstenh:

                      Ich habe es mit CreateObjekt versucht und mit SetObjekt aber es kommt nichts raus. ` Du solltest https://github.com/ioBroker/ioBroker.javascript#createstate und https://github.com/ioBroker/ioBroker.javascript#setstate benutzen.

                      hier ein Ansatz:

                      ! ```
                      `var pfad = 'WS300.';
                      ! createState(pfad + 'Zeit', {
                      name: 'WS300 Zeit',
                      desc: 'Zeiteinstellung des WS300',
                      type: 'string'
                      });
                      ! createState(pfad + 'Datum', {
                      name: 'WS300 Datum',
                      desc: 'Datumeinstellung des WS300',
                      type: 'string'
                      });
                      ! createState(pfad + 'Messintervall', {
                      name: 'WS300 Messintervall',
                      desc: 'Messintervall des WS300',
                      type: 'number'
                      });
                      ! createState(pfad + 'Regenmenge', {
                      name: 'WS300 Regenmenge',
                      desc: 'gemessene Regenmenge',
                      type: 'number',
                      unit: 'mm' // ggf. korrigieren
                      });
                      ! createState(pfad + 'Sonnenscheindauer', {
                      name: 'WS300 Sonnenscheindauer',
                      desc: 'gemessene Sonnenscheindauer',
                      type: 'number',
                      unit: 'min' // ggf. korrigieren
                      });
                      ! // für alle Objekte fortführen (number mit unit, string und boolean ohne Einheit)
                      ! function ws300_auswerten () {
                      for (var i = 0; i <= 91; i++){
                      //console.log(output[i]);
                      value = output[i].split(',');
                      ! switch (i) {
                      case 2:
                      zeit = value[1];
                      log('zeit = ' + zeit);
                      setState(pfad + 'Zeit', zeit);
                      break;
                      case 3:
                      datum = value[1];
                      log('datum = ' + datum);
                      setState(pfad + 'Datum', datum);
                      break;
                      case 6: // etwas kürzer
                      log('messintervall = ' + value[1]);
                      setState(pfad + 'Messintervall', value[1]);
                      break;
                      case 10:
                      log('regenmenge = ' + value[1]);
                      setState(pfad + 'Regenmenge', value[1]);
                      break;

                                  // ab hier selbst machen    
                                  case 11:
                                  sonnenscheindauer = value[1];
                                  console.log('sonnenscheindauer = ' + sonnenscheindauer);
                                      break;
                                  case 12:
                                  helligkeit = value[1];
                                  console.log('helligkeit = ' + helligkeit);
                                      break;
                                  case 14:
                                  station_temperatur = value[1];
                                  console.log('station_temperatur = ' + station_temperatur);
                                      break;
                                  case 15:
                                  station_feuchte = value[1];
                                  console.log('station_feuchte = ' + station_feuchte);
                                      break;
                                  case 16:
                                  station_druck = value[1];
                                  console.log('station_druck = ' + station_druck);
                                      break;
                                  case 17:
                                  station_vorhersage = value[1];
                                  console.log('station_vorhersage = ' + station_vorhersage);
                                      break;
                                  case 19:
                                  kombi_temperatur = value[1];
                                  console.log('kombi_temperatur = ' + kombi_temperatur);
                                      break;
                                  case 20:
                                  kombi_feuchte = value[1];
                                  console.log('kombi_feuchte = ' + kombi_feuchte);
                                      break;
                                  case 21:
                                  kombi_wind_geschw = value[1];
                                  console.log('kombi_wind_geschw = ' + kombi_wind_geschw);
                                      break;  
                                  case 22:
                                  kombi_wind_richtung = value[1];
                                  console.log('kombi_wind_richtung = ' + kombi_wind_richtung);
                                      break;
                                  case 23:
                                  kombi_schwankung = value[1];
                                  console.log('kombi_schwankung = ' + kombi_schwankung);
                                      break;
                                  case 24:
                                  kombi_wippenimpulse = value[1];
                                  console.log('kombi_wippenimpule = ' + kombi_wippenimpulse);
                                      break;
                                  case 25:
                                  kombi_sonnenzaehler = value[1];
                                  console.log('kombi_sonnenzaehler = ' + kombi_sonnenzaehler);
                                      break;
                                  case 26:
                                  kombi_vorhanden = value[1];
                                  console.log('kombi_vorhanden = ' + kombi_vorhanden);
                                      break;
                                  case 27:
                                  kombi_empfang = value[1];
                                  console.log('kombi_empfang = ' + kombi_empfang);
                                      break;
                              } 
                          }` 
                      

                      ! Gruß
                      ! Pix[/i][/i]

                      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                      1 Antwort Letzte Antwort
                      0
                      • T Offline
                        T Offline
                        torstenh
                        schrieb am zuletzt editiert von
                        #13

                        …habe ich gemacht und mit diese Frage Spam produziert. Sorry! Hatte den Debug Modus noch aktiv und es nicht bemerkt obwohl die Anzeige groß und rot dargestellt wird das dieser noch aktiv ist.

                        Trotzdem DANKE! Es funktioniert bestens!

                        Grüße,

                        Torsten

                        1 Antwort Letzte Antwort
                        0
                        • T Offline
                          T Offline
                          torstenh
                          schrieb am zuletzt editiert von
                          #14

                          Hallo zusammen,

                          ich muß das Thema noch einmal hochholen da ich im Log folgende Fehlermeldung habe und nichts damit so richtig anfangen kann:

                          javascript-1 2016-10-14 00:00:00.574 info script.js.Home_Wetter: setForeignState(id=javascript.1.Kombi_Vorhanden, state="1")

                          javascript-1 2016-10-14 00:00:00.574 warn Wrong type of javascript.1.Kombi_Vorhanden: "string". Please fix, while deprecated and will not work in next versions.

                          javascript-1 2016-10-14 00:00:00.574 info script.js.Home_Wetter: kombi_vorhanden = 1

                          Kann mir jemand sagen was falsch ist?

                           case 26:
                                          kombi_vorhanden = value[1];
                                          console.log('kombi_vorhanden = ' + kombi_vorhanden);
                                              setState('Kombi_Vorhanden', kombi_vorhanden);
                                              break;
                          

                          So sieht der Aufruf aus….

                          Grüße,

                          Torsten

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

                            @torstenh:

                            javascript-1 2016-10-14 00:00:00.574 info script.js.Home_Wetter: setForeignState(id=javascript.1.Kombi_Vorhanden, state="1")

                            javascript-1 2016-10-14 00:00:00.574 warn Wrong type of javascript.1.Kombi_Vorhanden: "string". Please fix, while deprecated and will not work in next versions. `
                            Der Wert, der mit setState(id, val) geschrieben werden soll, hat den falschen Typ: "1" ist vom Typ "string". Wahrscheinlich ist in der Datenpunkt-Definition common.type = "number". Also muss der Typ gewandelt werden:

                            setState('Kombi_Vorhanden', parseInt(kombi_vorhanden));
                            

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Antwort Letzte Antwort
                            0
                            • T Offline
                              T Offline
                              torstenh
                              schrieb am zuletzt editiert von
                              #16

                              hatte es vorher so….

                              createState('Kombi_Vorhanden', {
                                  name: 'WS300 Kombi_Vorhanden',
                                  desc: 'gemessener Kombi_Vorhanden vom Kombisensor',
                                  type: 'string'
                              });
                              

                              und dachte das die Deklaration damit erledigt ist, geändert auf:

                              createState('Kombi_Vorhanden', {
                                  name: 'WS300 Kombi_Vorhanden',
                                  desc: 'gemessener Kombi_Vorhanden vom Kombisensor',
                                  type: 'number'
                              });
                              

                              und den Aufruf…

                                              case 26:
                                              kombi_vorhanden = value[1];
                                              console.log('kombi_vorhanden = ' + kombi_vorhanden);
                                                  setState('Kombi_Vorhanden', parseInt(kombi_vorhanden));
                                                  break;
                              

                              ….mal sehen ob es geht!

                              Danke!

                              Grüße,

                              Torsten

                              1 Antwort Letzte Antwort
                              0
                              • T Offline
                                T Offline
                                torstenh
                                schrieb am zuletzt editiert von
                                #17

                                ….das war es! Danke!

                                Grüße,

                                Torsten

                                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

                                824

                                Online

                                32.4k

                                Benutzer

                                81.5k

                                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