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.

    Blank screen issue ( another one again ) after one hour or so...

    Scheduled Pinned Locked Moved Solved Troubleshooting
    9 Posts 4 Posters 1.6k Views 5 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.
    • ejay-ibmE Offline
      ejay-ibm Project Sponsor Module Developer
      last edited by ejay-ibm

      Hi to all members!

      First I want to thank all contributor for the Magic Mirror project. I really enjoy this project to build my own mirror and learn new things.

      I have a pi 3b+ running on the latest OS :
      stretch V9.6

      I have installed MM and followed all documentations then implemented a few modules.
      the defaults one they are working fine ( some are commented such as alert and notifications (For debugging the blank screen issue I have and make sure the cause was not those modules)
      MMM-AssistantMk2 & MMM-Hotword ( perfectly works )
      MMM-NowPlayingOnSpotify working fine but commented for as well because getting too much errors ( when nothing was played )
      mmm-systemtemperature : Works OK
      MMM-DarkSkyForecast :Works OK
      MMM-Hue : Works OK
      MMM-Traffic : Works OK
      MMM-PIR-Sensor (To turn off&on the HDMI Port) : Works OK

      You will tell me all “works OK” so what’s wrong with you guy :)

      Well after I start my MM all is “work ok” (Again)
      The Pir sensor delay works and well shutdown the HDMI port and it comes back when a movement is detected. My delay is set to 10 mins and if I come back after 15mins the screen is back ON, So far so good .

      Now my issue : When I come back after a while let’s say an hour or more, the PIR sensor turn ON the HDMI port and my screen goes on.

      Then surprise I get a blank screen.

      I know I’m not in screen saver mode because after a VNC connection I see the little popup on screen and I can see the mouse moving as well.

      My conclusion is that the MM is in a kind of “sleep” mode waiting to be wake up.

      I can bring the MM modules back on screen for example by giving input via the Hotword/assistant module so when I say “Jarvis” the hotword is detected and MM & all modules directly come back on screen.

      No error in the MM error log from PM2 nor in the out file.
      Dev mode ( Shift CTRL I ) show me that the modules are still well receiving notification from other modules )

      Before posting this thread here as I said I read the full installation documentation and more. I did many research for a similar problem and didn’t find . I looked at many places and applied several solutions. Unfortunately without success ).

      It look like it’s a matter in the MM code itself ( But I maybe wrong I do not want to bother anyone by saying this ) Just a personnal thought.

      Here is my setup :
      /etc/lightdm/lightdm.conf

      [SeatDefaults] ( I had to create this entry in the file ) 
      xserver-command=X -s 0 -dpms
      

      As well added to

      [Seat:*] ( which was existing prior editing the file )
      xserver-command=X -s 0 -dpms
      

      Just in case ( but I have added this after and that didn’t help )

      The file /etc/xdg/lxsession/LXDE-pi/autostart

      @pcmanfm --desktop --profile LXDE-pi
      @xscreensaver -no-splash
      point-rpi
      @xset s noblank
      @xset s off
      @xset -dpms
      

      And /etc/xdg/lxsession/LXDE/autostart

      @lxpanel --profile LXDE
      @pcmanfm --desktop --profile LXDE
      @xscreensaver -no-splash
      @xset s noblank
      @xset s off
      @xset -dpms
      

      I didn’t make it in /.config/lxsession/LXDE-pi/autostart because when creating this file my system boot in openbox and not in desktop session.
      And I want to keep the desktop for other reason.

      I installed xscreen and turn of powersaving on screen and screen saver.

      My config.js file :

      /* Magic Mirror Config Sample
      *
      * By Michael Teeuw http://michaelteeuw.nl
      * MIT Licensed.
      */
      var config = {
      	"port": 8080,
      	"language": "fr",
      	"timeFormat": 24,
      	"units": "metric",
      	"modules": [
      //		{
      //			"module": "alert"
      //		},
      //		{
      //			"module": "updatenotification",
      //			"position": "top_bar"
      //		},
      		{
      			"module": "clock",
      			"position": "top_left"
      		},
      
      /*		{
      			"module": "MMM-NowPlayingOnSpotify",
      			"position": "top_left",
      			"config": {
      				"clientID": "f---------------------------0",
      				"clientSecret": "7------------------------------6",
      				"accessToken": "B------------------------------------------A",
      				"refreshToken": "A------------------------------------A"
      			}
      		},
      */
      		{
      			"module": "MMM-AssistantMk2",
      			"position": "top_right",
      			"config": {
      				"record": {
      					"recordProgram": "arecord",
      					"device": "plughw:1"
      				},
      				"play": {
      					"playProgram": "mpg321"
      				},
      				"deviceLocation": {
      					"coordinates": {
      						"latitude": 48.739464,
      						"longitude": 2.557584
      					}
      				},
      				"defaultProfile": "default",
      				"profiles": {
      					"default": {
      						"profileFile": "default.json",
      						"lang": "fr-FR"
      					}
      				},
      				"responseVoice": true,
      				"responseScreen": true,
      				"responseAlert": true,
      				"screenZoom": "80%",
      				"screenDuration": 3000,
      				"youtubeAutoplay": true,
      				"pauseOnYoutube": false,
      				"youtubePlayerVars": {
      					"controls": 0,
      					"loop": 1,
      					"rel": 0
      				},
      				"youtubePlayQuality": "default",
      				"verbose": false,
      				"auth": {
      					"keyFilePath": "./credentials.json"
      				},
      				"action": {},
      				"transcriptionHook": {},
      				"command": {},
      				"notifications": {
      					"ASSISTANT_ACTIVATE": "ASSISTANT_ACTIVATE",
      					"ASSISTANT_DEACTIVATE": "ASSISTANT_CLEAR",
      					"ASSISTANT_ACTIVATED": "HOTWORD_PAUSE",
      					"ASSISTANT_DEACTIVATED": "HOTWORD_RESUME",
      					"ASSISTANT_ACTION": "ASSISTANT_ACTION",
      					"DEFAULT_HOOK_NOTIFICATION": "ASSISTANT_HOOK",
      					"TEXT_QUERY": "ASSISTANT_QUERY",
      					"SAY_TEXT": "ASSISTANT_SAY"
      				}
      			}
      		},
      		{
      			"module": "MMM-Hotword",
      			"config": {
      				"snowboy": [
      				/*	{
      						"hotwords": "smartmirror",
      						"file": "resources/models/smart_mirror.umdl",
      						"sensitivity": "0.5"
      					},
      					{
      						"hotwords": "snowboy",
      						"file": "resources/models/snowboy.umdl",
      						"sensitivity": "0.5"
      					},
      */
      
      					{
      						"file": "resources/models/jarvis.umdl",
      						"sensitivity": "0.6,0.60",
      						"hotwords": [
      							"jarvis",
      							"jarvis"
      						]
      					}
      				],
      				"record": {
      					"sampleRate": 16000,
      					"threshold": 0.5,
      					"thresholdStart": null,
      					"thresholdEnd": null,
      					"silence": 1,
      					"verbose": false,
      					"recordProgram": "arecord",
      					"device": "plughw:1"
      				},
      				"autostart": true,
      				"autorestart": true,
      				"notifications": {
      					"PAUSE": "HOTWORD_PAUSE",
      					"RESUME": "HOTWORD_RESUME",
      					"LISTENING": "HOTWORD_LISTENING",
      					"SLEEPING": "HOTWORD_SLEEPING",
      					"ERROR": "HOTWORD_ERROR"
      				},
      				"onDetected": {
      					notification: function (payload) {
              				return "ASSISTANT_ACTIVATE";
            					},
            					payload: function (payload){
              				return {
                      			profile: payload.hotword
      					};
      				}
      			},
      		},
      },
      		{
      			"module": "MMM-Traffic",
      			"position": "lower_third",
      			"config": {
      				"api_key": "A--------------------------------------------E",
      				"mode": "driving",
      				"origin": "my street France",
      				"destination": "my street , France",
      				"route_name": "De la maison au travail",
      				"changeColor": true,
      				"showGreen": true,
      				"limitYellow": 5,
      				"limitRed": 20,
      				"traffic_model": "best_guess",
      				"interval": 1000000
      			},
      			"classes": "dimmed medium"
      		},
      
      		{
      			"module": "MMM-Hue",
      			"position": "top_center",
      			"config": {
      				"bridgeip": "192.168.0.44",
      				"userid": "H---------------------------------u",
      				"colour": false,
      				"refreshTime": "30000"
      			}
      		},
      
      {
        module: "MMM-DarkSkyForecast",
        header: "Weather",
        position: "top_right",
        classes: "default everyone",
        disabled: false,
        config: {
          apikey: "4------------------------------------------5",
          latitude: "48.725610",
          longitude: "2.572350",
          updateInterval: "60",
          language: "fr",
          label_timeFormat: "k[h]",
          label_days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"],
          iconset: "4c",
          concise: false,
          forecastLayout: "tiled"
        }
      },
               {
                     module: 'MMM-PIR-Sensor',
      		config: {
      			"sensorPIN": "23",
      			"powerSavingDelay": 600,
      		}
      	},
      
      	{
      		module: 'mmm-systemtemperature',
      		position: 'bottom_left',	// This can be any of the regions.
      		classes: 'small dimmed', // Add your own styling. Optional.
      		config: {
      			// See 'Configuration options' for more information.
      		}
      	},
      
      
      		{
      			"module": "newsfeed",
      			"position": "bottom_bar",
      			"config": {
      				"feeds": [
      					{
      						"title": "BFMTV",
      						"url": "https://www.bfmtv.com/rss/info/flux-rss/flux-toutes-les-actualites/"
      					}
      				],
      				"showSourceTitle": true,
      				"showPublishDate": true
      			}
      		}
      	],
      	"address": "localhost",
      	"ipWhitelist": [
      		"127.0.0.1",
      		"192.168.0.21",
      		"::ffff:192.168.0.23/24",
      		"192.168.0.23/24"
      	]
      };
      /*************** DO NOT EDIT THE LINE BELOW ***************/ 
      if (typeof module !== 'undefined') {module.exports = config;}
      
      

      Finally I’m up to date on MM and all Modules.

      I didn’t use the OpenGL driver in /boot/config.txt as in was generating error in the logs, and my pi is Fan cooled So I don’t worry for now about system temp ( always around 50°C) and CPU usage ( around 40% when MM + VNC are running )

      So if anyone have clue / good question to ask my to help me dig out this issue and resolve it you are most that welcome !!! I hope that this post was not too long but I wanted to give as much details as I can.

      If you need any other info feel free to ask me.

      Thank you again for all your work and help .

      1 Reply Last reply Reply Quote 0
      • ejay-ibmE Offline
        ejay-ibm Project Sponsor Module Developer
        last edited by

        Ok Great ! That was the issue !
        Placing the timer to 0 prevent the module to be suspended .

        Now I would like to put this back in the code so the modules in suspended mode that is great as indeed I don’t need them update when the screen is Off but i’d like to resume with the onDetected when motion is detected by the PIR module ?

        Is it possible to Sync the Idle and onDetected with the PIR Module ?

        Thanks .

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

          disable the updater module
          start the MM with

          npm start dev

          and select the console tab… make sure its scrolled down all the way

          then repeat your test cycle
          see if anything shows on console when the black screen is up

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • ejay-ibmE Offline
            ejay-ibm Project Sponsor Module Developer
            last edited by ejay-ibm

            @ejay-ibm said in Blank screen issue ( another one again ) after one hour or so...:

            // {
            // “module”: “updatenotification”,
            // “position”: “top_bar”
            // },

            Is that the module you are talking about ( as you can see it’s already commented ) ? If not how do you disable the updater module ?

            I’m running dev mode now waiting for the issue to reoccur.

            thanks

            1 Reply Last reply Reply Quote 0
            • ejay-ibmE Offline
              ejay-ibm Project Sponsor Module Developer
              last edited by

              Once the screen goes OFF

              module.js:198 				MMM-Hotword is suspended.
              module.js:198				MMM-PIR-Sensor is suspended.
              module.js:198 				clock is suspended.
              module.js:198 				MMM-AssistantMk2 is suspended.
              module.js:198 				MMM-Traffic is suspended.
              module.js:198 				MMM-Hue is suspended.
              module.js:198 				MMM-DarkSkyForecast is suspended.
              module.js:198 				mmm-systemtemperature is suspended.
              module.js:198 				newsfeed is suspended.
              received TRAFFIC_COMMUTE 	MMM-Traffic.js:273 
              

              I Get now blank screen . Nothing happens in the log/dev console

              Now I moove and screen goes ON , but MM still blank I say “Jarvis” and the console logs shows.

              clock received a module notification: ASSISTANT_ACTIVATE from sender: MMM-Hotword
              module.js:154 clock received a module notification: HOTWORD_PAUSE from sender: MMM-AssistantMk2
              module.js:154 MMM-Traffic received a module notification: HOTWORD_PAUSE from sender: MMM-AssistantMk2
              module.js:154 MMM-Hue received a module notification: HOTWORD_PAUSE from sender: MMM-AssistantMk2
              module.js:154 MMM-DarkSkyForecast received a module notification: HOTWORD_PAUSE from sender: MMM-AssistantMk2
              module.js:154 mmm-systemtemperature received a module notification: HOTWORD_PAUSE from sender: MMM-AssistantMk2
              newsfeed.js:340 newsfeed - received notification: HOTWORD_PAUSE
              newsfeed.js:391 newsfeed - unknown notification, ignoring: HOTWORD_PAUSE
              module.js:154 MMM-Traffic received a module notification: ASSISTANT_ACTIVATE from sender: MMM-Hotword
              module.js:154 MMM-Hue received a module notification: ASSISTANT_ACTIVATE from sender: MMM-Hotword
              module.js:154 MMM-DarkSkyForecast received a module notification: ASSISTANT_ACTIVATE from sender: MMM-Hotword
              module.js:154 mmm-systemtemperature received a module notification: ASSISTANT_ACTIVATE from sender: MMM-Hotword
              newsfeed.js:340 newsfeed - received notification: ASSISTANT_ACTIVATE
              newsfeed.js:391 newsfeed - unknown notification, ignoring: ASSISTANT_ACTIVATE
              module.js:154 clock received a module notification: HOTWORD_SLEEPING from sender: MMM-Hotword
              module.js:154 MMM-Traffic received a module notification: HOTWORD_SLEEPING from sender: MMM-Hotword
              module.js:154 MMM-Hue received a module notification: HOTWORD_SLEEPING from sender: MMM-Hotword
              module.js:154 MMM-DarkSkyForecast received a module notification: HOTWORD_SLEEPING from sender: MMM-Hotword
              module.js:154 mmm-systemtemperature received a module notification: HOTWORD_SLEEPING from sender: MMM-Hotword
              newsfeed.js:340 newsfeed - received notification: HOTWORD_SLEEPING
              newsfeed.js:391 newsfeed - unknown notification, ignoring: HOTWORD_SLEEPING
              module.js:205 clock is resumed.
              module.js:205 MMM-AssistantMk2 is resumed.
              module.js:205 MMM-Hotword is resumed.
              module.js:205 MMM-Traffic is resumed.
              module.js:205 MMM-Hue is resumed.
              module.js:205 MMM-DarkSkyForecast is resumed.
              module.js:205 MMM-PIR-Sensor is resumed.
              module.js:205 mmm-systemtemperature is resumed.
              module.js:205 newsfeed is resumed.
              
              

              So it look like the suspended state create the blank screen. (am I right ? :/ )
              If yes Now the question is , how to prevent the modules to be suspended.
              Is that because of the PIR module ?

              thanks

              1 Reply Last reply Reply Quote 0
              • ejay-ibmE Offline
                ejay-ibm Project Sponsor Module Developer
                last edited by ejay-ibm

                Searching for similar log in other thread I found someone saying :
                “It might be due to “onIdle” and “onDetected” features. Disable them”
                So I have added to my config.js in the MM assistant module

                 onIdle: {
                      timer: 0,  // if you don't want to use this feature, just set timer as `0` or command as ""
                      command: "HIDEMODULES"
                    },
                

                I’m testing and will report results.
                Thanks

                1 Reply Last reply Reply Quote 0
                • ejay-ibmE Offline
                  ejay-ibm Project Sponsor Module Developer
                  last edited by

                  Ok Great ! That was the issue !
                  Placing the timer to 0 prevent the module to be suspended .

                  Now I would like to put this back in the code so the modules in suspended mode that is great as indeed I don’t need them update when the screen is Off but i’d like to resume with the onDetected when motion is detected by the PIR module ?

                  Is it possible to Sync the Idle and onDetected with the PIR Module ?

                  Thanks .

                  1 Reply Last reply Reply Quote 0
                  • ejay-ibmE Offline
                    ejay-ibm Project Sponsor Module Developer
                    last edited by

                    Me again

                    I Would Say that you should mark the post as solved As We have root cause here.
                    I have created that git

                    https://github.com/paviro/MMM-PIR-Sensor/issues/73
                    To get some help from paviro and see if the ondetected function of MK2 assistant could be implemented in the PIR module so they could be kind of sync.

                    Thanks to @sdetweil for driving me in the right debug way for finding the root cause of the problem.

                    1 Reply Last reply Reply Quote 0
                    • T Offline
                      thedk
                      last edited by

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • P Offline
                        philmavedzenge
                        last edited by

                        Hi @ejay-ibm did you manage to fix the issue. i have the same issue with the PIR Module. Sometimes the screen wakes up but its blank and i have to restart the pi.

                        1 Reply Last reply Reply Quote 0
                        • 1 / 1
                        • 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