MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. ChanceTime
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    C
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 9
    • Groups 0

    ChanceTime

    @ChanceTime

    1
    Reputation
    3
    Profile views
    9
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    ChanceTime Unfollow Follow

    Best posts made by ChanceTime

    • Combining MMM-GroveGestures and MMM-Page-Selector

      Hi there! I’m on my third update of my Magic Mirror after the previous OS revision of Raspbian busted my RPi (I wasn’t able to generate a taskbar until Bookworm came out??) and am trying to restore some of the functionality I had in rev 1 of my build, where I could use MMM-GroveGestures to swap between pages of modules. I tested and the sensor works, and I am able to get recognition of the gesture movement when I move my hand in front of the sensor in the MM app, but I think there must be an issue in the notification being sent to MMM-Page-Selector and I am stumped. I tried using this.SendNotification and continually got errors as well (I’ll leave the commented versions in in case that was my issue).

      A lightly redacted version of my config file is below:

      /* Config Sample
       *
       * For more information on how you can configure this file
       * see https://docs.magicmirror.builders/configuration/introduction.html
       * and https://docs.magicmirror.builders/modules/configuration.html
       *
       * You can use environment variables using a `config.js.template` file instead of `config.js`
       * which will be converted to `config.js` while starting. For more information
       * see https://docs.magicmirror.builders/configuration/introduction.html#enviromnent-variables
       */
      let config = {
      address: "localhost", // Address to listen on, can be:
      // - "localhost", "127.0.0.1", "::1" to listen on loopback interface
      // - another specific IPv4/6 to listen on a specific interface
      // - "0.0.0.0", "::" to listen on any interface
      // Default, when address config is left out or empty, is "localhost"
      port: 8080,
      basePath: "/", // The URL path where MagicMirror² is hosted. If you are using a Reverse proxy
      // you must set the sub path here. basePath must end with a /
      ipWhitelist: [redacted], // Set [] to allow all IP addresses
      // or add a specific IPv4 of 192.168.1.5 :
      // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
      // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
      // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
      
      useHttps: false, // Support HTTPS or not, default "false" will use HTTP
      httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true
      httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true
      
      language: "en",
      locale: "en-CA",   // this variable is provided as a consistent location
        // it is currently only used by 3rd party modules. no MagicMirror code uses this value
        // as we have no usage, we  have no constraints on what this field holds
        // see https://en.wikipedia.org/wiki/Locale_(computer_software) for the possibilities
      
      logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
      timeFormat: 12,
      units: "metric",
      
      modules: [
      {
      module: "MMM-Page-Selector",
      position: "top_center",
      config: {
      defaultPage: "mainPage",
      displayTitle: false,
      selectPageNotif: ["PAGE_SELECT"],
      incrementPageNotif: ["PAGE_UP"],
      decrementPageNotif: ["PAGE_DOWN"],
      persistentPages: true,
      }
      },
      {
      module: "MMM-GroveGestures",
      //position: "top_right",
      pages: {"all": "top_right"},
      config: {
      autoStart: true,
      verbose: false,
      recognitionTimeout: 1000,
      idleTimer: 0,
      },
      defaultNotification: "GESTURE",
      pythonPath: "/usr/bin/python",
      
      defaultCommandSet: "default",
      commandSet: {
      "default": {
      "FORWARD": {
      notificationExec: {
      notification: "PAGE_SELECT",
      payload: "mainPage",
      },
      //this.sendNotification: ("PAGE_SELECT", "mainPage");
      },
      "BACKWARD": {
      notificationExec: {
      notification: "PAGE_SELECT",
      payload: "work",
      },
      //this.sendNotification("PAGE_SELECT", "work"),
      },
      "UP": {
      },
      },
      },
      },
      {
      module: "alert",
      // pages: {"all": "top_bar"},
      },
      {
      module: "updatenotification",
      //position: "top_bar"
      // pages: {"all": "top_bar"},
      },
      {
      module: "clock",
      //position: "top_left"
      pages: {"mainPage": "top_left"},
      },
      {
      module: "calendar",
      header: "Calendar",
      //position: "top_left",
      pages: {"mainPage": "top_left"},
      config: {
      calendars: [
      {
      fetchInterval: 7 * 24 * 60 * 60 * 1000,
      symbol: "calendar-check",
      url: "redacted.ics",
      }
      ]
      }
      },
      {
      module: "calendar",
      header: "Upcoming Birthdays",
      //position: "top_left",
      pages: {"mainPage": "top_left"},
      config: {
      calendars: [
      {
      fetchInterval: 7 * 24 * 60 * 60 * 1000,
      symbol: "calendar-check",
      url: "redacted.ics"
      }
      ]
      }
      },
      {
      module: 'MMM-Block',
      //position: 'top_right',
      pages: {"mainPage": "top_right"},
      config: {
      height: 132,
      }
      },
      {
      module: 'MMM-EnvCanada',
      //position: 'top_right',
      pages: {"mainPage": "top_right"},
      header: "Environment Canada",
      config:{
      siteCode: "redacted",
      provCode: "ON",
      updateInterval: 10 * 60 * 1000,
      language: "e",
      textForecasts: 2,
      showAlerts: true,
      showForecastDays: 5,
      }
      {
      module: 'MMM-Todoist',
      //position: 'bottom_bar',
      pages: {"mainPage": "bottom_bar"},
      header: 'Todoist',
      config: {
      hideWhenEmpty: false,
      accessToken: 'redacted',
      maximumEntries: 10,
      updateInterval: 10 * 60 * 1000,
      fade: false,
      //projects: [],
      labels: ['MagicMirror'],
      }
      },
      
      // Work!
      
      {
      module: "MMM-SpaceLaunch",
      pages: {"work": "top_right"},
      config: {
      showMission: true,
      showLaunchDate: true,
      showRocket: true,
      showLaunchSite: true,
      showLocation: false,
      showPayload: true,
      showOrbit: true,
      showDetails: false,
      }
      },
      ]
      };
      
      /*************** DO NOT EDIT THE LINE BELOW ***************/
      if (typeof module !== "undefined") { module.exports = config; }
      

      Thanks in advance!

      posted in Troubleshooting
      C
      ChanceTime

    Latest posts made by ChanceTime

    • RE: Combining MMM-GroveGestures and MMM-Page-Selector

      @sdetweil nevermind - I fixed it thanks to your suggestion to use the second module! Found where GESTURE_DETECTED was coming from in MMM-GroveGestures.js and edited my notifications in there. I really appreciate your support!

      posted in Troubleshooting
      C
      ChanceTime
    • RE: Combining MMM-GroveGestures and MMM-Page-Selector

      @sdetweil so I tested with MMM-ViewNotifications! I am seeing MMM-GroveGestures GESTURE_DETECTED get registered, but nothing from inside of the movement (FORWARD, BACKWARD) from the MMM-GroveGestures section despite the correct movements being shown on the screen. Any ideas?

      posted in Troubleshooting
      C
      ChanceTime
    • RE: Combining MMM-GroveGestures and MMM-Page-Selector

      @sdetweil ah!! Thanks so much for this - I’ll give it a shot when I get home this evening and report back. :)

      posted in Troubleshooting
      C
      ChanceTime
    • Combining MMM-GroveGestures and MMM-Page-Selector

      Hi there! I’m on my third update of my Magic Mirror after the previous OS revision of Raspbian busted my RPi (I wasn’t able to generate a taskbar until Bookworm came out??) and am trying to restore some of the functionality I had in rev 1 of my build, where I could use MMM-GroveGestures to swap between pages of modules. I tested and the sensor works, and I am able to get recognition of the gesture movement when I move my hand in front of the sensor in the MM app, but I think there must be an issue in the notification being sent to MMM-Page-Selector and I am stumped. I tried using this.SendNotification and continually got errors as well (I’ll leave the commented versions in in case that was my issue).

      A lightly redacted version of my config file is below:

      /* Config Sample
       *
       * For more information on how you can configure this file
       * see https://docs.magicmirror.builders/configuration/introduction.html
       * and https://docs.magicmirror.builders/modules/configuration.html
       *
       * You can use environment variables using a `config.js.template` file instead of `config.js`
       * which will be converted to `config.js` while starting. For more information
       * see https://docs.magicmirror.builders/configuration/introduction.html#enviromnent-variables
       */
      let config = {
      address: "localhost", // Address to listen on, can be:
      // - "localhost", "127.0.0.1", "::1" to listen on loopback interface
      // - another specific IPv4/6 to listen on a specific interface
      // - "0.0.0.0", "::" to listen on any interface
      // Default, when address config is left out or empty, is "localhost"
      port: 8080,
      basePath: "/", // The URL path where MagicMirror² is hosted. If you are using a Reverse proxy
      // you must set the sub path here. basePath must end with a /
      ipWhitelist: [redacted], // Set [] to allow all IP addresses
      // or add a specific IPv4 of 192.168.1.5 :
      // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
      // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
      // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
      
      useHttps: false, // Support HTTPS or not, default "false" will use HTTP
      httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true
      httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true
      
      language: "en",
      locale: "en-CA",   // this variable is provided as a consistent location
        // it is currently only used by 3rd party modules. no MagicMirror code uses this value
        // as we have no usage, we  have no constraints on what this field holds
        // see https://en.wikipedia.org/wiki/Locale_(computer_software) for the possibilities
      
      logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
      timeFormat: 12,
      units: "metric",
      
      modules: [
      {
      module: "MMM-Page-Selector",
      position: "top_center",
      config: {
      defaultPage: "mainPage",
      displayTitle: false,
      selectPageNotif: ["PAGE_SELECT"],
      incrementPageNotif: ["PAGE_UP"],
      decrementPageNotif: ["PAGE_DOWN"],
      persistentPages: true,
      }
      },
      {
      module: "MMM-GroveGestures",
      //position: "top_right",
      pages: {"all": "top_right"},
      config: {
      autoStart: true,
      verbose: false,
      recognitionTimeout: 1000,
      idleTimer: 0,
      },
      defaultNotification: "GESTURE",
      pythonPath: "/usr/bin/python",
      
      defaultCommandSet: "default",
      commandSet: {
      "default": {
      "FORWARD": {
      notificationExec: {
      notification: "PAGE_SELECT",
      payload: "mainPage",
      },
      //this.sendNotification: ("PAGE_SELECT", "mainPage");
      },
      "BACKWARD": {
      notificationExec: {
      notification: "PAGE_SELECT",
      payload: "work",
      },
      //this.sendNotification("PAGE_SELECT", "work"),
      },
      "UP": {
      },
      },
      },
      },
      {
      module: "alert",
      // pages: {"all": "top_bar"},
      },
      {
      module: "updatenotification",
      //position: "top_bar"
      // pages: {"all": "top_bar"},
      },
      {
      module: "clock",
      //position: "top_left"
      pages: {"mainPage": "top_left"},
      },
      {
      module: "calendar",
      header: "Calendar",
      //position: "top_left",
      pages: {"mainPage": "top_left"},
      config: {
      calendars: [
      {
      fetchInterval: 7 * 24 * 60 * 60 * 1000,
      symbol: "calendar-check",
      url: "redacted.ics",
      }
      ]
      }
      },
      {
      module: "calendar",
      header: "Upcoming Birthdays",
      //position: "top_left",
      pages: {"mainPage": "top_left"},
      config: {
      calendars: [
      {
      fetchInterval: 7 * 24 * 60 * 60 * 1000,
      symbol: "calendar-check",
      url: "redacted.ics"
      }
      ]
      }
      },
      {
      module: 'MMM-Block',
      //position: 'top_right',
      pages: {"mainPage": "top_right"},
      config: {
      height: 132,
      }
      },
      {
      module: 'MMM-EnvCanada',
      //position: 'top_right',
      pages: {"mainPage": "top_right"},
      header: "Environment Canada",
      config:{
      siteCode: "redacted",
      provCode: "ON",
      updateInterval: 10 * 60 * 1000,
      language: "e",
      textForecasts: 2,
      showAlerts: true,
      showForecastDays: 5,
      }
      {
      module: 'MMM-Todoist',
      //position: 'bottom_bar',
      pages: {"mainPage": "bottom_bar"},
      header: 'Todoist',
      config: {
      hideWhenEmpty: false,
      accessToken: 'redacted',
      maximumEntries: 10,
      updateInterval: 10 * 60 * 1000,
      fade: false,
      //projects: [],
      labels: ['MagicMirror'],
      }
      },
      
      // Work!
      
      {
      module: "MMM-SpaceLaunch",
      pages: {"work": "top_right"},
      config: {
      showMission: true,
      showLaunchDate: true,
      showRocket: true,
      showLaunchSite: true,
      showLocation: false,
      showPayload: true,
      showOrbit: true,
      showDetails: false,
      }
      },
      ]
      };
      
      /*************** DO NOT EDIT THE LINE BELOW ***************/
      if (typeof module !== "undefined") { module.exports = config; }
      

      Thanks in advance!

      posted in Troubleshooting
      C
      ChanceTime
    • RE: Issues with MMM-PIR

      Is anyone able to get MMM-PIR successfully running on Bookworm? Feels like every option I’ve tried to turn my screen on and off after the PIR senses movement has been a struggle with no results. I’ve confirmed with tests that my sensor is working, but all the old ways to trigger the display on-off behaviour seem to not be running. I’m on a Pi4 running 12 with Wayland.

      Unfortunately I can’t go back to 11 because 10 worked like a dream, and 11 for some reason i could never successfully troubleshoot would refuse to load a taskbar in. Hardware seems to be working fine again in 12…

      I can post my config if it helps. Thanks for the hard work, bugsounet. :)

      posted in Troubleshooting
      C
      ChanceTime
    • RE: MMM-MyCommute module black screen

      Aaaaah, thanks sdetwell! I ah, just solved it, and the answer was very silly.

      For any future newbs having this issue across multiple modules, check that the files for modules you are referencing are actually in the Magic Mirror’s modules folder. A few of mine - MMM-MovieListings and MMM-MyCommute somehow got installed in ~/MagicMirror and not ~/MagicMirror/modules , which explains why it was happening in both places. Whoops! MyCommute is now working perfectly.

      posted in Troubleshooting
      C
      ChanceTime
    • MMM-MyCommute module black screen

      Hey all,

      I’m still relatively new at the Magic Mirror platform and Python in general, so it’s entirely possible my error is a pretty easy one to fix. I’m having issues with adding MMM-MyCommute to my setup - when I insert the code into my config file, the screen stays black after an npm start and I can’t figure out why. (I also had this issue trying to add MMM-MovieList for some reason; for that, as with MMM-MyCommute, the solution seems to have simply been removing it from the config file.)

      The code I have for this config is as follows:

      		      {
      			module: "MMM-MyCommute",
      			position: 'bottom_center',
      			config: {
      			  apiKey: "myAPIkeygoeshere",
      			  origin: "60 George Street, Ottawa, ON, K1N 1J4",
      			  destinations: [
      			    {
      			      destination: "77 Bank Street, Ottawa, ON, K1P 5N2",
      			      label: "Work",
      			      mode: "driving",
      			      color: "#82E5AA"
      			    }
      			  ],
      			  // Additional config for calendar routes:
      			  maxCalendarEvents: 2,
      			  calendarOptions: [
      			    {
      			      mode: "driving"
      			    },
      			    {
      			      mode: "transit",
      			      transitMode: "train"
      			    }
      			  ]
      			}
      		      },
      
      

      I’m using this fork:

      https://github.com/qistoph/MMM-MyCommute

      Thanks in advance!

      posted in Troubleshooting
      C
      ChanceTime
    • RE: MMM-Spotify

      aaaah, okay, thanks so much!

      posted in Entertainment
      C
      ChanceTime
    • RE: MMM-Spotify

      hi @Bugsounet ! I’m working on my first smart mirror and was very happy to just get mmm-GoogleAssistant up and running! It’s able to do normal searches and that kind of thing, so I just tried to install MMM-Spotify.

      Unfortunately, MMM-GoogleAssistant doesn’t seem to be recognizing the commands, and I don’t see any changes on the screen when I try to use the commands for it (for example, “Michael Jackson on Spotify”).

      The code I used in the .config is below. Did I miss something?

      Thanks!!

      		{
      		  module: "MMM-GoogleAssistant",
      		  position: "fullscreen_above",
      		  config: {
      		    debug: false,
      		    assistantConfig: {
      		      lang: "en-US",
      		      projectId: "magic-mirror-79d8d", // Required to use gaction.
      		      modelId: "", // (OPTIONAL for gaction)
      		      instanceId: "", // (OPTIONAL for gaction)
      		      latitude: 45.255299,
      		      longitude: -75.729048,
      		    },
      		    responseConfig: {
      		      useScreenOutput: true,
      		      screenOutputCSS: "screen_output.css",
      		      screenOutputTimer: 5000,
      		      activateDelay: 250,
      		      useAudioOutput: true,
      		      useChime: true,
      		      newChime: false
      		    },	
      		    micConfig: { // put there configuration generated by auto-installer
      		      recorder: "arecord",
      		      device: "plughw:2",
      		    },
      		    customActionConfig: {
      		      autoMakeAction: false,
      		      autoUpdateAction: false, // in RPI, gaction CLI might have some trouble.(current version should be 2.2.4, but for linux-arm, Google haven't updated) so leave this as false in RPI. I don't know it is solved or not.
      		      actionLocale: "en-US", // At this moment, multi-languages are not supported, sorry. Someday I'll work.
      		    },
      		    snowboy: {
      		      audioGain: 2.0,
      		      Frontend: true,
      		      Model: "jarvis",
      		      Sensitivity: null
      		    },
      		    A2DServer: {
      		      useA2D: false,
      		      stopCommand: "stop"
      		    },
      		    recipes: [ "with-MMM-TelegramBot.js", "with-MMM-Spotify" ]
      		  }
      		},
      		{
      			module: "MMM-Spotify",
      			position: "bottom_left",
      			config: {
      				 style: "mini", // "default" or "mini" available
      				 control: "hidden", //"default", "hidden" available
      				 updateInterval: 1000,
      				 onStart: null, // disable onStart feature with `null`
      				 allowDevices: [], //If you want to limit devices to display info, use this.
      				 // allowDevices: ["RASPOTIFY", "My iPhoneX", "My Home speaker"],
      				},
      		},
      
      posted in Entertainment
      C
      ChanceTime