• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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 31.6k 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.
  • S Offline
    strawberry 3.141 Project Sponsor Module Developer @SaschaSP
    last edited by Jun 12, 2018, 7:08 PM

    @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 Jun 13, 2018, 9:42 AM Reply Quote 1
    • S Offline
      SaschaSP @strawberry 3.141
      last edited by SaschaSP Jun 13, 2018, 9:51 AM Jun 13, 2018, 9:42 AM

      @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

      S 1 Reply Last reply Jun 13, 2018, 6:21 PM Reply Quote 0
      • S Offline
        strawberry 3.141 Project Sponsor Module Developer @SaschaSP
        last edited by Jun 13, 2018, 6:21 PM

        @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 Apr 13, 2020, 5:26 AM

          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 Apr 13, 2020, 10:54 AM Reply Quote 0
          • S Away
            sdetweil @banbutcher
            last edited by Apr 13, 2020, 10:54 AM

            @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 Apr 16, 2020, 2:01 PM

              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 Apr 16, 2020, 2:33 PM Reply Quote 0
              • S Away
                sdetweil @banbutcher
                last edited by sdetweil Apr 17, 2020, 11:49 AM Apr 16, 2020, 2:33 PM

                @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
                • B Offline
                  banbutcher
                  last edited by banbutcher Apr 17, 2020, 1:30 AM Apr 17, 2020, 1:29 AM

                  @sdetweil

                  that worked great…

                  however, im a little bit stuck again… your expression works fine and return the correct result but only on the first line of the file and only if i remove the [1] from the end of line 5 of the code

                  	getDom: function(){
                  		var wrapper = document.createElement("div");
                  		if(this.dataFile){
                                          var splitRegExp = /.*[S][(0-9)]+[E][(0-9)]+/ig;
                                          var split = splitRegExp.exec(this.dataFile)[1];
                  
                  			wrapper.innerHTML = split;
                  		} else {
                  			wrapper.innerHTML = "No Data";
                  		}
                  		return wrapper;
                  	}
                  

                  do i need to stick it in some kind of loop? or am i reading the contents of file wrong?

                  again thanks for your help :)

                  S 1 Reply Last reply Apr 17, 2020, 1:47 AM Reply Quote 0
                  • S Away
                    sdetweil @banbutcher
                    last edited by Apr 17, 2020, 1:47 AM

                    @banbutcher is dataFile an array of filenames? then yes, you’ll need a loop.
                    so, you are moving part of name a, to a new array
                    then part of name b to the next slot in the array

                    array.push(item)
                    adds item to the end of the array

                    name_of_array =[] initializes name_of_array to be an empty array

                    then u will need to format the array of partial names

                    var x = name_of_array.join(separator)
                    will turn the array into x, a string with separator between the names

                    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 Apr 17, 2020, 2:03 AM

                      Band.Of.Brothers.E01.1080p.5.1Ch.BluRay.ReEnc-DeeJayAhmed.srt <br>
                      Archer S01E03 Diversity Hire (1080p x265 10bit S94 Joy).mkv <br>
                      devs.s01e02.720p.hdtv.x264-river[eztv].mkv <br>
                      What.We.Do.in.the.Shadows.S02E02.Ghosts.720p.AMZN.WEBRip.DDP5.1.x264-NTb[eztv.io].mkv <br>
                      What.We.Do.in.the.Shadows.S02E01.Resurrection.720p.AMZN.WEBRip.DDP5.1.x264-NTb[eztv.io].mkv <br>
                      

                      this is the file im reading from… im not sure if thats an array, sorry and i want them outputted same line by line just missing the trailing parts.

                      again thanks for your help :)

                      S 1 Reply Last reply Apr 17, 2020, 2:09 AM 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