• 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.

MM-Navbar - Navigation Bar for Touchscreens to hide/show modules

Scheduled Pinned Locked Moved System
47 Posts 11 Posters 38.9k Views 15 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.
  • C Offline
    chrisyy
    last edited by Dec 30, 2016, 9:28 AM

    I have already tested some things and still didnt update and pushed to git.

    The problem with the creation of buttons out of the config is a for/while that still doesn’t work. Also i would need a library for icons.

    Ur proplem was indeed an issue, will fix this within git.

    1 Reply Last reply Reply Quote 0
    • T Offline
      TheHyp3
      last edited by Dec 30, 2016, 11:44 AM

      @strawberry-3.141 did a little change on my custome.css in MagicMirror/css. Now its working very well.

      Heres the code:

      .MM-navbar .center {
      width: 100%;
      text-align: center;
      left: 0px;
      }

      0_1483098225679_navbar.JPG

      1 Reply Last reply Reply Quote 0
      • S Offline
        shashank @chrisyy
        last edited by Dec 31, 2016, 4:55 PM

        @chrisyy hi, i installed this module works great, how can i toggle between 2 same modules, example MMM-mails i need to toggle emails between gmail and hotmail , gmail to show hotmail to hide and vice versa

        C 1 Reply Last reply Jan 6, 2017, 8:48 AM Reply Quote 0
        • T Offline
          tidus5
          last edited by Jan 3, 2017, 9:27 PM

          Hey @chrisyy - hope you are well.
          Since the update i have a problem with the hide/show all butt - function not recognized in this line

          			MM.getModules().exceptWithClass('MM-navbar').exceptWithClass('MMM-ShipmentTracking').exceptWithClass('clock').enumerate(function(module){
          

          and now the weather and the current weather are not hide at startup - do you have the same problem ?

          1 Reply Last reply Reply Quote 0
          • C Offline
            chrisyy @shashank
            last edited by Jan 6, 2017, 8:48 AM

            @shashank u would need to have 2 of them installed, lets say one is Mail-Gmail, the second is Mail-Hotmail

            @tidus5 until now i haven’t tested it and im moving to a new place, so i my mirror aswell as my server is laying in a box right now. I saw that in the new version, there are visibility-locking options. Maybe this will have to do something with it. As soon as it is possible for me to do something, i will take a look and hopefully can fix this.
            second thing: u should not make 3x exceptwithclass, do one and separate the modules with commata.

            A 1 Reply Last reply Jan 7, 2017, 2:27 PM Reply Quote 0
            • I Offline
              in_a_days
              last edited by Jan 6, 2017, 8:44 PM

              I think this module is very cool! My present build is non-touch so I made some small additions (informed by @GinSeng in another thread) and I’m currently using voice to trigger the Navbar. Love it! I’ll be happy to provide code or details if anybody is interested.

              What ship would bear me ever back across so wide a Sea?

              S 1 Reply Last reply Jan 7, 2017, 2:25 PM Reply Quote 0
              • S Offline
                shashank @in_a_days
                last edited by Jan 7, 2017, 2:25 PM

                @in_a_days hi, can you please share the code

                I 1 Reply Last reply Jan 7, 2017, 6:21 PM Reply Quote 0
                • A Offline
                  AlessandroRa @chrisyy
                  last edited by Jan 7, 2017, 2:27 PM

                  Hi @chrisyy thank you for this awesome module!
                  Only problem is that with this module on, the Hide/show all module disappeared. How can I fix it?
                  Thanks!

                  1 Reply Last reply Reply Quote 0
                  • I Offline
                    in_a_days @shashank
                    last edited by in_a_days Jan 7, 2017, 8:17 PM Jan 7, 2017, 6:21 PM

                    @shashank

                    For sure. Forgive me if there are several steps.

                    First thing is to install this module

                    https://github.com/alexyak/voicecontrol

                    Go to your MagicMirror/modules folder and type

                    git clone https://github.com/alexyak/voicecontrol.git

                    Then install dependencies with

                    sudo apt-get install python-pyaudio python3-pyaudio sox

                    Next, install the navbar. Again, make sure you are in the MagicMirror/modules folder and type

                    git clone https://github.com/chr1syy/MM-navbar.git

                    Then you will need to go to this website and define your voice commands.

                    https://snowboy.kitt.ai/

                    Keep track of the keywords you define and the filenames you produce. Each keyword/command will require you to download a .pmdl file that needs to be copied into the MagicMirror folder on your Pi. I’m only using 3 commands so far - calendar, newsfeed, and weather.

                    Still with me? Sweet! Lets configure config.js. Go to the MagicMirror/config folder and

                    nano config.js

                    Assuming you know where to place a new module in this file, add the navbar module with

                                {
                                        module: 'MM-navbar',
                                        position: 'fullscreen_above'
                                },
                    

                    Next we will add the voice control call to the same config.js file. There are a couple variables here that will depend on the keywords and filenames you used on the snowboy site. Here is the code I use

                              {
                                        module: 'voicecontrol',
                                        position: 'bottom_right',
                                        config: {
                                                models: [
                                                                {
                                                                        keyword: "Calendar",
                                                                        description: "Say 'Calendar' to toggle display",
                                                                        file: "calendar.pmdl",
                                                                        message: "CALENDAR"
                                                                },
                                                                {
                                                                        keyword: "Newsfeed",
                                                                        description: "Say 'Newsfeed' to toggle display",
                                                                        file: "newsfeed.pmdl",
                                                                        message: "NEWSFEED"
                                                                },
                                                                {
                                                                        keyword: "Weather",
                                                                        description: "Say 'Weather' to toggle display",
                                                                        file: "weather.pmdl",
                                                                        message: "WEATHER"
                                                                }
                                                        ]
                    
                                                }
                                },
                    

                    Note that the keyword and file need to match the keyword and filenames you used on your Snowboy files. Save and quit out of config.js and we’ll hit the last step. We need to make a couple changes to the navbar code. Navigate to MagicMirror/modules/MM-navbar then

                    nano MM-navbar.js

                    First change is at line 13. Right now lines 12-19 look like this

                    notificationReceived: function(notification, payload, sender){
                    	if (notification === 'DOM_OBJECTS_CREATED'){
                    		MM.getModules().exceptModule(this).exceptWithClass('clock').enumerate(function(module){
                    			module.hide(1000, function(){
                    			});
                    		});
                    	}
                    },
                    

                    You will need to modify it to look like this

                        notificationReceived: function(notification, payload, sender){
                                if (notification === "CALENDAR"){
                                        var calendarbutton = document.getElementById('calendar-button');
                                        calendarbutton.click();
                                }
                                if (notification === "NEWSFEED"){
                                        var newsbutton = document.getElementById('news-button');
                                        newsbutton.click();
                                }
                                if (notification === "WEATHER"){
                                        var weatherbutton = document.getElementById('weather-button');
                                        weatherbutton.click();
                                }
                        },
                    

                    Now we’re going down to the section that originally starts on line 32

                    	wrapper.className = "center";
                    	weatherbutton.className = "wi wi-day-rain-mix navbar";
                    	calendarbutton.className = "fa fa-calendar navbar";	
                    	newsbutton.className = "fa fa-newspaper-o navbar";		
                    

                    And change it to

                                wrapper.className = "center";
                                weatherbutton.className = "wi wi-day-rain-mix navbar";
                                weatherbutton.id = 'weather-button';
                                calendarbutton.className = "fa fa-calendar navbar";
                                calendarbutton.id = 'calendar-button';
                                newsbutton.className = "fa fa-newspaper-o navbar";
                                newsbutton.id = 'news-button';
                    

                    Save, close and restart your MM and you should have a working, voice responsive nav bar. I know there are kind of a lot of steps here and typos and omissions are entirely possible. If you have any problems let me know and I’ll try to help. Cheers!

                    What ship would bear me ever back across so wide a Sea?

                    C S 2 Replies Last reply Jan 12, 2017, 7:20 AM Reply Quote 0
                    • C Offline
                      chrisyy @in_a_days
                      last edited by chrisyy Jan 12, 2017, 7:22 AM Jan 12, 2017, 7:20 AM

                      @in_a_days maybe u can make a fork of it in git? Thanks for sharing ur code.

                      @AlessandroRa There’s also a button in this module for hiding/showing everything. Do u have another module that will do this function for it?

                      @All
                      Forgive me if I’m not answering in time. Since I’m moving my time is very limited.
                      When we are done (maybe in 2-3 Weeks) i will do some updates on my own mirror and will update code if needed.

                      U can also submit code on git, i will take a look and implement it.

                      I’ll try to Keep in touch.

                      I A 2 Replies Last reply Jan 12, 2017, 3:41 PM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 3 / 5
                      3 / 5
                      • First post
                        22/47
                        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