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.

    New module installer

    Scheduled Pinned Locked Moved General Discussion
    51 Posts 7 Posters 18.4k Views 6 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.
    • S Offline
      sdetweil @sdetweil
      last edited by

      @chrisfr1976 but if that is a requirement… it IS possible of course

      Sam

      How to add modules

      learning how to use browser developers window for css changes

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

        I think this doesn’t work as an outside command… I mean TECHNICALLY it does,
        but it depends on too much work for the user…
        see the corrected implementation
        https://forum.magicmirror.builders/post/123176

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        C 1 Reply Last reply Reply Quote 0
        • C Offline
          chrisfr1976 @sdetweil
          last edited by

          @sdetweil
          Hi,
          yesterday I was off. Now I tried to install it but I got this error:

          chris@MagicPi:~ $ bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/installer/refs/heads/main/installit)"
          Klone nach 'installer' ...
          remote: Enumerating objects: 257, done.
          remote: Counting objects: 100% (24/24), done.
          remote: Compressing objects: 100% (18/18), done.
          remote: Total 257 (delta 10), reused 17 (delta 6), pack-reused 233 (from 1)
          Empfange Objekte: 100% (257/257), 1005.39 KiB | 4.31 MiB/s, fertig.
          L?se Unterschiede auf: 100% (151/151), fertig.
          Hinweis: Es wird davon abgeraten zu Pullen, ohne anzugeben, wie mit abweichenden
          Hinweis: Branches umgegangen werden soll. Sie k?nnen diese Nachricht unterdr?cken,
          Hinweis: indem Sie einen der folgenden Befehle ausf?hren, bevor der n?chste Pull
          Hinweis: ausgef?hrt wird:
          Hinweis: 
          Hinweis:   git config pull.rebase false  # Merge (Standard-Strategie)
          Hinweis:   git config pull.rebase true   # Rebase
          Hinweis:   git config pull.ff only       # ausschlie?lich Vorspulen
          Hinweis: 
          Hinweis: Sie k?nnen statt "git config" auch "git config --global" nutzen, um
          Hinweis: einen Standard f?r alle Repositories festzulegen. Sie k?nnen auch die
          Hinweis: Option --rebase, --no-rebase oder --ff-only auf der Kommandozeile nutzen,
          Hinweis: um das konfigurierte Standardverhalten pro Aufruf zu ?berschreiben.
          Do you want execute the module installer now? (y/N)?y
          ./installer.sh: Zeile 32: cd: ../../modules/MMM-Config: Datei oder Verzeichnis nicht gefunden
          cp: der Aufruf von stat f?r 'module_schema_template.json' ist nicht m?glich: Datei oder Verzeichnis nicht gefunden
          node:internal/modules/cjs/loader:1251
            throw err;
            ^
          
          Error: Cannot find module '/home/chris/MagicMirror/installers/formatModuleInfo.js'
              at Module._resolveFilename (node:internal/modules/cjs/loader:1248:15)
              at Module._load (node:internal/modules/cjs/loader:1074:27)
              at TracingChannel.traceSync (node:diagnostics_channel:315:14)
              at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
              at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:166:5)
              at node:internal/main/run_main_module:30:49 {
            code: 'MODULE_NOT_FOUND',
            requireStack: []
          }
          
          Node.js v22.9.0
          ./installer.sh: Zeile 68: ./install_module.sh: Datei oder Verzeichnis nicht gefunden
          node:internal/modules/cjs/loader:1251
            throw err;
            ^
          
          Error: Cannot find module '/home/chris/MagicMirror/installers/runserver.js'
              at Module._resolveFilename (node:internal/modules/cjs/loader:1248:15)
              at Module._load (node:internal/modules/cjs/loader:1074:27)
              at TracingChannel.traceSync (node:diagnostics_channel:315:14)
              at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
              at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:166:5)
              at node:internal/main/run_main_module:30:49 {
            code: 'MODULE_NOT_FOUND',
            requireStack: []
          }
          
          Node.js v22.9.0
          

          Regards, Chris.

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

            @chrisfr1976

            thanks for your patience… I think this will be better

            I have merged the installer function into the MMM-Config module

            currently the installer function is in a separate branch (with_installer) while we test it out

            note: if you are using docker, then these steps need to be done INSIDE the running container, using
            docker exec -it mm bash
            to get to a commandline inside the container
            AFTER using ssh to get to the docker host commandline

            if you don’t have MMM-Config

            cd ~/MagicMirror/modules
            git clone https://github.com/sdetweil/MMM-Config
            cd MMM-Config
            git checkout with_installer
            npm install
            

            see the readme above on how to add this module to your config.js

            if you already have MMM-Config

            cd ~/MagicMirror/modules/MMM-Config
            git pull
            git checkout with_installer
            npm install
            

            no configuration changes are required

            restart your MagicMirror instance

            for docker based MM instances, the steps are the same
            I notice that some of the files in the git pull will be marked as changed,
            altho its only the permissions
            so erase those files and then git pull
            and then checkout the with_installer branch
            etc

            Using the installer

            use this url

            http://mm_server:MM_port/installer
            

            and you will get the installer module selection page

            see the readme for usage

            after pushing the install selected modules button and the individual module installs complete,
            the MMM-Config configuration page will replace the installer page you had open

            when you are done configuring the modules, press Save, Create config
            and the current MMM-Config page will be closed, and your MM instance will be restarted
            (in most cases)

            from the readme

            MMM-Config will try to restart your MagicMirror system after configuration is complete
            
            if the MagicMirror instance is configured to auto restart due to config.js, that will happen naturally
            
            if the MagicMirror instance is NOT configured to auto restart due to config.js, then the MMM-Config **restart option** will be used to restart
            
            if the MagicMirror instance is in a docker container, like khassel's then the MagicMirror process will be killed, causing the container to restart
            
            if none of those options work, then you will have to restart the MagicMirror instance manually (same as if you modified config.js on your own)
            

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            plainbrokeP 1 Reply Last reply Reply Quote 0
            • plainbrokeP Offline
              plainbroke @sdetweil
              last edited by plainbroke

              @sdetweil
              All I am getting is this:

              “Select all the modules you would like to install”

              Nothing else it is just white below that …

              Slow learner. But trying anyways.
              MM is on Raspberry Pi 4B w/8gb ram loaded on a 128gb nvme drive.
              Running Trixie and the latest MM version.

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

                @plainbroke go to the module folder and do git pull

                then reload the installer page

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                plainbrokeP 2 Replies Last reply Reply Quote 0
                • plainbrokeP Offline
                  plainbroke @sdetweil
                  last edited by plainbroke

                  @sdetweil
                  Ok did the git pull now I get the same thing but in a tan background color.

                  should i do the
                  git pull
                  git checkout with_installer
                  npm install

                  did that and it says everything is up to date.
                  I really hoped that would get it running.
                  Sounds like a very useful module.

                  Slow learner. But trying anyways.
                  MM is on Raspberry Pi 4B w/8gb ram loaded on a 128gb nvme drive.
                  Running Trixie and the latest MM version.

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

                    @sdetweil
                    http://192.168.1.200:8280/modules/MMM-Config/module_installer/module_installer.html
                    Is that the installer page you are talking about?
                    Or is there something else I should try???

                    Slow learner. But trying anyways.
                    MM is on Raspberry Pi 4B w/8gb ram loaded on a 128gb nvme drive.
                    Running Trixie and the latest MM version.

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

                      @plainbroke hm…

                      can you open the module folder and see if

                      module_form_schema.json

                      is present

                      also can you open the config page

                      http://server:port/modules/MMM-Config/review

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

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

                        @plainbroke if you go to /installer it redirects to the correct url

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        plainbrokeP 1 Reply Last reply Reply Quote 0
                        • plainbrokeP Offline
                          plainbroke @sdetweil
                          last edited by

                          @sdetweil

                          pi@CameraS:~/MagicMirror/modules/MMM-Config $ dir
                          config.html                       form-client.js                     node_helper.js     schema3_19492568968280.json  translations
                          config_lastchange_19492568968280  MMM-Config.css                     node_modules       schemas                      webform.css
                          create_form_for_module.cmd        MMM-Config.js                      package.json       scripts                      webform.js
                          create_form_for_module.sh         MMM-Config.schema.json             package-lock.json  templates                    workdir
                          defaults_19492568968280.js        module_installer                   postinstall        test_convert.cmd
                          doc_images                        modules_lastchange_19492568968280  postinstall.cmd    test_convert.sh
                          exec_script.js                    modules_list.txt                   README.md          touch.cmd
                          

                          When I ran it with review it came back.
                          Cannot GET /modules/MMM-Config/installer

                          Slow learner. But trying anyways.
                          MM is on Raspberry Pi 4B w/8gb ram loaded on a 128gb nvme drive.
                          Running Trixie and the latest MM version.

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

                            @plainbroke sorry cd module_installer

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

                            plainbrokeP 1 Reply Last reply Reply Quote 0
                            • plainbrokeP Offline
                              plainbroke @sdetweil
                              last edited by plainbroke

                              @sdetweil
                              Yes it is in there.

                              I am going to turn in been sick for the last 2 days. worn out…
                              Take your time with it. I am in no hurry.

                              Slow learner. But trying anyways.
                              MM is on Raspberry Pi 4B w/8gb ram loaded on a 128gb nvme drive.
                              Running Trixie and the latest MM version.

                              S 3 Replies Last reply Reply Quote 1
                              • S Offline
                                sdetweil @plainbroke
                                last edited by sdetweil

                                @plainbroke I just did a fresh install on a new MM… on a different machine

                                when I bring up the MM page it works
                                when I bring up the installer page it works… takes a few seconds
                                when I open the MMM-Config/review page the configuration page comes up

                                open the installer page
                                http://server:port/installer
                                open the developers window, ctrl-shift-i
                                go to the console tab , see if there are any errors
                                open the sources tab
                                 left nav
                                selec modules,
                                  mmm-config
                                      module_installer
                                             select the form-client.js
                                             scroll the source to line 120, click on the line number
                                             should turn blue
                                

                                like this
                                Screenshot at 2025-01-17 21-25-44.png

                                hit f5 refresh the page

                                it should look like this
                                Screenshot at 2025-01-17 21-28-40.png

                                you should be able to scroll the mouse over the words incoming_json
                                and it should pop up a big window of the json

                                like this
                                Screenshot at 2025-01-17 21-30-30.png

                                Sam

                                How to add modules

                                learning how to use browser developers window for css changes

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

                                  @plainbroke feel better… this is not that important

                                  Sam

                                  How to add modules

                                  learning how to use browser developers window for css changes

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

                                    @plainbroke i pushed a bunch of fixes.

                                    Sam

                                    How to add modules

                                    learning how to use browser developers window for css changes

                                    plainbrokeP 1 Reply Last reply Reply Quote 0
                                    • plainbrokeP Offline
                                      plainbroke @sdetweil
                                      last edited by plainbroke

                                      @sdetweil
                                      I removed it with rm -rf MMM-Config
                                      Then rebooted Pi
                                      Then reinstalled with:
                                      cd ~/MagicMirror/modules
                                      git clone https://github.com/sdetweil/MMM-Config
                                      cd MMM-Config
                                      npm install
                                      THAT DID NOT WORK.
                                      threw all kinds of errors in shift+ctrl+i
                                      So I went back to the
                                      cd MMM_Config module and ran
                                      git pull
                                      git checkout with_installer
                                      npm install
                                      rebooted the Pi
                                      Now it works.
                                      Why I do not know.
                                      But it does. I am going to try it out with MMM-MPlayer.
                                      Thanks for the great work…

                                      Slow learner. But trying anyways.
                                      MM is on Raspberry Pi 4B w/8gb ram loaded on a 128gb nvme drive.
                                      Running Trixie and the latest MM version.

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

                                        @plainbroke said in New module installer:

                                        git clone https://github.com/sdetweil/MMM-Config

                                        yes, that will put you on the root branch main or master
                                        you have to checkout the other branch that has the installer function in it

                                        Sam

                                        How to add modules

                                        learning how to use browser developers window for css changes

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

                                          @plainbroke pushed a few more updates… now open repo button in configuration screens as well as installer

                                          Sam

                                          How to add modules

                                          learning how to use browser developers window for css changes

                                          M 1 Reply Last reply Reply Quote 0
                                          • M Offline
                                            MDWEBB @sdetweil
                                            last edited by sdetweil

                                            @sdetweil Hi Sam,
                                            I update the fetch interval on my CalendarExt3 module via MMM-Config as i had a power flick and events hadn’t came back quick enough for my liking. However now the whole CalendarExt3 module is not display and i am getting errors on start up saying it can’t calidate main module.js i hadn’t made any changes outside of the config module. I tried uninstalling CalendaerExt3 and reinstalling but without any luck would love some guidance. Will past the latest config module below also.

                                            mdwebb@raspberrypi:~/MagicMirror $ npm start
                                            
                                            > magicmirror@2.31.0-develop start
                                            > npm run start:x11
                                            
                                            
                                            > magicmirror@2.31.0-develop start:x11
                                            > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js
                                            
                                            [2025-01-20 20:36:52.086] [LOG]   Starting MagicMirror: v2.31.0-develop 
                                            [2025-01-20 20:36:52.114] [LOG]   Loading config ... 
                                            [2025-01-20 20:36:52.116] [LOG]   config template file not exists, no envsubst 
                                            [2025-01-20 20:36:52.693] [INFO]  Checking config file /home/mdwebb/MagicMirror/config/config.js ... 
                                            [2025-01-20 20:36:52.837] [INFO]  Your configuration file doesn't contain syntax errors :) 
                                            [2025-01-20 20:36:52.839] [INFO]  Checking modules structure configuration ... 
                                            [2025-01-20 20:36:52.983] [INFO]  Your modules structure configuration doesn't contain errors :) 
                                            [2025-01-20 20:36:52.985] [LOG]   Loading module helpers ... 
                                            [2025-01-20 20:36:52.997] [LOG]   Initializing new module helper ... 
                                            [2025-01-20 20:36:52.998] [LOG]   Module helper loaded: updatenotification 
                                            [2025-01-20 20:36:52.999] [LOG]   No helper found for module: clock. 
                                            [2025-01-20 20:36:53.000] [LOG]   No helper found for module: MMM-CountDown. 
                                            [2025-01-20 20:36:53.244] [LOG]   Initializing new module helper ... 
                                            [2025-01-20 20:36:53.244] [LOG]   Module helper loaded: MMM-ImagesPhotos 
                                            [2025-01-20 20:36:53.265] [LOG]   Initializing new module helper ... 
                                            [2025-01-20 20:36:53.265] [LOG]   Module helper loaded: MMM-OpenWeatherMapForecast 
                                            [2025-01-20 20:36:53.429] [LOG]   Initializing new module helper ... 
                                            [2025-01-20 20:36:53.429] [LOG]   Module helper loaded: MMM-Config 
                                            [2025-01-20 20:36:53.430] [LOG]   No helper found for module: MMM-CalendarExt3. 
                                            [2025-01-20 20:36:53.430] [LOG]   No helper found for module: alert. 
                                            [2025-01-20 20:36:53.526] [LOG]   Initializing new module helper ... 
                                            [2025-01-20 20:36:53.527] [LOG]   Module helper loaded: calendar 
                                            [2025-01-20 20:36:53.650] [LOG]   Initializing new module helper ... 
                                            [2025-01-20 20:36:53.650] [LOG]   Module helper loaded: MMM-Remote-Control 
                                            [2025-01-20 20:36:53.698] [LOG]   Initializing new module helper ... 
                                            [2025-01-20 20:36:53.698] [LOG]   Module helper loaded: MMM-ModuleScheduler 
                                            [2025-01-20 20:36:53.699] [LOG]   All module helpers loaded. 
                                            [2025-01-20 20:36:53.711] [LOG]   Starting server on port 8080 ...  
                                            [2025-01-20 20:36:54.371] [LOG]   Server started ... 
                                            [2025-01-20 20:36:54.377] [LOG]   Connecting socket for: updatenotification 
                                            [2025-01-20 20:36:54.378] [LOG]   Starting module helper: updatenotification 
                                            [2025-01-20 20:36:54.384] [LOG]   Connecting socket for: MMM-ImagesPhotos 
                                            [2025-01-20 20:36:54.386] [LOG]   Starting node helper for: MMM-ImagesPhotos 
                                            [2025-01-20 20:36:54.389] [LOG]   Connecting socket for: MMM-OpenWeatherMapForecast 
                                            [2025-01-20 20:36:54.390] [LOG]   Starting node_helper for MMM-OpenWeatherMapForecast 
                                            [2025-01-20 20:36:54.396] [LOG]   Connecting socket for: MMM-Config 
                                            [2025-01-20 20:36:54.727] [LOG]   will pull config data at 17:00:00 in 22985320 ms 
                                            [2025-01-20 20:36:54.729] [LOG]   Connecting socket for: calendar 
                                            [2025-01-20 20:36:54.736] [LOG]   Starting node helper for: calendar 
                                            [2025-01-20 20:36:54.738] [LOG]   Connecting socket for: MMM-Remote-Control 
                                            [2025-01-20 20:36:54.744] [LOG]   Starting node helper for: MMM-Remote-Control 
                                            [2025-01-20 20:36:54.848] [LOG]   Connecting socket for: MMM-ModuleScheduler 
                                            [2025-01-20 20:36:54.849] [LOG]   Starting node helper for: MMM-ModuleScheduler 
                                            [2025-01-20 20:36:54.850] [LOG]   Sockets connected & modules started ... 
                                            [2025-01-20 20:36:55.644] [LOG]   Launching application. 
                                            [2025-01-20 20:36:57.126] [INFO]  System information:
                                            ### SYSTEM:   manufacturer: ; model: ; virtual: false
                                            ### OS:       platform: linux; distro: Debian GNU/Linux; release: 12; arch: arm64; kernel: 6.6.51+rpt-rpi-v8
                                            ### VERSIONS: electron: 32.2.7; used node: 20.18.1; installed node: 20.18.1; npm: 10.8.2; pm2: 5.4.3
                                            ### OTHER:    timeZone: Australia/Melbourne; ELECTRON_ENABLE_GPU: undefined 
                                            [2025-01-20 20:36:57.162] [ERROR] ERROR! Could not validate main module js file. 
                                            [2025-01-20 20:36:57.168] [ERROR] ReferenceError: HTMLElement is not defined
                                                at Object.<anonymous> (/home/mdwebb/MagicMirror/modules/MMM-CalendarExt3/MMM-CalendarExt3.js:6:26)
                                                at Module._compile (node:internal/modules/cjs/loader:1484:14)
                                                at Module._extensions..js (node:internal/modules/cjs/loader:1564:10)
                                                at Module.load (node:internal/modules/cjs/loader:1295:32)
                                                at Module._load (node:internal/modules/cjs/loader:1111:12)
                                                at c._load (node:electron/js2c/node_init:2:16955)
                                                at Module.require (node:internal/modules/cjs/loader:1318:19)
                                                at require (node:internal/modules/helpers:179:18)
                                                at Class.loadModuleDefaultConfig (/home/mdwebb/MagicMirror/modules/MMM-Remote-Control/node_helper.js:317:30)
                                                at /home/mdwebb/MagicMirror/modules/MMM-Remote-Control/node_helper.js:271:26
                                                at FSReqCallback.oncomplete (node:fs:198:5) 
                                            [3636:0120/203657.414249:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.423716:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.424432:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.424789:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.425361:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.425726:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.426131:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.426495:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.431838:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.439567:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.451490:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.455922:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.456469:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.456802:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.458595:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.463710:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.468093:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.471514:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.472361:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.472678:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.473397:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.479438:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.485371:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.485794:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.486390:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.486682:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [3636:0120/203657.487070:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
                                            [3636:0120/203657.488116:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
                                            [2025-01-20 20:36:58.222] [LOG]    
                                            [2025-01-20 20:37:00.003] [LOG]   Config based debug=module_3_MMM-ImagesPhotos 
                                            [2025-01-20 20:37:00.008] [LOG]   Create new calendarfetcher for url: https://calendar.google.com/calendar/ical/ - Interval: 3600000 
                                            [2025-01-20 20:37:00.017] [LOG]   MMM-ModuleScheduler is removing all scheduled jobs 
                                            [2025-01-20 20:37:00.018] [LOG]   MMM-ModuleScheduler received CREATE_NOTIFICATION_SCHEDULE 
                                            [2025-01-20 20:37:00.021] [LOG]   MMM-ModuleScheduler cannot create schedule. Missing `schedule` in `notification_schedule`: true 
                                            [2025-01-20 20:37:00.029] [INFO]  updatenotification: Updater Class Loaded! 
                                            [2025-01-20 20:37:00.030] [INFO]  updatenotification: Checking PM2 using... 
                                            [2025-01-20 20:37:00.031] [INFO]  updatenotification: [PM2] You are not using pm2 
                                            [2025-01-20 20:37:00.033] [INFO]  Checking git for module: MMM-CountDown 
                                            [2025-01-20 20:37:00.070] [INFO]  Checking git for module: MMM-ImagesPhotos 
                                            [2025-01-20 20:37:00.104] [INFO]  Checking git for module: MMM-OpenWeatherMapForecast 
                                            [2025-01-20 20:37:00.171] [INFO]  Checking git for module: MMM-Config 
                                            [2025-01-20 20:37:00.213] [INFO]  Checking git for module: MMM-CalendarExt3 
                                            [2025-01-20 20:37:00.240] [INFO]  Checking git for module: MMM-Remote-Control 
                                            [2025-01-20 20:37:00.265] [INFO]  Checking git for module: MMM-ModuleScheduler 
                                            [2025-01-20 20:37:00.319] [INFO]  Checking git for module: MagicMirror 
                                            [2025-01-20 20:37:05.720] [INFO]  Calendar-Fetcher: Broadcasting 970 events from https://calendar.google.com/calendar/ical... 
                                            [2025-01-20 20:37:06.063] [LOG]   Shutting down server... 
                                            [2025-01-20 20:37:06.066] [LOG]   Stopping module helper: updatenotification 
                                            [2025-01-20 20:37:06.067] [LOG]   Stopping module helper: MMM-ImagesPhotos 
                                            [2025-01-20 20:37:06.069] [LOG]   Stopping module helper: MMM-OpenWeatherMapForecast 
                                            [2025-01-20 20:37:06.070] [LOG]   Stopping module helper: MMM-Config 
                                            [2025-01-20 20:37:06.071] [LOG]   Stopping module helper: calendar 
                                            [2025-01-20 20:37:06.076] [LOG]   Stopping module helper: MMM-ModuleScheduler 
                                            [2025-01-20 20:37:06.078] [LOG]   Node_helpers stopped ... 
                                            

                                            Config file

                                            
                                              var config = {
                                                address: "0.0.0.0",
                                                port: 8080,
                                                basePath: "/",
                                                ipWhitelist: [
                                                  "127.0.0.1",
                                                  "::ffff:127.0.0.1",
                                                  "::1",
                                                  "192.000.00.000",
                                                  "192.000.00.00"
                                                ],
                                                language: "en",
                                                locale: "en-US",
                                                logLevel: [
                                                  "INFO",
                                                  "LOG",
                                                  "WARN",
                                                  "ERROR"
                                                ],
                                                timeFormat: 24,
                                                units: "metric",
                                                useHttps: false,
                                                modules: [
                                                  {
                                                    module: "updatenotification",
                                                    position: "top_bar",
                                                    order: "*",
                                                    disabled: false,
                                                    animateIn: "None",
                                                    animateOut: "None",
                                                    config: {}
                                                  },
                                                  {
                                                    module: "clock",
                                                    position: "top_left",
                                                    order: "*",
                                                    animateIn: "None",
                                                    animateOut: "None",
                                                    index: 0,
                                                    label: "instance 1",
                                                    config: {
                                                      displayType: "digital",
                                                      timeFormat: "24",
                                                      displaySeconds: true,
                                                      showPeriod: true,
                                                      showDate: true,
                                                      showTime: true,
                                                      dateFormat: "dddd, LL",
                                                      analogSize: "200px",
                                                      analogFace: "simple",
                                                      analogPlacement: "bottom",
                                                      analogShowDate: "top",
                                                      secondsColor: "#888888",
                                                      lat: 47.630539,
                                                      lon: -122.344147,
                                                      showPeriodUpper: false,
                                                      clockBold: false,
                                                      showWeek: false,
                                                      sendNotifications: false,
                                                      showSunTimes: false,
                                                      showMoonTimes: false
                                                    },
                                                    disabled: false
                                                  },
                                                  {
                                                    module: "MMM-CountDown",
                                                    position: "top_left",
                                                    config: {
                                                      date: "2025-02-21",
                                                      event: "Webb Holiday"
                                                    },
                                                    order: "*",
                                                    disabled: false,
                                                    animateIn: "None",
                                                    animateOut: "None"
                                                  },
                                                  {
                                                    module: "MMM-ImagesPhotos",
                                                    position: "top_center",
                                                    config: {
                                                      animationSpeed: 1000,
                                                      updateInterval: 30000,
                                                      maxHeight: "500px",
                                                      maxWidth: "500px",
                                                      path: ""
                                                    },
                                                    order: "*",
                                                    disabled: false,
                                                    animateIn: "None",
                                                    animateOut: "None"
                                                  },
                                                  {
                                                    module: "weather",
                                                    disabled: true,
                                                    position: "top_right",
                                                    label: "instance 1",
                                                    order: "*",
                                                    index: 0,
                                                    animateIn: "none",
                                                    animateOut: "none",
                                                    config: {
                                                      weatherProvider: "openmeteo",
                                                      type: "current",
                                                      units: "metric",
                                                      tempUnits: "metric",
                                                      windUnits: "metric",
                                                      timeFormat: "24",
                                                      useBeaufort: true,
                                                      lang: "en",
                                                      useKmh: false,
                                                      showHumidity: false
                                                    }
                                                  },
                                                  {
                                                    module: "weather",
                                                    disabled: true,
                                                    position: "top_right",
                                                    label: "instance 2",
                                                    order: "*",
                                                    index: 1,
                                                    animateIn: "none",
                                                    animateOut: "none",
                                                    config: {
                                                      weatherProvider: "openmeteo",
                                                      type: "forecast",
                                                      units: "metric",
                                                      tempUnits: "metric",
                                                      windUnits: "metric",
                                                      updateInterval: 600000,
                                                      animationSpeed: 1000,
                                                      timeFormat: "24",
                                                      showPeriod: true,
                                                      showWindDirection: true,
                                                      useBeaufort: true,
                                                      lang: "en",
                                                      showSun: true,
                                                      decimalSymbol: ".",
                                                      maxNumberOfDays: 5,
                                                      maxEntries: 5,
                                                      fade: true,
                                                      fadePoint: 0.25,
                                                      initialLoadDelay: 0,
                                                      appendLocationNameToHeader: true,
                                                      calendarClass: "calendar",
                                                      tableClass: "small",
                                                      showFeelsLike: true,
                                                      roundTemp: false,
                                                      useKmh: false,
                                                      showPeriodUpper: false,
                                                      showWindDirectionAsArrow: false,
                                                      showHumidity: false,
                                                      degreeLabel: false,
                                                      showIndoorTemperature: false,
                                                      showIndoorHumidity: false,
                                                      ignoreToday: false,
                                                      onlyTemp: false,
                                                      showPrecipitationAmount: false,
                                                      colored: false,
                                                      absoluteDates: false
                                                    }
                                                  },
                                                  {
                                                    module: "MMM-OpenWeatherMapForecast",
                                                    header: "Weather",
                                                    position: "top_right",
                                                    classes: "default everyone",
                                                    config: {
                                                      apikey: "",
                                                      latitude: "-38.314560",
                                                      longitude: "146.419373",
                                                      iconset: "4c",
                                                      concise: false,
                                                      forecastLayout: "table",
                                                      maxDailiesToShow: 5,
                                                      showWind: false,
                                                      units: "metric",
                                                      language: "en",
                                                      showExtraCurrentConditions: false,
                                                      showHourlyForecast: false,
                                                      forecastHeaderText: ""
                                                    },
                                                    order: "*",
                                                    disabled: false,
                                                    animateIn: "None",
                                                    animateOut: "None"
                                                  },
                                                  {
                                                    module: "MMM-Config",
                                                    position: "top_right",
                                                    config: {
                                                      restart: "none"
                                                    },
                                                    order: "*",
                                                    disabled: false,
                                                    animateIn: "none",
                                                    animateOut: "none"
                                                  },
                                                  {
                                                    module: "MMM-CalendarExt3",
                                                    position: "bottom_bar",
                                                    title: "",
                                                    config: {
                                                      instanceId: "basicCalendar",
                                                      locale: "en-US",
                                                      maxEventLines: 6,
                                                      firstDayOfWeek: "0",
                                                      weekIndex: 0,
                                                      weeksInView: 4,
                                                      eventHeight: "15px",
                                                      useMarquee: true,
                                                      refreshInterval: 600,
                                                      eventTransformer: (ev)=> {
                                              if (ev.title.search('DINNER') > -1) ev.symbol = ['fluent-color:food-28']
                                              if (ev.title.search('Arnold') > -1) ev.symbol = ['fluent-emoji-flat:dog']
                                              if (ev.title.search('Gus') > -1) ev.symbol = ['fluent-emoji-flat:dog']
                                              if (ev.title.search('Dogs') > -1) ev.symbol = ['fluent-emoji-flat:dog']
                                              if (ev.title.search('dogs') > -1) ev.symbol = ['fluent-emoji-flat:dog']
                                              if (ev.title.search('Marcus') > -1) ev.symbol = ['noto:pretzel']
                                              if (ev.title.search('Pretzel') > -1) ev.symbol = ['noto:pretzel']
                                              if (ev.title.search('Recycle Bin') > -1) ev.symbol = ['game-icons:soda-bottle']
                                              if (ev.title.search('Green Waste bins') > -1) ev.symbol = ['streamline-emojis:leaf-fluttering-in-wind']
                                              if (ev.title.search('Cleaning Day') > -1) ev.symbol = ['openmoji:broom']
                                              if (ev.title.search('Swimming') > -1) ev.symbol = ['fxemoji:swimming']
                                              if (ev.title.search('Phils') > -1) ev.symbol = ['twemoji:baby-angel-light-skin-tone']
                                              if (ev.title.search('Phyllis') > -1) ev.symbol = ['twemoji:baby-angel-light-skin-tone']
                                              if (ev.title.search('Birthday') > -1) ev.symbol = ['emojione:birthday-cake']
                                              if (ev.title.search('birthday') > -1) ev.symbol = ['emojione:birthday-cake']
                                              if (ev.title.search('Hugo') > -1) ev.symbol = ['cryptocurrency-color:hight']
                                              if (ev.title.search('Maggie') > -1) ev.symbol = ['cryptocurrency-color:xmy']
                                              if (ev.title.search('Lucas') > -1) ev.symbol = ['openmoji:man-judge-light-skin-tone']
                                              if (ev.title.search('Hudge') > -1) ev.symbol = ['twemoji:gemini']
                                              if (ev.title.search('Danielle') > -1) ev.symbol = ['twemoji:gemini']
                                              if (ev.title.search('Factory') > -1) ev.symbol = ['emojione-v1:cow']
                                              if (ev.title.search('factory') > -1) ev.symbol = ['emojione-v1:cow']
                                              return ev
                                              },
                                                      eventFilter: (ev) =>  {
                                             return true 
                                            },
                                                      manipulateDateCell: (cellDom, events) =>  {
                                            },
                                                      weatherPayload: (payload) =>  {
                                             return payload 
                                            },
                                                      eventPayload: (payload) =>  {
                                             return payload 
                                            }
                                                    },
                                                    order: "*",
                                                    disabled: false,
                                                    animateIn: "None",
                                                    animateOut: "None"
                                                  },
                                                  {
                                                    module: "newsfeed",
                                                    disabled: true,
                                                    position: "bottom_bar",
                                                    order: "*",
                                                    animateIn: "None",
                                                    animateOut: "None",
                                                    index: 0,
                                                    label: "instance 1",
                                                    config: {
                                                      feeds: [
                                                        {
                                                          title: "New York Times",
                                                          url: "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml",
                                                          encoding: "UTF-8"
                                                        }
                                                      ],
                                                      showSourceTitle: true,
                                                      showPublishDate: true,
                                                      broadcastNewsFeeds: true,
                                                      broadcastNewsUpdates: true,
                                                      wrapTitle: true,
                                                      wrapDescription: true,
                                                      truncDescription: true,
                                                      lengthDescription: 400,
                                                      reloadInterval: 300000,
                                                      updateInterval: 10000,
                                                      animationSpeed: 2500,
                                                      maxNewsItems: 0,
                                                      ignoreOlderThan: 86400000,
                                                      scrollLength: 500,
                                                      showAsList: false,
                                                      showDescription: false,
                                                      showTitleAsUrl: false,
                                                      hideLoading: false,
                                                      ignoreOldItems: false,
                                                      logFeedWarnings: false,
                                                      dangerouslyDisableAutoEscaping: false,
                                                      startTags: [],
                                                      endTags: [],
                                                      prohibitedWords: []
                                                    }
                                                  },
                                                  {
                                                    module: "alert",
                                                    order: "*",
                                                    animateIn: "None",
                                                    animateOut: "None",
                                                    index: 0,
                                                    label: "instance 1",
                                                    config: {
                                                      effect: "slide",
                                                      alert_effect: "jelly",
                                                      display_time: 3500,
                                                      position: "center",
                                                      welcome_message: false
                                                    },
                                                    disabled: false
                                                  },
                                                  {
                                                    module: "calendar",
                                                    order: "*",
                                                    animateIn: "None",
                                                    animateOut: "None",
                                                    index: 0,
                                                    label: "instance 1",
                                                    config: {
                                                      maximumEntries: 10,
                                                      maximumNumberOfDays: 365,
                                                      limitDays: 0,
                                                      pastDaysCount: 0,
                                                      displaySymbol: true,
                                                      defaultSymbol: "calendar-alt",
                                                      defaultSymbolClassName: "fas fa-fw fa-",
                                                      maxTitleLength: 25,
                                                      maxLocationTitleLength: 25,
                                                      maxTitleLines: 3,
                                                      maxEventTitleLines: 3,
                                                      fetchInterval: 3600000,
                                                      animationSpeed: 2000,
                                                      fade: true,
                                                      fadePoint: 0.25,
                                                      urgency: 7,
                                                      timeFormat: "relative",
                                                      dateFormat: "MMM Do",
                                                      dateEndFormat: "LT",
                                                      fullDayEventDateFormat: "MMM Do",
                                                      getRelative: 6,
                                                      hideDuplicates: true,
                                                      tableClass: "small",
                                                      calendars: [
                                                        {
                                                          symbol: "calendar-alt",
                                                          url: "https://calendar.google.com/calendar/ical/
                                                        }
                                                      ],
                                                      customEvents: [
                                                        {
                                                          keyword: ".*",
                                                          transform: {
                                                            search: "De verjaardag van "
                                                          }
                                                        },
                                                        {
                                                          keyword: ".*",
                                                          transform: {
                                                            search: "'s birthday"
                                                          }
                                                        }
                                                      ],
                                                      locationTitleReplace: {
                                                        "street ": ""
                                                      },
                                                      broadcastEvents: true,
                                                      broadcastPastEvents: true,
                                                      updateOnFetch: true,
                                                      showLocation: false,
                                                      displayRepeatingCountTitle: false,
                                                      wrapEvents: false,
                                                      wrapLocationEvents: false,
                                                      showEnd: false,
                                                      showEndsOnlyWithDuration: false,
                                                      hidePrivate: false,
                                                      hideOngoing: false,
                                                      hideTime: false,
                                                      showTimeToday: false,
                                                      colored: false,
                                                      forceUseCurrentTime: false,
                                                      sliceMultiDayEvents: false,
                                                      nextDaysRelative: false,
                                                      selfSignedCert: false,
                                                      coloredText: false,
                                                      coloredBorder: false,
                                                      coloredSymbol: false,
                                                      coloredBackground: false,
                                                      limitDaysNeverSkip: false,
                                                      flipDateHeaderTitle: false,
                                                      excludedEvents: []
                                                    },
                                                    disabled: false
                                                  },
                                                  {
                                                    module: "MMM-Remote-Control",
                                                    config: {
                                                      apiKey: ""
                                                    },
                                                    order: "*",
                                                    disabled: false,
                                                    animateIn: "None",
                                                    animateOut: "None"
                                                  },
                                                  {
                                                    module: "MMM-ModuleScheduler",
                                                    config: {
                                                      notification_schedule: true
                                                    },
                                                    order: "*",
                                                    disabled: false,
                                                    animateIn: "None",
                                                    animateOut: "None"
                                                  }
                                                ]
                                              }
                                            ;
                                            
                                            
                                            
                                            S M 4 Replies 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
                                            • 1 / 3
                                            • 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