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.

    Hi, there is a new Alexa Module

    Scheduled Pinned Locked Moved General Discussion
    98 Posts 13 Posters 69.4k 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.
    • K Offline
      KJHedges
      last edited by

      Hi, if I currently have 8 pages configured. and these are discovered in alexa devices, then I wish to change the 8 pages to lets say 12. Is the discover devices part suppose to find then 12 pages.

      J 1 Reply Last reply Reply Quote 0
      • J Offline
        JoChef2 Module Developer @KJHedges
        last edited by

        @KJHedges Hi, yes that should work but then some other devices couldn’t work. For that I made some changes. You have to update the repository. For that run in /MagicMirror/modules/MMM-AlexaControl the following command: git pull. Then you can change the number of pages without any problems. But you have to delete all your devices one time after updating and discover them new.

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

          @JoChef2 i did not add any pecific devices, and came up with refresh, shutdown, restart as devices…

          not particularly useful… I will have 5 MM running… so need to address each…

          my devices don’t support either tvservice or dpms… so I created MMM-SleepWake that does hide for those that need it. I am changing your module to support HIDE too…

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • rubenixR Offline
            rubenix
            last edited by

            hello there, I have all set up with 6 pages on the mirror, page indicator and alexa discovered everything. lovely!
            just one thing that bothers me: on my 2nd page I have my calendar with CalendarExt2. everyime I go ‘Alexa turn on page 2’ it switches correctly but calendar then (kind of duplicate) and overlaps with other modules on page rotate…
            its like it duplicates the calendar and it overlaps over the next page rotation (and following ones too).
            Its the clearest way to indicate my problem (english its not my first nor second spoken language) and i cannot post any picture to show it to yus…

            im just wondering if someone have such behaviour…
            or if any of you are using MMM-Pages, MMM-PagesIndicator, MMM-AlexaControl & MMM-CalendarExt2 working togheter…

            cannot post my code here, im just reading this away from home and mirror switched off (damm it).

            il post it sooner anyway (need to solve it to finish the MM)

            S J 2 Replies Last reply Reply Quote 0
            • S Offline
              sdetweil @rubenix
              last edited by

              @rubenix @Sean had a post a few days ago about pages and calext2.

              Don’t remember exact topic

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 0
              • J Offline
                JoChef2 Module Developer @rubenix
                last edited by

                @rubenix Hi, have you tested MMM-Pages without my module and the Calender? Because my module only sends a notification to the Pages module. I think also there is a problem with the Calender module.

                1 Reply Last reply Reply Quote 0
                • rubenixR Offline
                  rubenix
                  last edited by

                  thanks @sdetweil will check for @Sean post!
                  & thank to you too @JoChef2 , im pretty sure it has nothing to do with your module either…

                  1 Reply Last reply Reply Quote 0
                  • rubenixR Offline
                    rubenix
                    last edited by

                    I’ve seen Sean’s post abot MMM-Pages & CalendarExt2; thanks @sdetweil and Thanks @Sean (love your well documented modules) Well, @JoChef2 I might be wrong but maybe there’s something with AlexaControl but can’t say that @100%

                    There’s obviously something wrong in my config and Im starting to suspect that its the interaction with AlexaControl module (I don’t know for sure yet). Anyway, If I leave the MMM-Pages rotate itself everythings works as expected; 60 second rotation and every single pages shows as it should as per my config (CalendarExt2 on page 2 too).
                    The only “problem” its when I change to the second page from Alexa (page that must be showing the calendarExt2 module view). It switches to page & shows the scene but it duplicates the calendar & then after that it shows the calendar overlapped on Pages below.
                    It does not happen with any other page; I can change to them with no problems at all and there’s no overlapping over any module after I call them with AlexaControl. It must be something easy but cannot find it at my own…

                    Help here will be much appreciated; any thoughts @Sean @JoChef2 ?

                    Config MMM-Pages:

                    	 {
                                module: "MMM-pages",
                                config: {
                                 modules:
                                        [["clock", "currentweather", "calendar", "weatherforecast", "MMM-MoonPhase", "MMM-LocalTemperature", "MMM-AirQuality", "MMM-CoinMarketCap", "MMM-EARTH", "nagios", "newsfeed"],
                                        [ "clock", "currentweather", "MMM-MoonPhase"],
                                        [ "MMM-PlexSlideshow"],
                                        [ "clock", "currentweather", "MMM-AirQuality", "MMM-TomTomTraffic"],
                                        [ "clock", "currentweather", "MMM-MoonPhase", "MMM-GmailFeed", "MMM-Covid19"]
                                        ],
                                    fixed: ["MMM-page-indicator", "MMM-CalendarExt2", "MMM-Remote-Control", "MMM-Admin-Interface", "MMM-Alexa-Control"],
                                    rotationTime: "60000",
                    
                                }
                                },
                    {
                                module: "MMM-AlexaControl",
                                position: "top_center",
                                config:{
                                image: "true",
                    	    height: "35",
                                width:   "35",
                                pm2ProcessName: "mm",
                                vcgencmd: true,
                                pages:'5',
                                }
                                },
                    
                    

                    config MMM-CalendarExt2:

                    {
                      module: 'MMM-CalendarExt2',
                      position: "middle_center",
                      config: {
                        rotateInterval: 0,
                        updateInterval: 1000 * 60 * 60,
                        calendars : [
                          {
                            name: "Family",
                            url: "mycalendar.ics",        //obviously my correct ics address here
                          },
                        ],
                        views: [
                          {
                            name: "VIEW1",
                            mode: "month",
                    		position: "middle_center",
                    		locale: "es_ES",
                            slotCount: 1,
                            calendars: ["Family"],
                          },
                        ],
                        scenes: [
                          {
                            name: "PAGE1",
                            views:["VIEW1"],
                            className: "fakeScene"
                          },
                    	  {
                            name: "PAGE2",
                            views:["VIEW1"],
                          },
                          {
                            name: "PAGE3",
                            views:["VIEW1"],
                            className: "fakeScene"
                          },
                    	  {
                            name: "PAGE4",
                            views:["VIEW1"],
                            className: "fakeScene"
                          },
                    	  {
                            name: "PAGE5",
                            views:["VIEW1"],
                            className: "fakeScene"
                          },
                        ],
                        notifications: {
                          "PAGE_INCREMENT" : {
                            exec: "sceneNext",
                          },
                          "PAGE_DECREMENT" : {
                            exec: "scenePrevious",
                          }
                        },
                      },
                    },
                    
                    

                    Added on my custom css as per @Sean indications:

                    .CX2.fakeScene {
                      display:none;
                    }
                    

                    It must be easy as I only want to show one calendar in one view (nothing complicated), isn’t it?
                    These are my three beauties for MM and would be nice to get them working together as per my needs:

                    MMM-Pages
                    MMM-CalendarExt2
                    MMM-AlexaControl
                    MMM-page-indicator

                    sorry 4 actually :smiling_face_with_open_mouth_cold_sweat: :smiling_face_with_open_mouth_cold_sweat:
                    Thanks in advance!

                    J 1 Reply Last reply Reply Quote 0
                    • J Offline
                      JoChef2 Module Developer @rubenix
                      last edited by

                      @rubenix I don’t really know the MMM-CalenderExt2 module and first I was wondering why you use this config. I read a little bit the documention and I understand why you use this config. The problem is that you added the notifications “PAGE_INCREMENT” and “PAGE_DECREMENT”. My module use “PAGE_CHANGED” I found this in the documention. I hope that helps you.

                      1 Reply Last reply Reply Quote 0
                      • rubenixR Offline
                        rubenix
                        last edited by

                        thanks @JoChef2. So its actually an interaction with the two modules and my config; to be honest read that calendarExt2 usage page lots of times. do not know how to accomplish to solve that misconfiguration; so would think about a way to solve it. Am not a coder and thats why asked here.

                        If I put the Calendarext2 on page0 on MMM-Pages (with no notifications) I can call the calendar from Alexa by stating an Alexa Routine to actually refresh the mirror (as it restarts it shows the first page which is the calendar) --> Tried that already and it works but would love to make it working the way I want to. So many test (try-error) coming :fearful_face:

                        If anyone think of something I can try would be really appreciated :thumbs_up_light_skin_tone:

                        @Sean can you throw any word here? Thanks so much; I’m quite confused…

                        1 Reply Last reply Reply Quote 0
                        • rubenixR Offline
                          rubenix
                          last edited by

                          Im reading a lot of documentation about all three modules in use (MMM-Pages, MMM-CalendarExt2 & Alexa Control).
                          That’s what i found in another thread about MMM-Pages & MMM-CalendarExt2; written by @Sean :

                          I just looked inside MMM-Pages(edward-shen/MMM-pages) shortly, It has no feature to emit notifications about current page sequence to other modules. It has PAGE_NUMBER_IS but it is only as the response of QUERY_PAGE_NUMBER. So there is no way to recognize which page at that moment. So CalendarExt2 cannot know what scene to show.
                          

                          And this from MMM-pages doc:

                          This module sends one notification, MAX_PAGES_CHANGED to assist display modules with how many pages they should display. However, this module does not enforce what page other modules should indicate. This is intentional, because any other module that needs a page change notification should be receiving from the notification system.
                          
                          Finally, if you want to know what page you're currently on, send a QUERY_PAGE_NUMBER notification. The module will respond with a PAGE_NUMBER_IS notification, with the payload of the current page number.
                          

                          So will leave it for now unless @edward-shen can point me to the right direction here (or somebody else of course)

                          So thanks @JoChef2 nothing to do with AlexaControl.

                          il leave config and putting Calext2 in the first page in order to make that little trick I commented on earliers post…(refresh MM when changing page to Calendar’s one ) :face_with_cold_sweat:

                          J 1 Reply Last reply Reply Quote 0
                          • J Offline
                            JoChef2 Module Developer @rubenix
                            last edited by

                            @rubenix Hi, I think I have good news for you. I tested the MMM-CalenderExt2 and I had problems with my module, too. I found on the link I send you the solution. The only thing you have to do is add a notification. I added this to your config and I hope it works.

                            {
                              module: 'MMM-CalendarExt2',
                              position: "middle_center",
                              config: {
                                rotateInterval: 0,
                                updateInterval: 1000 * 60 * 60,
                                calendars : [
                                  {
                                    name: "Family",
                                    url: "mycalendar.ics",        //obviously my correct ics address here
                                  },
                                ],
                                views: [
                                  {
                                    name: "VIEW1",
                                    mode: "month",
                            		position: "middle_center",
                            		locale: "es_ES",
                                    slotCount: 1,
                                    calendars: ["Family"],
                                  },
                                ],
                                scenes: [
                                  {
                                    name: "PAGE1",
                                    views:["VIEW1"],
                                    className: "fakeScene"
                                  },
                            	  {
                                    name: "PAGE2",
                                    views:["VIEW1"],
                                  },
                                  {
                                    name: "PAGE3",
                                    views:["VIEW1"],
                                    className: "fakeScene"
                                  },
                            	  {
                                    name: "PAGE4",
                                    views:["VIEW1"],
                                    className: "fakeScene"
                                  },
                            	  {
                                    name: "PAGE5",
                                    views:["VIEW1"],
                                    className: "fakeScene"
                                  },
                                ],
                                notifications: {
                                  "PAGE_INCREMENT" : {
                                    exec: "sceneNext",
                                  },
                                  "PAGE_DECREMENT" : {
                                    exec: "scenePrevious",
                                  },
                                  "PAGE_CHANGED" : {
                                    exec: "changeSceneById",
                                    payload: (payload) => {return payload}
                                  } 
                                },
                              },
                            },
                            
                            1 Reply Last reply Reply Quote 0
                            • rubenixR Offline
                              rubenix
                              last edited by

                              Hey man!! many thanks will try it asap and tell you how it goes.
                              I found another solution to show my google calendar using an iframe (had to make it public tho and do not want this)

                              So pretty good news if I make it to work.

                              Many thanks!!!

                              1 Reply Last reply Reply Quote 0
                              • rubenixR Offline
                                rubenix
                                last edited by

                                Yehaaaa. Got it working with no issues at all.
                                I think I tried before as per your link instructions but I think I put it without the notifications of page increment and page decrement. I made a fatal mix indeed…and thats why mirror was doing weird things…

                                Thanks so much, I’ve been in touch with MMM-Page developer but yours it has been the best indication indeed.
                                I’ve been playing with MMM-Notification-Trigger as I needed for interact with a groove sensor to fire QUERY_PAGE_NUMBER and got it working too. Very productive weekened indeed :face_savouring_delicious_food:

                                So now pages rotates by itself ; I can change them by AlexaControl and with a gesture too!!! Lovely
                                Thats what I wanted; reverting back calendar as private!!!

                                Thanks so much @JoChef2 I owe you a beer:clinking_beer_mugs:

                                1 Reply Last reply Reply Quote 0
                                • rubenixR Offline
                                  rubenix
                                  last edited by

                                  Hello again! I’ve another question…
                                  I want to power off USB power at the same time I power off monitor from alexa module.

                                  I’ve seen on line 199 of node_helper.js the following:

                                   exec("vcgencmd display_power 0", opts, (error, stdout, stderr) =>
                                  

                                  Tried to add the command: echo ‘1-1’ |sudo tee /sys/bus/usb/drivers/usb/unbind (cut power from usb ports)
                                  like that:

                                   exec("vcgencmd display_power 0 && echo '1-1' |sudo tee /sys/bus/usb/drivers/usb/unbind", opts, (error, stdout, stderr) =>
                                  

                                  Command does not work (I think theres a syntax error) monitor powers off but usb power still on.
                                  Command works from commandline.
                                  Also tried to put it on a separate exec function without succeed.

                                  Can you give me a hand with this @JoChef2

                                  Thanks!

                                  1 Reply Last reply Reply Quote 0
                                  • rubenixR Offline
                                    rubenix
                                    last edited by

                                    Also created a couple of scripts (monitor_on.sh & monitor_off.sh) --> with 2 commands I mentioned before on them.
                                    Both works from bash but cannot execute them from node_helper.js
                                    any thoughts? sorry about asking but am not a coder & cannot find an answer anywere…

                                    Thanks!

                                    S J 2 Replies Last reply Reply Quote 0
                                    • S Offline
                                      sdetweil @rubenix
                                      last edited by

                                      @rubenix what do the scripts look like? if u replaced the vcgencmd strin with the scripts, they should work…

                                      where are the scripts? they MUST be on the path, or have the full path specified in the command too

                                      Sam

                                      How to add modules

                                      learning how to use browser developers window for css changes

                                      1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        JoChef2 Module Developer @rubenix
                                        last edited by

                                        @rubenix Hi, I don’t really know why it doesn’t work. The syntax seems to be right. That’s the hole edit part around line 199. Maybe it helps. I tested this and it works great.

                                         device.handler = function(action) {     
                                            if(action === 1){
                                                exec("vcgencmd display_power 1 && echo '1-1' |sudo tee /sys/bus/usb/drivers/usb/bind", opts, (error, stdout, stderr) => {
                                                    _this.checkForExecError(error, stdout, stderr); 
                                                });
                                            }if(action === 0){
                                                exec("vcgencmd display_power 0 && echo '1-1' |sudo tee /sys/bus/usb/drivers/usb/unbind", opts, (error, stdout, stderr) => {
                                                    _this.checkForExecError(error, stdout, stderr); 
                                                });
                                            }
                                        }
                                        
                                        S 1 Reply Last reply Reply Quote 0
                                        • S Offline
                                          sdetweil @JoChef2
                                          last edited by

                                          @JoChef2 its because the exec() is launching A program… but the program is NOT a shell (sh., bash etc), and only THEY understand the | and && syntax… vcgencmd does not… it executes what it knows ‘display_power 1’ ,and ignores the rest

                                          now, you CAN execute a script directly as long as it contains the processor name at the front
                                          #!/bin/sh or #!/bin/bash

                                          exec(“/home/pi/MagicMirror/modules/MMM-AlexaControl/scriptname”)

                                          or the script has to be in the path environment varible.
                                          (unlike windows, the ‘current directory’ is NOT included in the path (for security reasons))

                                          if the script does NOT contain the processor path&name
                                          then you have to launch the shell

                                          exec(“/bin/bash -c "command string with pipe and logic chars"”)

                                          Sam

                                          How to add modules

                                          learning how to use browser developers window for css changes

                                          1 Reply Last reply Reply Quote 0
                                          • rubenixR Offline
                                            rubenix
                                            last edited by

                                            got it working thanks!

                                            if(action === 1){
                                                        exec('/home/pi/monitor_on.sh');
                                                        }if(action === 0){
                                                        exec('/home/pi/monitor_off.sh');                         
                                            

                                            forgot to put the path :confounded_face:

                                            Thanks buds!

                                            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
                                            • 4
                                            • 5
                                            • 4 / 5
                                            • 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