if you are comfortable with it would you be able to share your code for the commands used between telegram and MMM-Pages to switch pages from telegram?
Best posts made by AarishR
-
RE: My mirror
Latest posts made by AarishR
-
RE: Show photos by voice command only?
HAHA, yes you are right! I was working late at night and got confused, so does google photo always display photos in the background or can it by voice command only.
TThanks for your help
-
RE: Show photos by voice command only?
Oh, that’s weird. When I installed EXT-Photos, when magic mirror launches my photos start playing in the background automatically without me telling to jarvis to sttart it.
-
Show photos by voice command only?
Hello, I want to start off by saying wow! I am so impressed by GA4 and all of its extensions! I am so grateful for your hard work in this community and project.
I was wondering if there is a way for EXT-Photos to only show photos when prompted by voice assistant and not the whole time? I couldn’t see anything about the in the wiki.
-
RE: My mirror
if you are comfortable with it would you be able to share your code for the commands used between telegram and MMM-Pages to switch pages from telegram?
-
RE: Duplicate Messages by Telegram Bot
@bugsounet /* Magic Mirror Config Sample * * By Michael Teeuw https://michaelteeuw.nl * MIT Licensed. * * For more information on how you can configure this file * See https://github.com/MichMich/MagicMirror#configuration * */ var 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" electronOptions: { webPreferences: { webviewTag: true } }, 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: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // 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-US", logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging timeFormat: 12, units: "imperial", // serverOnly: true/false/"local" , // local for armv6l processors, default // starts serveronly and then starts chrome browser // false, default for all NON-armv6l devices // true, force serveronly mode, because you want to.. no UI on this device modules: [ { module: "alert", }, { module: "clock", position: "top_center" }, { module: "calendar", header: "US Holidays", position: "bottom_left", colored: true, config: { calendars: [ { symbol: "gift", url: "" }, { symbol: "calendar-check-o", url: " }, ] } }, { module: "compliments", position: "lower_third" }, { module: "weather", position: "top_center", config: { weatherProvider: "openweathermap", type: "current", locationID: "", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city apiKey: "" } }, { module: "newsfeed", position: "bottom_bar", config: { feeds: [ { title: "New York Times", url: "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml" } ], showSourceTitle: true, showPublishDate: true, broadcastNewsFeeds: true, broadcastNewsUpdates: true } }, { module: "MMM-UpdateNotification", position: "top_bar", config: { debug: false, updateInterval: 10 * 60 * 1000, // every 10 minutes startDelay: 60 * 1000, // delay before 1st scan ignoreModules: [], updateCommands: [], notification: { useTelegramBot: true, sendReady: true, useScreen: true, useCallback: true }, update: { autoUpdate: false, autoRestart: true, usePM2: true, PM2Name: "0", defaultCommand: "git pull && npm install", updateMagicMirror: false, logToConsole: true, timeout: 2 * 60 * 1000 } } }, { module: 'MMM-GmailFeed', position: 'bottom_left', config: { username: '', password: '', updateInterval: 60000, maxEmails: 5, maxSubjectLength: 38, maxFromLength: 15, playSound: true } }, { module: 'MMM-GmailFeed', position: 'bottom_left', config: { username: '', password: '', updateInterval: 60000, maxEmails: 5, maxSubjectLength: 38, maxFromLength: 15, playSound: true } }, { module: 'MMM-TelegramBot', config: { telegramAPIKey : '', allowedUser : [''], // This is NOT the username of bot. adminChatId : , } }, { module: "MMM-UpdateNotification", position: "top_bar", config: { debug: false, updateInterval: 10 * 60 * 1000, // every 10 minutes startDelay: 60 * 1000, // delay before 1st scan ignoreModules: [], updateCommands: [], notification: { useTelegramBot: true, sendReady: true, useScreen: true, useCallback: true }, update: { autoUpdate: false, autoRestart: true, usePM2: true, PM2Name: "0", defaultCommand: "git pull && npm install", updateMagicMirror: false, logToConsole: true, timeout: 2 * 60 * 1000 } } }, { module: "MMM-GoogleAssistant", position: "fullscreen_above", config: { debug: false, assistantConfig: { lang: "en-US", latitude: 51.508530, longitude: -0.076132, }, responseConfig: { useScreenOutput: true, screenOutputCSS: "screen_output.css", screenOutputTimer: 5000, screenRotate: true, activateDelay: 250, useAudioOutput: true, useChime: true, newChime: false, useNative: false, playProgram: "mpg321" }, micConfig: { // put there configuration generated by auto-installer recorder: "arecord", device: "plughw:2", }, snowboy: { useSnowboy: true, usePMDL: false, audioGain: 2.0, Frontend: true, Model: "jarvis", Sensitivity: .5 }, A2DServer: { useA2D: true, stopCommand: "thank you", useYouTube: true, youtubeCommand: "youtube", displayResponse: true }, recipes: [ "with-MMM-TelegramBot.js" ], NPMCheck: { useChecker: true, delay: 10 * 60 * 1000, useAlert: false } } }, { module: "MMM-Assistant2Display", configDeepMerge: true, position: "top_left", config: { debug:false, youtube: { useYoutube: true, useVLC: true, minVolume: 30, maxVolume: 100 }, links: { useLinks: true, displayDelay: 60 * 1000, scrollStep: 25, scrollInterval: 1000, scrollStart: 5000, scrollActivate: true, verbose: false }, photos: { usePhotos: true, displayDelay: 10 * 1000 }, volume: { useVolume: true, volumePreset: "ALSA_HDMI", myScript: null }, briefToday: { useBriefToday: false, welcome: "brief Today" }, screen: { useScreen: false, delay: 5 * 60 * 1000, turnOffDisplay: true, mode: 1, ecoMode: true, displayCounter: true, displayBar: false, displayStyle: "Text", text: "Auto Turn Off Screen:", detectorSleeping: false, governorSleeping: false, displayLastPresence: true, LastPresenceText: "Last Presence:", delayed: 0 }, touch: { useTouch: false, mode: 3 }, pir: { usePir: false, gpio: 21, reverseValue: false }, governor: { useGovernor: false, sleeping: "powersave", working: "ondemand" }, internet: { useInternet: false, displayPing: false, delay: 2* 60 * 1000, scan: "google.fr", command: "pm2 restart 0", showAlert: true }, cast: { useCast: false, castName: "MagicMirror_A2D", port: 8569 }, spotify: { useSpotify: true, useBottomBar: true, useLibrespot: true, connectTo: "Librespot", playDelay: 3000, minVolume: 10, maxVolume: 100, updateInterval: 1000, idleInterval: 10000, username: "", password: "", CLIENT_ID: "", CLIENT_SECRET: "", deviceDisplay: "Listening on", usePause: true, typeArtist: "artist", typePlaylist: "playlist", typeAlbum: "album", typeTrack: "track" }, NPMCheck: { useChecker: true, delay: 10 * 60 * 1000, useAlert: false } } }, { module: 'MMM-Tools', position: 'bottom_right', config: { refresh: 1000 * 5, containerSize: null, itemSize: null, OS: { displayOs: false, orderOs: 1 }, CPU: { displayUsage: false, orderUsage: 4, displayTemp: false, orderTemp: 7, displayType: false, orderType: 2 }, RAM: { displayRam: false, orderRam: 5 }, STORAGE: { displayStorage: false, orderStorage: 6, partitionExclude : [] }, NETWORK: { displayNetwork: false, orderNetwork: 3, nativeNetwork: false, displayDefaultNetwork: true }, UPTIME: { displayUptime: false, useMagicMirror: true, orderUptime: 8, displayRecord: false, orderRecord: 9 }, WARNING: { enableWarning: true, interval: 1000 * 60 * 5, check : { CPU_TEMP : 75, CPU_USAGE : 75, STORAGE_USED : 80, MEMORY_USED : 80, } } } }, { module: 'mmm-systemtemperature', position: 'bottom_right', // This can be any of the regions. classes: 'small dimmed', // Add your own styling. Optional. config: { // See 'Configuration options' for more information. } }, { module: 'MMM-DynamicWeather', //position: 'fullscreen_above', config: { // See https://github.com/scottcl88/MMM-DynamicWeather for more information. api_key: "", locationID: "", effects: [ { month: "2", day: "14", year: "2021", images: ["heart1.png", "heart2.png"], direction: "up" } ], } }, { module: 'MMM-Dad-Jokes', position: 'lower_third', // Or wherever you want config: { updateInterval: 60000, fadeSpeed: 4000 } }, ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") {module.exports = config;}
pm2 status:
-
RE: Duplicate Messages by Telegram Bot
@bugsounet ```
/* Magic Mirror Config Sample
*- By Michael Teeuw https://michaelteeuw.nl
- MIT Licensed.
- For more information on how you can configure this file
- See https://github.com/MichMich/MagicMirror#configuration
*/
var 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”
electronOptions: {
webPreferences: {
webviewTag: true
}
},
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: [“127.0.0.1”, “::ffff:127.0.0.1”, “::1”], // 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-US", logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging timeFormat: 12, units: "imperial", // serverOnly: true/false/"local" , // local for armv6l processors, default // starts serveronly and then starts chrome browser // false, default for all NON-armv6l devices // true, force serveronly mode, because you want to.. no UI on this device modules: [ { module: "alert", }, { module: "clock", position: "top_center" }, { module: "calendar", header: "US Holidays", position: "bottom_left", colored: true, config: { calendars: [ { symbol: "gift", url: "" }, { symbol: "calendar-check-o", url: " }, ] } }, { module: "compliments", position: "lower_third" }, { module: "weather", position: "top_center", config: { weatherProvider: "openweathermap", type: "current", locationID: "", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city apiKey: "" } }, { module: "newsfeed", position: "bottom_bar", config: { feeds: [ { title: "New York Times", url: "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml" } ], showSourceTitle: true, showPublishDate: true, broadcastNewsFeeds: true, broadcastNewsUpdates: true } }, {
module: “MMM-UpdateNotification”,
position: “top_bar”,
config: {
debug: false,
updateInterval: 10 * 60 * 1000, // every 10 minutes
startDelay: 60 * 1000, // delay before 1st scan
ignoreModules: [],
updateCommands: [],
notification: {
useTelegramBot: true,
sendReady: true,
useScreen: true,
useCallback: true
},
update: {
autoUpdate: false,
autoRestart: true,
usePM2: true,
PM2Name: “0”,
defaultCommand: “git pull && npm install”,
updateMagicMirror: false,
logToConsole: true,
timeout: 2 * 60 * 1000
}
}
},
{
module: ‘MMM-GmailFeed’,
position: ‘bottom_left’,
config: {
username: ‘’,
password: ‘’,
updateInterval: 60000,
maxEmails: 5,
maxSubjectLength: 38,
maxFromLength: 15,
playSound: true
}
},
{
module: ‘MMM-GmailFeed’,
position: ‘bottom_left’,
config: {
username: ‘’,
password: ‘’,
updateInterval: 60000,
maxEmails: 5,
maxSubjectLength: 38,
maxFromLength: 15,
playSound: true
}
},{
module: ‘MMM-TelegramBot’,
config: {
telegramAPIKey : ‘’,
allowedUser : [‘’], // This is NOT the username of bot.
adminChatId : ,}
},
{
module: “MMM-UpdateNotification”,
position: “top_bar”,
config: {
debug: false,
updateInterval: 10 * 60 * 1000, // every 10 minutes
startDelay: 60 * 1000, // delay before 1st scan
ignoreModules: [],
updateCommands: [],
notification: {
useTelegramBot: true,
sendReady: true,
useScreen: true,
useCallback: true
},
update: {
autoUpdate: false,
autoRestart: true,
usePM2: true,
PM2Name: “0”,
defaultCommand: “git pull && npm install”,
updateMagicMirror: false,
logToConsole: true,
timeout: 2 * 60 * 1000
}
}
},{
module: “MMM-GoogleAssistant”,
position: “fullscreen_above”,
config: {
debug: false,
assistantConfig: {
lang: “en-US”,
latitude: 51.508530,
longitude: -0.076132,
},
responseConfig: {
useScreenOutput: true,
screenOutputCSS: “screen_output.css”,
screenOutputTimer: 5000,
screenRotate: true,
activateDelay: 250,
useAudioOutput: true,
useChime: true,
newChime: false,
useNative: false,
playProgram: “mpg321”
},
micConfig: { // put there configuration generated by auto-installer
recorder: “arecord”,
device: “plughw:2”,
},
snowboy: {
useSnowboy: true,
usePMDL: false,
audioGain: 2.0,
Frontend: true,
Model: “jarvis”,
Sensitivity: .5
},
A2DServer: {
useA2D: true,
stopCommand: “thank you”,
useYouTube: true,
youtubeCommand: “youtube”,
displayResponse: true
},
recipes: [ “with-MMM-TelegramBot.js” ],
NPMCheck: {
useChecker: true,
delay: 10 * 60 * 1000,
useAlert: false
}
}
},{
module: “MMM-Assistant2Display”,
configDeepMerge: true,
position: “top_left”,
config: {
debug:false,
youtube: {
useYoutube: true,
useVLC: true,
minVolume: 30,
maxVolume: 100
},
links: {
useLinks: true,
displayDelay: 60 * 1000,
scrollStep: 25,
scrollInterval: 1000,
scrollStart: 5000,
scrollActivate: true,
verbose: false
},
photos: {
usePhotos: true,
displayDelay: 10 * 1000
},
volume: {
useVolume: true,
volumePreset: “ALSA_HDMI”,
myScript: null
},
briefToday: {
useBriefToday: false,
welcome: “brief Today”
},
screen: {
useScreen: false,
delay: 5 * 60 * 1000,
turnOffDisplay: true,
mode: 1,
ecoMode: true,
displayCounter: true,
displayBar: false,
displayStyle: “Text”,
text: “Auto Turn Off Screen:”,
detectorSleeping: false,
governorSleeping: false,
displayLastPresence: true,
LastPresenceText: “Last Presence:”,
delayed: 0
},
touch: {
useTouch: false,
mode: 3
},
pir: {
usePir: false,
gpio: 21,
reverseValue: false
},
governor: {
useGovernor: false,
sleeping: “powersave”,
working: “ondemand”
},
internet: {
useInternet: false,
displayPing: false,
delay: 2* 60 * 1000,
scan: “google.fr”,
command: “pm2 restart 0”,
showAlert: true
},
cast: {
useCast: false,
castName: “MagicMirror_A2D”,
port: 8569
},
spotify: {
useSpotify: true,
useBottomBar: true,
useLibrespot: true,
connectTo: “Librespot”,
playDelay: 3000,
minVolume: 10,
maxVolume: 100,
updateInterval: 1000,
idleInterval: 10000,
username: “”,
password: “”,
CLIENT_ID: “”,
CLIENT_SECRET: “”,
deviceDisplay: “Listening on”,
usePause: true,
typeArtist: “artist”,
typePlaylist: “playlist”,
typeAlbum: “album”,
typeTrack: “track”
},
NPMCheck: {
useChecker: true,
delay: 10 * 60 * 1000,
useAlert: false
}
}
},{
module: ‘MMM-Tools’,
position: ‘bottom_right’,
config: {
refresh: 1000 * 5,
containerSize: null,
itemSize: null,
OS: {
displayOs: false,
orderOs: 1
},
CPU: {
displayUsage: false,
orderUsage: 4,
displayTemp: false,
orderTemp: 7,
displayType: false,
orderType: 2
},
RAM: {
displayRam: false,
orderRam: 5
},
STORAGE: {
displayStorage: false,
orderStorage: 6,
partitionExclude : []
},
NETWORK: {
displayNetwork: false,
orderNetwork: 3,
nativeNetwork: false,
displayDefaultNetwork: true
},
UPTIME: {
displayUptime: false,
useMagicMirror: true,
orderUptime: 8,
displayRecord: false,
orderRecord: 9
},
WARNING: {
enableWarning: true,
interval: 1000 * 60 * 5,
check : {
CPU_TEMP : 75,
CPU_USAGE : 75,
STORAGE_USED : 80,
MEMORY_USED : 80,
}
}
}
},
{
module: ‘mmm-systemtemperature’,
position: ‘bottom_right’, // This can be any of the regions.
classes: ‘small dimmed’, // Add your own styling. Optional.
config: {
// See ‘Configuration options’ for more information.
}
},{ module: 'MMM-DynamicWeather', //position: 'fullscreen_above', config: { // See https://github.com/scottcl88/MMM-DynamicWeather for more information. api_key: "", locationID: "", effects: [ { month: "2", day: "14", year: "2021", images: ["heart1.png", "heart2.png"], direction: "up" } ], }
},
{ module: 'MMM-Dad-Jokes', position: 'lower_third', // Or wherever you want config: { updateInterval: 60000, fadeSpeed: 4000 } }, ]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== “undefined”) {module.exports = config;}pm2 status: 
-
RE: Duplicate Messages by Telegram Bot
I have seen the issue and do have pm2 enabled. I also do not have mmm-remotecontrol. I have restarted my pi but I still keep receiving these duplicate messages. ANy suggestions?
-
Duplicate Messages by Telegram Bot
Whenever I launch MagicMirror, Telegram sends me messages which are good. But, it will send duplicate messages. I’m not sure how to fix it, I didn’t see anything in the wiki but I may have just missed it. I have attached images.