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.

    .txt file include

    Scheduled Pinned Locked Moved Troubleshooting
    59 Posts 6 Posters 34.9k Views 6 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.
    • strawberry 3.141S Offline
      strawberry 3.141 Project Sponsor Module Developer
      last edited by

      there is a general design your module have to look like

      you have to create a directory in ~/MagicMirror/modules/YOUR_MODULE_NAME

      then create a file YOUR_MODULE_NAME.js

      Module.register("YOUR_MODULE_NAME",{
          //here comes the rest of the code for module I posted above
      });
      

      then create a file node_helper.js

      const NodeHelper = require("node_helper");
      const fs= require("fs");
      
      module.exports = NodeHelper.create({
          //here comes the part of the nodehelper after the 3 dots as posted above
      });
      

      Please create a github issue if you need help, so I can keep track

      D 1 Reply Last reply Reply Quote 1
      • D Offline
        dominic @strawberry 3.141
        last edited by

        @strawberry-3.141 Thanks for the fast answer :)

        I did it , just as you said it. on the mirror is displayed : NO DATA

        Here is the code from the nodehelper:
        Is the path specified correctly or I need to change something?

        • readData: function(){
          //to read a file to do the following
          fs.readFile(‘/home/pi/MagicMirror/Test-temp.txt’, (err, data) => {
          if (err) throw err;
          this.sendSocketNotification(‘DATA’, data);
          });
        1 Reply Last reply Reply Quote 0
        • strawberry 3.141S Offline
          strawberry 3.141 Project Sponsor Module Developer
          last edited by

          i think this should do the job

          fs.readFile('Test-temp.txt', (err, data) => {
          

          Please create a github issue if you need help, so I can keep track

          D 1 Reply Last reply Reply Quote 0
          • D Offline
            dominic @strawberry 3.141
            last edited by

            @strawberry-3.141
            hi, now i get " [object ArryBuffer]"
            what did i worng?

            1 Reply Last reply Reply Quote 0
            • strawberry 3.141S Offline
              strawberry 3.141 Project Sponsor Module Developer
              last edited by strawberry 3.141

              sry wasn’t aware of that a buffer gets returned instead of a string if there is no encoding specified

              fs.readFile('Test-temp.txt', 'utf8', (err, data) => {
              

              Please create a github issue if you need help, so I can keep track

              D 1 Reply Last reply Reply Quote 0
              • D Offline
                dominic @strawberry 3.141
                last edited by paviro

                @strawberry-3.141 said in .txt file include:

                fs.readFile(‘Test-temp.txt’, ‘utf8’, (err, data) => {

                Hi, sorry.
                It didn´t work :/

                Here is the node_helper.js code

                const NodeHelper = require("node_helper");
                const fs= require("fs");
                
                module.exports = NodeHelper.create({
                    //here comes the part of the nodehelper after the 3 dots as posted above
                	
                	socketNotificationReceived: function(notification, payload) {
                    if(notification === 'START'){
                        this.config = payload;
                        this.readData();
                        setInterval(() => {
                            this.readData();
                        }, this.config.updateInterval);
                    }
                },
                
                readData: function(){
                    //to read a file to do the following
                   fs.readFile('Test-temp.txt', 'utf8', (err, data) => {
                        if (err) throw err;
                        this.sendSocketNotification('DATA', data);
                    });
                }
                });
                
                
                
                and here is the sensor.js code: 
                
                Module.register("sensor",{
                   defaults: {
                    updateInterval: 30*60*1000 //reads the file every 30 mins
                },
                
                start: function(){
                    this.sendSocketNotification('START', this.config);
                },
                
                socketNotificationReceived: function(notification, payload) {
                    if(notification === 'DATA'){
                        this.dataFile = payload;
                        this.updateDom();
                    }
                },
                
                getDom: function(){
                    var wrapper = document.createElement('div');
                    if(this.dataFile){
                        wrapper.innerHTML = this.dataFile;
                    } else {
                        wrapper.innerHTML = 'No data';
                    }
                    return wrapper;
                }
                });
                

                Waht did i wrong? :D
                I hope you can help me.


                Note from admin: Please use Markdown on code snippets for easier reading!

                1 Reply Last reply Reply Quote 0
                • strawberry 3.141S Offline
                  strawberry 3.141 Project Sponsor Module Developer
                  last edited by

                  this works for me you had everywhere weird quotes and the updateinterval was also wrong

                  Module.register("sensor",{
                  	defaults: {
                  		updateInterval: 30 * 60 * 1000 //reads the file every 30 mins
                  	},
                  
                  	start: function(){
                  		this.sendSocketNotification("START", this.config);
                  	},
                  
                  	socketNotificationReceived: function(notification, payload) {
                  		if(notification === "DATA"){
                  			this.dataFile = payload;
                  			this.updateDom();
                  		}
                  	},
                  
                  	getDom: function(){
                  		var wrapper = document.createElement("div");
                  		if(this.dataFile){
                  			wrapper.innerHTML = this.dataFile;
                  		} else {
                  			wrapper.innerHTML = "No data";
                  		}
                  		return wrapper;
                  	}
                  });
                  
                  const NodeHelper = require("node_helper");
                  const fs= require("fs");
                  
                  module.exports = NodeHelper.create({
                  //here comes the part of the nodehelper after the 3 dots as posted above
                  
                  	socketNotificationReceived: function(notification, payload) {
                  		if(notification === "START"){
                  			this.config = payload;
                  			this.readData();
                      			setInterval(() => {
                          			this.readData();
                      			}, this.config.updateInterval);
                  		}
                  	},
                  
                  	readData: function(){
                  		//to read a file to do the following
                  		fs.readFile("Test-temp.txt", "utf8", (err, data) => {
                  			if (err) throw err;
                  			this.sendSocketNotification("DATA", data);
                  		});
                  	}
                  });
                  

                  Please create a github issue if you need help, so I can keep track

                  D 2 Replies Last reply Reply Quote 0
                  • D Offline
                    dominic @strawberry 3.141
                    last edited by

                    @strawberry-3.141
                    Mh… than i don´t know…
                    i have copy your code but it doesen´t work…
                    I need to change anything els?

                    And thank you for your patience :)

                    1 Reply Last reply Reply Quote 0
                    • D Offline
                      dominic @strawberry 3.141
                      last edited by

                      @strawberry-3.141 1_1472575446381_sensor.js 0_1472575446381_node_helper.js 0_1472575579268_config.js

                      Here are my code files. Maybe this can help?

                      1 Reply Last reply Reply Quote 0
                      • strawberry 3.141S Offline
                        strawberry 3.141 Project Sponsor Module Developer
                        last edited by strawberry 3.141

                        do you get any error in the console or in the electron console (cmd+shift+I)

                        did you place your Test-temp.txt in ~/MagicMirror or somewhere else?

                        Please create a github issue if you need help, so I can keep track

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