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 439.7k 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.
    • PerlchampP Offline
      Perlchamp
      last edited by

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

      I open browser from PC to the mirror URL and do it there
      I debug from my PC, ssh connected to pi, or I run MM on my PC… and debug there

      how ?

      S 1 Reply Last reply Reply Quote 0
      • S Offline
        sdetweil @Perlchamp
        last edited by

        @Perlchamp on MagicMirror, in config, set address:“0.0.0.0”,
        And ipWhitelist:[],

        Then u can connect to the mm url from anywhere in your house/office.
        http://ipaddress:port

        Then f12 or ctrl-shift-i on the browser keyboard to open the developers window.

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • PerlchampP Offline
          Perlchamp
          last edited by

          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 Reply Quote 0
          • S Offline
            sdetweil @Perlchamp
            last edited by

            @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
            • PerlchampP Offline
              Perlchamp
              last edited by

              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 Reply Quote 0
              • S Offline
                sdetweil @Perlchamp
                last edited by

                @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
                • PerlchampP Offline
                  Perlchamp
                  last edited by

                  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 Reply Quote 0
                  • S Offline
                    sdetweil @Perlchamp
                    last edited by

                    @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 Reply Quote 0
                    • PerlchampP Offline
                      Perlchamp
                      last edited by

                      always my pleasure

                      1 Reply Last reply Reply Quote 0
                      • S Offline
                        sdetweil @sdetweil
                        last edited by sdetweil

                        @Perlchamp fixed

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 6
                        • 7
                        • 31
                        • 32
                        • 5 / 32
                        • First post
                          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