Navigation

    MagicMirror Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • Donate
    • Discord
    MagicMirror² v2.15.0 is available! For more information about this release, check out this topic.

    Read local txt file from node_helper.js

    Troubleshooting
    2
    12
    57
    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.
    • A
      Aphamguin last edited by

      I am currently creating my own MM module, but am still relatively new to the platform so I used this tutorial to help me get started: https://forum.magicmirror.builders/topic/8534/head-first-developing-mm-module-for-extreme-beginners
      It mentions that the node_helper.js is able to read from local files, but I’m having trouble getting it to work.

      Here’s what my node_helper.js looks like so far:

      var NodeHelper = require("node_helper")
      var fs = require('fs')
      
      module.exports = NodeHelper.create({
      	start: function() {
      		this.rawText = fs.readFileSync('YourTrueHome.txt').toString()
      		this.readIn = this.rawText.split('\r')  //array of book line by line
      		this.text = this.readIn[1]
      	},
      socketNotificationReceived: function(notification, payload) {
      	switch(notification) {
      		case "DO_YOUR_JOB":
      			this.sendSocketNotification("I_DID", this.text)
      			break
      		}
      	},
      })
      

      And then in the main js file, the socket notification receiver simply reads:

      socketNotificationReceived: function(notification, payload) {
      		switch(notification){
      			case "I_DID":
      				let elem = document.getElementById("COUNT")
      				elem.innerHTML = "Count: " + payload
      				break
      		}
      	},
      

      There is a COUNT element correctly defined in getDom: function() already.

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

        @Aphamguin what is the problem? I don’t see anything obvious

        also, see my Sample Module, which sends thru node_helper and gets response back which is shown.

        https://github.com/sdetweil/SampleModule

        if u are just showing text, you should use innerText, so the dom handler doesn’t have to examine your text only to find no html tags… (save cycles for other work)

        A 1 Reply Last reply Reply Quote 0
        • A
          Aphamguin @sdetweil last edited by

          @sdetweil it seems to break the module and MM. Nothing shows up on the screen when I run it.
          Thanks for the sample module. It’s a really helpful template that I thought MM would have given us.
          It’s a simple module, but I’m just implementing its functionality in phases. At the moment I just want it to read from a local txt file, parse it into an array, and then display a chunk of text by accessing that array. So yes I’m just showing text. What is innerText? Do I just do elem.innerText(“text”)
          instead of elem.innerHTML(“text”)?

          S 3 Replies Last reply Reply Quote 0
          • S
            sdetweil @Aphamguin last edited by sdetweil

            @Aphamguin yes elem.innerText.

            not sure what you mean by breaks mm…

            if u email me the three files I will find what the problem is.

            same user ID on gmail. rename the .js as .txt

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

              @Aphamguin you did set a position for your module in config, right? else the output doesn’t get used

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

                @Aphamguin the sample mm provides (hello world), uses the nunjuks template approach

                A 1 Reply Last reply Reply Quote 0
                • A
                  Aphamguin @sdetweil last edited by

                  @sdetweil I have emailed you the main js file, the helper, and the txt file, all as txt files. I hope you got it.
                  I did set a position, yes.
                  Where can I get the sample mm? What is the nunjuks template approach?

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

                    @Aphamguin my sample module
                    https://github.com/sdetweil/SampleModule

                    I don’t have any links to nunjuks.

                    but basically you create a layout template with locations for variables, and then supply the data, and the template engine does that formatting
                    see the helloworld module in the defaults folder

                    I am working on your module. the initial problem is the data filename has to have a path, else it will be in the MagicMirror folder.

                    but there is also an easier way to process your data.

                    in a couple hours I will get it back to you the same way

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      Aphamguin @sdetweil last edited by

                      @sdetweil Ok I’ll play around with it then.
                      Wow great. Thanks a lot. I really appreciate it.

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

                        @Aphamguin sent back

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 1 / 2
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Paul-Vincent Roll and Rodrigo Ramírez Norambuena.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy