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.
    • D Offline
      dominic @strawberry 3.141
      last edited by

      @strawberry-3.141
      No. There is only one line.

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

        can you please upload your txt file i have no clue how it looks like, so we can help you out with that

        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
          Raspberry Pi wiringPi DHT22 reader www.lolware.net Data not good, skip Data not good, skip Data not good, skip Humidity = 47.10 % Temperature = 24.50 *C .

          This is the contetn of the .txt file. And its all in one line.

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

            @strawberry-3.141 Hi, do you have any idea?

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

              getDom: function(){
              		var wrapper = document.createElement("div");
              		if(this.dataFile){
                                      var humidityRegExp = /Humidity = (.*?) %/ig;
                                      var humidity = humidityRegExp.exec(this.dataFile)[1];
              
                                      var temperatureRegExp = /Temperature = (.*?) *C/ig;
                                      var temperature = temperatureRegExp.exec(this.dataFile)[1];
              			wrapper.innerHTML = "Humidity: " + humidity + "% and Temperature: " + temperature + "°C";
              		} else {
              			wrapper.innerHTML = "No data";
              		}
              		return wrapper;
              	}
              

              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 Thanks. Sorry but, where do I insert the code?
                I´m new in this…

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

                  in sensor.js you have the function getdom replace it with this

                  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 Yeah :) Thanks :)

                    1 Reply Last reply Reply Quote 0
                    • S Offline
                      SaschaSP
                      last edited by yawns

                      @strawberry-3-141 great solution from you.
                      I want to use your solution not for showing Temperatur/ Humidity rather for showing alerts from sensors.

                      The content from my txt is for example:

                      Meldung Stellmotor Antrieb blockiert
                      Zone Nebenantrieb
                      Zeit 6.Juni 2018 10:40
                      +++ENDE DER DATEI+++
                      

                      I change the sensor.js:

                      Module.register("Home-Status",{
                      	defaults: {
                      		updateInterval: 0.5 * 60 * 1000 //reads the file every 30 seconds
                      	},
                      
                      	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){
                                              var meldungRegExp = /Meldung = (.*?) /ig;
                                              var meldung = meldungRegExp.exec(this.dataFile)[1];
                      
                                              var zoneRegExp = /Zone = (.*?) /ig;
                                              var zone = zoneRegExp.exec(this.dataFile)[1];
                      
                      			var zeitRegExp = /Zeit = (.*?) /ig;
                      			var zeit = zeitRegExp.exec(this.dataFile)[1];
                      			wrapper.innerHTML = "Meldung: " + meldung + " , Zone: " + zone + " , "Zeit: " + zeit" ;
                      		} else {
                      			wrapper.innerHTML = "No Data";
                      		}
                      		return wrapper;
                      	}
                      });
                      

                      but it dosn´t work.
                      Firtst problem: my txt have no seperators like = or :
                      second probleme: my alert text (Meldung) contains of several words
                      third Problem: only the newest txt should be displayed. The Names from the txt files are for example 20180112090125.txt or 20185912085949.txt etc. It´s not possible to edit the incoming txt names. Best way is to automaticly delete the previous txt

                      I hope you can help me to Display " Meldung, Zone, Zeit" on my MagicMirror

                      Best regards

                      Sascha

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

                        @saschasp you can change your regular expressions to the following:
                        /Meldung (.*)/ig;, /Zone (.*)/ig; and /Zeit (.*)/ig;. This should help you displaying the data. For the problem with the newest file you need to do the following steps: Scan the directory, sort file list by highest number, read the first file.

                        Scan the directory https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback

                        Sort the file names https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

                        Read the file https://nodejs.org/api/fs.html#fs_fs_readfile_path_options_callback

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

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