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 39.0k 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

      i think this depends on the content of the file

      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 in the file are values from a dht22 temp.sensor.
        but i only need the values for Humidity = xx and Temperature =xx.

        is there any why to get only this values ?

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

          @yawns Danke für deinen Tipp. Aber es läuft nun.
          Habe aber nun ein anderes Problem ;)
          gibt es eine Möglichkeit, die asugabe der txt Datei zu beregenzen, so dass mir nur bestimmte Werte angezeigt werden.
          In der Datei stehen Werte von einem dht22 sensor und ich möchte nur diese werte ausgeben ohne die den anderen INhalt.

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

            are these all in seperate lines?

            if so then you could check in a for loop if there is the word humidity or temperature otherwise ignore the line

            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
              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
                                • 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
                                        • B Offline
                                          banbutcher
                                          last edited by

                                          hi again,

                                          im after getting my script to update my txt file with the names of downloaded movies and tv series… how would i go about reading the title of the series and just having the title and info ie:

                                          if title has S**E** in it then
                                          filename - Archer S01E01pilot 1080p x265.mkv
                                          desired result - Archer S01E01

                                          else its a movie and just add movie name

                                          i think this is the bit of code im to edit but i havent got it working :(

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

                                          thanks

                                          Richie

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

                                            @banbutcher said in .txt file include:

                                            Archer S01E01pilot 1080p x265.mkv

                                            using the regex tester,
                                            https://regex101.com/

                                            I think this is the regex u want

                                            /.*[S][(0-9)]+[E][(0-9)]+/
                                            

                                            Sam

                                            How to add modules

                                            learning how to use browser developers window for css changes

                                            1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • 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