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 Do not disturb
      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 Do not disturb
          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 Do not disturb
              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 Do not disturb
                    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 Do not disturb
                      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 Do not disturb
                          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 Do not disturb
                              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 Do not disturb
                                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 Do not disturb
                                  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 Do not disturb
                                      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 Do not disturb
                                        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
                                          • S Do not disturb
                                            sdetweil @MDWEBB
                                            last edited by sdetweil

                                            @MDWEBB hm, could not validate file…

                                            edit: ---- you said you reinstalled, so this is not a file corruption problem

                                            lets go to the MMM-CalendarExt3 folder
                                            and do

                                            git status
                                            

                                            it should not list any files

                                            please show the reults

                                            Sam

                                            How to add modules

                                            learning how to use browser developers window for css changes

                                            1 Reply 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
                                            • 3 / 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