Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Text oder CSV auslesen, ist das möglich?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bluefox
      Bluefox last edited by

      @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 Reply Last reply Reply Quote 0
      • Bluefox
        Bluefox last edited by

        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 Reply Last reply Reply Quote 0
        • T
          torstenh last edited by

          …..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 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            @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 Reply Last reply Reply Quote 0
            • T
              torstenh last edited by

              …..Danke dafü! 😄

              1 Reply Last reply Reply Quote 0
              • T
                torstenh last edited by

                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 Reply Last reply Reply Quote 0
                • Jey Cee
                  Jey Cee Developer last edited by

                  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

                  1 Reply Last reply Reply Quote 0
                  • T
                    torstenh last edited by

                    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 Reply Last reply Reply Quote 0
                    • P
                      pix last edited by

                      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]

                      1 Reply Last reply Reply Quote 0
                      • T
                        torstenh last edited by

                        …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 Reply Last reply Reply Quote 0
                        • T
                          torstenh last edited by

                          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 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 last edited by

                            @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));
                            
                            1 Reply Last reply Reply Quote 0
                            • T
                              torstenh last edited by

                              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 Reply Last reply Reply Quote 0
                              • T
                                torstenh last edited by

                                ….das war es! Danke!

                                Grüße,

                                Torsten

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                710
                                Online

                                31.7k
                                Users

                                79.7k
                                Topics

                                1.3m
                                Posts

                                5
                                17
                                4733
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo