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.8k 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

      ok, thanks again :-)

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

        @Perlchamp u can redirect the output of npm start to a file, npm start >somefile

        u can minimize the window with alt-spacebar, n

        u can open the developers window ( for the modulename,js debugging) npm start dev
        or if mirror already running use f12 or ctrl-shift-i on the keyboard

        I debug from my PC, ssh connected to pi, or I run MM on my PC… and debug there

        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

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

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

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

              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
              • 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
                        • 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