@cowboysdude @Mykle1 just add routines for suspend and resume. Set a variable on suspend, and don’t do anything til the variable is cleared on resume
Read the statement by Michael Teeuw here.
Posts
-
RE: Hide modules when display goes off through PIR (power saving)
-
RE: new update/upgrade script, ready for testing
@Mykle1 cool. Thanks for the test. Updated script to handle
-
RE: i think i'm close?
@flipfloplife are you doing this over SSH? or if the PI is in console mode?
MM requires graphics mode… (display:0)
-
RE: MMM-EasyBack no autostart Video
@Stoffbeuteluwe this is due to a new restriction on the browser
do this
edit MagicMirror/js/electron.js
and add the line shown belowlet mainWindow; function createWindow() { app.commandLine.appendSwitch('autoplay-policy', 'no-user-gesture-required'); //< -------- addedsave and restart MagicMirror
-
RE: SMB Working Photo Frame/Slideshow Module
@NinjaEpisode I use MMM-ImagesPhotos from a mounted samba folder. I had to make a link from the module uploads folder to the mount. But it works fine.
See the ln command.
The module doesn’t know the images are not local
Note that modules can’t see anything above the modules folder without this kind of help
-
RE: SmartThings
@buzzkc so, with promises, you have a ‘then’, with a ‘resolve’ and an ‘error’ callback, and the resolve and reject methods of the promise can provide data to the resolve and error routines…
just a reminder, the return new Promise() returns IMMEDIATELY… the function inside the promise is called async sometime (milliseconds) later
function_name: function(parm1_in, parm2_in) { return new Promise( function (resolve,reject){ if( all_good) { resolve(data_item) } else { reject(error_data) } } )then the method CALLING this function
function_name(parm1, parm2).then( resolve_func(data_item){ }, error_func(error_data){} )a working example , using the arrow function (parm) => {
the arrow function insures that the data context of the outside caller is maintained,
where as function(parm) { does not (u had to use the ‘self =this’ thinglet promise = new Promise(function(resolve, reject) { if(!setTimeout(() => resolve("done!"), 1000)){ reject("settimeout_failed") } }); // resolve runs the first function in .then, reject runs the second function promise.then( // this will block until the function inside the promise call resolve or reject result => alert(result), // shows "done!" after 1 second error => alert(error) // doesn't run .. this will never occurr as settimeout never fails. ); -
RE: i think i'm close?
@flipfloplife you could still be in text mode (console mode) vs the graphical desktop…
xwindows is display:0, so you shouldn’t have to change anything…
-
RE: updated installer script available for testing
the new installer referenced here is now part of the base at 2.8.0, released July 1, 2019
-
RE: Youtube autoplay
@ines in the update MM uses an upgraded version of the browser that implements a new restriction, user must interact with screen before play is allowed…
fix is to edit the MagicMirror/js/electron.js file and insert the line marked below (approx line 20)
// Keep a global reference of the window object, if you don't, the window will // be closed automatically when the JavaScript object is garbage collected. let mainWindow; function createWindow() { app.commandLine.appendSwitch('autoplay-policy', 'no-user-gesture-required'); //< -------- added var electronOptionsDefaults = {then close and restart mm
i see there is a proposed fix in the next update (July)
-
RE: new update/upgrade script, ready for testing
@bhepler i added handling for the git lock file…
if git is NOT running, I erase the dangling lock file
if git IS running, and this is an APPLY run, i change the run back to test mode, and advise to correct the problem -
RE: HELP to use a cam with MM PLEASE
and my MMM-SleepWake works with webcam for motion detection and Lucy for remembering which modules are hidden when waking by voice or movement
and supports three different screen off approaches, tvservice (pi only) dpms (some monitors) and screen blanking(for auto power off devices, like TVs, EnergyStar)
-
RE: updated installer script available for testing
@mrshu i just need some more testers… the screen saver and pm2 changes are newer…
I want this to BE the installer script…
and my updater too
and maybe the pm2 standalone scriptyes, logging will help everyone.
-
RE: pir sensor
@branchi so, you got a missing , or quote "
Do
npm run config:checkErrors are usually reported on the line after the problem
-
proposed New processing and config for pi0/armv6 and serverOnly mode
some users are using older PI hardware, based on the armv6 chipset. Unfortunately the electron browser is no longer built for that chipset, and forcing armv7 no longer works.
so I propose an update to the run-start.sh script which will detect this and use the chromium browser instead. this helps because the impacted users don’t have to learn to modify the run-start file or the why
its slower to start up, but just as functional
(we also need to make the electron dependency optional, so the install will complete)also, in some cases our users would like to run serverOnly mode, so I think we could add a config.js option to enable that, and use the same update to run-start to just NOT start a browser…
serverOnly: "local" or true or false (default) true means runserveronly, but no UI ON the local system "local" means runserveronly, also run UI ON the local system, default for armv6 false (default), means do not run serveronly default for NOT armv6here is my proposed change to run-start.sh (extra spaces to handle the forum chopping off stuff after < )
#!/bin/bash # use bash instead of sh ./untrack-css.sh if [ -z "$DISPLAY" ]; then #If not set DISPLAY is SSH remote or tty export DISPLAY=:0 # Set by default display fi # get the processor architecture arch=$(uname -m) # got the config option, if any serveronly=$(grep -i serveronly: config/config.js | awk '{print tolower($2)}' | tr -d ,\"\') # set default if not defined in config serveronly="${serveronly:=false}" # check for xwindows running xorg=$(pgrep Xorg) # # if the user requested serveronly OR # electron support for armv6l has been dropped OR # system is in text mode # if [ "$serveronly." != "false." -o "$arch" == "armv6l" -o "$xorg." == "." ]; then # if user explicitly configured to run server only (no ui local) # OR there is no xwindows running, so no support for browser graphics if [ "$serveronly." == "true." -o "$xorg." == "." ]; then # start server mode, node serveronly else # start the server in the background # wait for server to be ready # need bash for this exec 3< < (node serveronly) # Read the output of server line by line until one line 'point your browser' while read line; do case "$line" in *point\ your\ browser*) echo $line break ;; *) echo $line #sleep .25 ;; esac done < &3 # Close the file descriptor exec 3< &- # lets use chrome to display here now # get the server port address from the ready message port=$(echo $line | awk -F\: '{print $4}') # start chromium echo "Starting chromium browser now, have patience, it takes a minute" chromium-browser -noerrdialogs -kiosk -start_maximized --disable-infobars --app=http://localhost:$port --ignore-certificate-errors-spki-list --ignore-ssl-errors --ignore-certificate-errors 2>/dev/null exit fi else # we can use electron directly `electron js/electron.js $1`; fi -
RE: Can't install / Error with NPM / Electron not found
@mdhenriksen said in Can't install / Error with NPM / Electron not found:
libgconf-2.so.4
a google search for ‘error while loading shared libraries: libgconf-2.so.4’
see https://github.com/electron/electron/issues/1518 -
RE: MMM-EasyBack no autostart Video
@Darkmx-6 i don’t know where mmstart.sh came from… it is not part of the base MagicMirror solution.
the MagicMirror start script is ~/MagicMirror/installers/mm.sh
it does not run serveronly… it assumes you are running the mirror user experience ON the same machine.
i don’t know if EasyBack works on the remote client of serveronly… THAT browser would have to enable autoplay… our fix was for the electron browser running ON the same machine
edit:
ok, i see what you are doing… using chromium for the browser for some reason…so u have to disable the autoplay blocker there , from
https://developers.google.com/web/updates/2017/09/autoplay-policy-changesYou can decide to disable entirely the autoplay policy by setting the Chrome flag "Autoplay Policy" to "No user gesture is required" at chrome://flags/#autoplay-policy. This allows you to test your website as if user were strongly engaged with your site and playback autoplay would be always allowed. -
RE: The novice user problem with modules
@art212 see the two links in my signature
-
RE: Coming Soon: Faster, 100% Backwards-Compatible MagicMirror Alternative
Maybe it could live on another branch so users could type git checkout experimental to opt into the new features.
certainly this would be a good approach
-
RE: Can't install / Error with NPM / Electron not found
note the missing g
libconf-2-4
should be
libgconf-2-4 -
RE: troubles with rfacts, lunartic et google maps
@chassain-0 did u get the updated googlemapstraffic from my GitHub repo?