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.

    run Linux command from a mm2 module

    Scheduled Pinned Locked Moved Development
    20 Posts 5 Posters 5.4k Views 5 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
      sdetweil @Mykle1
      last edited by

      @mykle1 let me see what I can do.
      Will be tomorrow.

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      Mykle1M 1 Reply Last reply Reply Quote 0
      • ? Offline
        A Former User @Mykle1
        last edited by A Former User

        @mykle1
        You can use Regular Expression for getting matched text with pattern.

        var s = stdout
        var fan1 = new RegExp("fan1\:\s+([0-9]+ RPM)")
        var fan1_found = s.match(fan1)
        console.log(fan1_found, fan1_found[1])
        

        Not tested in real PC, so there could be a mistake.

        Mykle1M 1 Reply Last reply Reply Quote 0
        • Mykle1M Offline
          Mykle1 Project Sponsor Module Developer @Guest
          last edited by

          @sean

          First, thank you for your input. I do appreciate it.

          1. Adding your suggestion results in an uncaught exception. . . TypeError: Cannot read property ‘1’ of null

          2. Using your suggestion and taking out the “[1]” results in an array with a single object

          Create a working config
          How to add modules

          ? 1 Reply Last reply Reply Quote 0
          • ? Offline
            A Former User @Mykle1
            last edited by

            @mykle1
            null means not found. Maybe my regular espression pattern was wrong. As I wrote, it was not tested.
            However if you find proper expression pattern, it will return matched string. Google it about regular expression. That is a standard way to search or replace text by pattern in most of program languages.

            Mykle1M 1 Reply Last reply Reply Quote 1
            • Mykle1M Offline
              Mykle1 Project Sponsor Module Developer @Guest
              last edited by Mykle1

              @sean

              ok thank you. This seems like a good place to start.

              https://www.regular-expressions.info/

              Create a working config
              How to add modules

              ? 1 Reply Last reply Reply Quote 0
              • ? Offline
                A Former User @Mykle1
                last edited by A Former User

                @mykle1

                • https://www.w3schools.com/jsref/jsref_obj_regexp.asp
                • https://www.w3schools.com/jsref/jsref_match.asp
                  See these also.
                Mykle1M 1 Reply Last reply Reply Quote 1
                • Mykle1M Offline
                  Mykle1 Project Sponsor Module Developer @Guest
                  last edited by

                  @sean

                  See these also.

                  Thanks!

                  Create a working config
                  How to add modules

                  1 Reply Last reply Reply Quote 0
                  • Mykle1M Offline
                    Mykle1 Project Sponsor Module Developer @sdetweil
                    last edited by

                    @sdetweil said in run Linux command from a mm2 module:

                    let me see what I can do.
                    Will be tomorrow.

                    Thanks! Anything you can offer will be much appreciated.

                    This what I have, and sent to the module.js
                    0_1543457816014_Screenshot from 2018-11-28 21-11-58.png

                    Create a working config
                    How to add modules

                    ? 1 Reply Last reply Reply Quote 0
                    • ? Offline
                      A Former User @Mykle1
                      last edited by

                      @mykle1
                      test.js

                      var str = `nouveau-pci-0100↵Adapter: PCI adapter↵fan1:        1170 RPM↵temp1:        +43.0°C  (high = +95.0°C, hyst =  +3.0°C)↵                       (crit = +105.0°C, hyst =  +5.0°C)↵                       (emerg = +135.0°C, hyst =  +5.0°C)↵↵coretemp-isa-0000↵Adapter: ISA adapter↵Core 0:       +46.0°C  (high = +83.0°C, crit = +99.0°C)↵Core 1:       +41.0°C  (high = +83.0°C, crit = +99.0°C)↵Core 2:       +46.0°C  (high = +83.0°C, crit = +99.0°C)↵Core 3:       +38.0°C  (high = +83.0°C, crit = +99.0°C)↵↵f71858fg-isa-0a00↵Adapter: ISA adapter↵+3.3V:        +3.31 V  ↵3VSB:         +3.30 V  ↵Vbat:         +3.20 V  ↵fan1:        1910 RPM↵fan2:        1069 RPM↵fan3:           0 RPM  ALARM↵temp1:        +34.5°C  (high = +70.0°C, hyst = +60.0°C)↵temp2:        +29.5°C  (high = +100.0°C, hyst = +85.0°C)↵temp3:        +36.4°C  (high = +100.0°C, hyst = +85.0°C)↵↵`
                      
                      var pattern = [
                        "(fan[0-9]):[\\s]+([0-9]+ RPM)",
                        "(temp[0-9]):[\\s]+(\\+[0-9\\.]+°C)",
                      ]
                      for (i = 0; i < pattern.length; i++) {
                        var rx = new RegExp(pattern[i], "g")
                        var found
                        do {
                          found = rx.exec(str)
                          if (found) console.log(found[1], found[2])
                        } while(found)
                      }
                      

                      RESULT
                      0_1543487861366_test1.png

                      Mykle1M 1 Reply Last reply Reply Quote 1
                      • Mykle1M Offline
                        Mykle1 Project Sponsor Module Developer @Guest
                        last edited by Mykle1

                        @sean said in run Linux command from a mm2 module:

                        RESULT

                        Excellent sean! Working here as well. You have my eternal gratitude. :thumbsup:

                        EDIT

                        Using your example above as a guide I was able to add to the pattern array successfully.

                        My addition
                        "(Core [0-9]):[\\s]+(\\+[0-9\\.]+°C)"

                        Result
                        0_1543544648175_Screenshot from 2018-11-29 21-19-19.png

                        Now I’ll do the ones I want. Thank you again, sean. This is awesome!

                        Create a working config
                        How to add modules

                        S 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 Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy