• 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 379.9k 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 29, 2020, 7:54 PM

    what do you use for debugging on pc ?
    do you have x64 or arm-based pc ?

    S 1 Reply Last reply Apr 29, 2020, 7:55 PM Reply Quote 0
    • S Offline
      sdetweil @Perlchamp
      last edited by sdetweil Apr 29, 2020, 7:56 PM Apr 29, 2020, 7:55 PM

      @Perlchamp x64, run linux or windows (today on linux), doesn’t matter… same debug process… look at console or browser window
      if I need to debug modulename.js on pi, I open browser from PC to the mirror URL and do it there

      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 29, 2020, 7:58 PM

        AND:
        thanks a lot for YOUR time. i hope it will not been wasted … i will working hard to get some results …

        1 Reply Last reply Reply Quote 0
        • P Offline
          Perlchamp
          last edited by Apr 30, 2020, 12:32 AM

          @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 Apr 30, 2020, 12:41 AM Reply Quote 0
          • S Offline
            sdetweil @Perlchamp
            last edited by Apr 30, 2020, 12:41 AM

            @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
            • 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
                      • 1
                      • 2
                      • 28
                      • 29
                      • 30
                      • 31
                      • 32
                      • 31 / 32
                      31 / 32
                      • First post
                        47/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