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

                                          @MDWEBB also you changed refreshInterval to 600
                                          milliseconds down from 30 minutes!! (the module cannot redraw that fast)

                                          i think you need to change the waitFetch value up to 10000
                                          milliseconds.

                                          i don’t think refreshInterval should ever be less that 300000
                                          (5 minutes)

                                          Sam

                                          How to add modules

                                          learning how to use browser developers window for css changes

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

                                            @MDWEBB I could not recreate the error by setting one of my Ext3 instances to refreshInterval :600

                                            Sam

                                            How to add modules

                                            learning how to use browser developers window for css changes

                                            S 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
                                            • 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