• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

read csv-data and put it in an array

Scheduled Pinned Locked Moved Utilities
313 Posts 3 Posters 365.6k Views 4 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    Perlchamp
    last edited by Apr 30, 2020, 12:49 AM

    ok thank.
    if i want to test

        readCSV: fs.readFile('birthdaylist.csv', 'utf8', function (err, data) {
    	var dataArray = data.split(/\r?\n/);
    	Log.log(dataArray);
    
    

    or

    readList: function() {
    	var JFile=require('jfile');
    	var myF=new JFile("MMM-birthday.txt");
    	myF.lines // ["first line","second line"]
    

    i have to do this in node_helper right? and first i have to require them and of course to install them … something i forgot ?

    S 1 Reply Last reply Apr 30, 2020, 1:44 AM Reply Quote 0
    • S Offline
      sdetweil @Perlchamp
      last edited by Apr 30, 2020, 1:44 AM

      @Perlchamp Log.log is ONLY in the browser, but fs. Is not usable in browser

      U can test it w node to make sure it works. Then for mm it has to be in node_helper

      Install library, so that you CAN require

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • P Offline
        Perlchamp
        last edited by Apr 30, 2020, 4:13 PM

        hallo sam :-)
        i have now this in my node_helper.js:

        var NodeHelper = require("node_helper");
        
        // add require of other javascripot components here
        // var xxx = require('yyy'); here
        const csv = require("csvtojson");
        const csvFilePath = this.path + 'birthdaylist.csv';
        
        
        module.exports = NodeHelper.create({
        
        	init(){
        		console.log("init module helper perlchamp");
        	},
        
        	start() {
        		console.log("Starting module helper: ${this.name}");
        		console.log("dieser Pfad: ${this.path}");
        		
        		csv()
        		.fromFile(csvFilePath)
        		.then((jsonObj)=>{
        			console.log(jsonObj);
        		})
        
        	},
        
        /*
        	stop(){
        		console.log(`Stopping module helper: ${this.name}`);
        	},
        */
        	// handle messages from our module// each notification indicates a different messages
        	// payload is a data structure that is different per message.. up to you to design this
        	socketNotificationReceived(notification, payload) {
        		console.log(this.name + " received a socket notification: " + notification + " - Payload: " + payload);
        		// if config message from module
        		if (notification === "CONFIG") {
        			// save payload config info
        			this.config=payload
        			// wait 15 seconds, send a message back to module
        			setTimeout(()=> { this.sendSocketNotification("message_from_helper"," this is a test_message")}, 15000)
        		}
        		else if(notification === "????2") {
        		}
        
        	},
        
        });
        

        terminal says:

        Unhandled rejection Error: File does not exist. Check to make sure the file path to your csv is correct.
            at /home/dirk/MagicMirror/node_modules/csvtojson/v2/Converter.js:81:37
            at suppressedCallback (fs.js:209:5)
            at FSReqCallback.oncomplete (fs.js:153:23)
        

        it’s from your SampleModule …

        1. how can i see the console.log statements in the browser, starting MM ?
        2. did i enter the code in the right place?
        3. if I enter the following into the terminal window:
          node console.log (‘path: $ {this.path}’)
          i got an error message:
          bash: Syntaxerror unexpected word `(’
          what am I doing wrong ?

        many thanks in advance

        S 1 Reply Last reply Apr 30, 2020, 4:26 PM Reply Quote 0
        • S Offline
          sdetweil @Perlchamp
          last edited by Apr 30, 2020, 4:26 PM

          @Perlchamp said in read csv-data and put it in an array:

          • how can i see the console.log statements in the browser, starting MM ?
            cannot see node_helper messages in browser, must look in the terminal window where u did npm start
            you can redirect those messages to a file
            npm start >somefile
            and then look at somefile live with editor

          • did i enter the code in the right place?
            const csvFilePath = this.path + ‘birthdaylist.csv’;
            u have this.path outside the NodeHelper.create, at that time ‘this’ does not exist
            ‘this’ means ‘instance of’, and u are outside the thing that creates the instance

          • if I enter the following into the terminal window:

          because u are not running in magic mirror , ‘this’ does not exist
          node console.log (‘path: $ {this.path}’)

          • i got an error message:
          • bash: Syntaxerror unexpected word `(’
            what am I doing wrong…
            bash would not see any ( unless u put it on the line with node

          node (something)
          that is a command to bash (the terminal window program, he has his own rules about parens, and other special characters (* means ALL filenames in this folder for example!)

          I never ever use $ in node_helper (or anywhere else)
          I would do this
          console.log (‘path: '+ this.path)

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • P Offline
            Perlchamp
            last edited by Apr 30, 2020, 4:34 PM

            thank you. ok, i will test …

            only for your information:

            start() {
            		console.log(`Starting module helper: ${this.name}`);
            	},
            
            	stop(){
            		console.log(`Stopping module helper: ${this.name}`);
            	},
            

            this is from your SampleModule. i’m not here to reprimand you. it should only be information. so please do not misunderstand.

            S 1 Reply Last reply Apr 30, 2020, 4:36 PM Reply Quote 0
            • S Offline
              sdetweil @Perlchamp
              last edited by Apr 30, 2020, 4:36 PM

              @Perlchamp thanks… will fix… never copy from another without review!!

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              S 1 Reply Last reply Apr 30, 2020, 4:39 PM Reply Quote 0
              • P Offline
                Perlchamp
                last edited by Apr 30, 2020, 4:37 PM

                always my pleasure

                1 Reply Last reply Reply Quote 0
                • S Offline
                  sdetweil @sdetweil
                  last edited by sdetweil Apr 30, 2020, 4:43 PM Apr 30, 2020, 4:39 PM

                  @Perlchamp fixed

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • S Offline
                    sdetweil
                    last edited by Apr 30, 2020, 4:42 PM

                    if u redirect the output of npm start to a file, this is what you will see in the file

                    
                    > magicmirror@2.11.0 start /home/sam/MagicMirror
                    > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js
                    
                    [2020-04-30 11:15:53.521] [LOG]    Starting MagicMirror: v2.11.0
                    [2020-04-30 11:15:53.524] [LOG]    Loading config ...
                    [2020-04-30 11:15:53.526] [LOG]    Loading module helpers ...
                    [2020-04-30 11:15:53.528] [LOG]    Initializing new module helper ...
                    [2020-04-30 11:15:53.528] [LOG]    Module helper loaded: MMM-Logging
                    [2020-04-30 11:15:53.529] [LOG]    No helper found for module: alert.
                    [2020-04-30 11:15:53.529] [LOG]    No helper found for module: clock.
                    [2020-04-30 11:15:53.663] [LOG]    Initializing new module helper ...
                    [2020-04-30 11:15:53.663] [LOG]    Module helper loaded: MyCovid19
                    [2020-04-30 11:15:53.784] [LOG]    Initializing new module helper ...
                    [2020-04-30 11:15:53.785] [LOG]    Module helper loaded: MMM-AlexaControl
                    [2020-04-30 11:15:53.786] [LOG]    handler helper in init
                    [2020-04-30 11:15:53.786] [LOG]    Module helper loaded: MMM-SleepWake
                    [2020-04-30 11:15:53.786] [LOG]    All module helpers loaded.
                    [2020-04-30 11:15:53.820] [LOG]    Starting server on port 8090 ... 
                    [2020-04-30 11:15:53.821] [INFO]   You're using a full whitelist configuration to allow for all IPs
                    [2020-04-30 11:15:53.823] [LOG]    Server started ...
                    [2020-04-30 11:15:53.823] [LOG]    Connecting socket for: MMM-Logging
                    [2020-04-30 11:15:53.824] [LOG]    Module helper started for MMM-Logging
                    [2020-04-30 11:15:53.824] [LOG]    Connecting socket for: MyCovid19
                    [2020-04-30 11:15:53.824] [LOG]    Starting node_helper for module: MyCovid19
                    [2020-04-30 11:15:53.824] [LOG]    path=/home/sam/MagicMirror/modules/MyCovid19
                    [2020-04-30 11:15:53.824] [LOG]    Connecting socket for: MMM-AlexaControl
                    [2020-04-30 11:15:53.824] [LOG]    MMM-AlexaControl helper, started...
                    [2020-04-30 11:15:53.824] [LOG]    Connecting socket for: MMM-SleepWake
                    [2020-04-30 11:15:53.825] [LOG]    handler helper in start
                    [2020-04-30 11:15:53.825] [LOG]    Sockets connected & modules started ...
                    [2020-04-30 11:15:53.906] [LOG]    Launching application.
                    [2020-04-30 11:15:53.928] [LOG]    setup for latent showing  // < --- from my module node_helper
                    [2020-04-30 11:15:54.487] [LOG]    requested file exists=modules/MyCovid19/states-rawdata-04-30-2020 sending back to module_13_MyCovid19_5731  // < --- from my module node_helper
                    [2020-04-30 11:15:54.490] [LOG]    requested file exists=modules/MyCovid19/countries-rawdata-04-30-2020 sending back to module_16_MyCovid19_7951  // < --- from my module node_helper
                    [2020-04-30 11:15:54.492] [LOG]    requested file exists=modules/MyCovid19/countries-rawdata-04-30-2020 sending back to module_14_MyCovid19_1721  // < --- from my module node_helper
                    [2020-04-30 11:15:54.493] [LOG]    requested file exists=modules/MyCovid19/countries-rawdata-04-30-2020 sending back to module_15_MyCovid19_91  // < --- from my module node_helper
                    [2020-04-30 11:15:54.498] [LOG]    requested file exists=modules/MyCovid19/countries-rawdata-04-30-2020 sending back to module_17_MyCovid19_2191  // < --- from my module node_helper
                    etc
                    

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 0
                    • P Offline
                      Perlchamp
                      last edited by Apr 30, 2020, 4:48 PM

                      ok, it’s slowly dawning on me, see little light at the end of the tunnel

                      S 1 Reply Last reply Apr 30, 2020, 4:55 PM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 6
                      • 7
                      • 8
                      • 31
                      • 32
                      • 6 / 32
                      6 / 32
                      • First post
                        52/313
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy