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

      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
                • S Offline
                  SaschaSP @strawberry 3.141
                  last edited by SaschaSP

                  @strawberry-3-141
                  Ok, i will try step by step.
                  Beginning with my first probleme:
                  The Output message (displayed on the mirror) is only displaying one word after the “identifyer-word”

                  identifyer "Meldung"
                  Stellmotor Antrieb blockiert
                  MagicMirror Display only Stellmotor
                  Antrieb blockiert is missing

                  The identifyer-wordsare Meldung Zone Zeit

                  The content from my txt:

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

                  My edited 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;
                  	}
                  });
                  
                  

                  Result wich is displayed at MagicMirror:

                  Meldung:Stellmotor Zone:Nebenantrieb Zeit:6.Juni

                  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 your regular expressens are different from the one i posted, use them and I’m sure it will work

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

                    1 Reply Last reply Reply Quote 0
                    • B Offline
                      banbutcher
                      last edited by

                      hi,
                      sorry to be dragging up old posts, but im trying to get my mirror to display the contents of a txt file and i have it partly working… i have the contents displaying on my mirror but its all showing up on one line, how can i display it with each line break as in txt file?

                      thanks

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

                        @banbutcher you will have to replace the line feeds (\n) with html breaks (
                        )

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

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