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.

    Client wont keep Modules up-to-date

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    21 Posts 3 Posters 7.5k Views 3 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.
    • karsten13K Offline
      karsten13 @codac
      last edited by

      @codac

      you are talking about this setup?

      I think all modules are running correctly which have no node_helper.js in their directory.

      Are there any warnings/errors in the logs (client and/or server)?

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

        @codac can u ssh into the mirror?

        stop the client and open chromium and point it at your mm server.

        this will do the same thing as the client just use a different browser.

        when I do this for pi0 devices I use this command line

        chromium -noerrdialogs -kiosk -start_maximized  --disable-infobars --app=http://localhost:$port  --ignore-certificate-errors-spki-list --ignore-ssl-errors --ignore-certificate-errors 2>/dev/null
        

        change the localhost and $port to point to your mm server

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • C Offline
          codac
          last edited by

          @karsten13
          yes and using pm2 to start this command:

          DISPLAY=:0 node clientonly --address 192.168.0.13 --port 8080
          

          And yes I have errors, it seems as if there is a problem using the 127.0.0.1 address and port 8080:

          0|mm       | [13.07.2021 13:19.37.499] [ERROR] Error: listen EADDRINUSE: address                                                                                                                                           already in use 127.0.0.1:8080
          0|mm       |     at Server.setupListenHandle [as _listen2] (net.js:1313:16)
          0|mm       |     at listenInCluster (net.js:1361:12)
          0|mm       |     at GetAddrInfoReqWrap.doListen [as callback] (net.js:1498:7)
          0|mm       |     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:68:8) {
          0|mm       |   code: 'EADDRINUSE',
          0|mm       |   errno: 'EADDRINUSE',
          0|mm       |   syscall: 'listen',
          0|mm       |   address: '127.0.0.1',
          0|mm       |   port: 8080
          0|mm       | }
          0|mm       | [13.07.2021 13:19.37.506] [ERROR] MagicMirror will not quit, but it                                                                                                                                           might be a good idea to check why this happened. Maybe no internet connection?
          0|mm       | [13.07.2021 13:19.37.510] [ERROR] If you think this really is an is                                                                                                                                          sue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/iss                                                                                                                                          ues
          
          

          and I wonder why there is an error catching the newsfeed, as the stated feed is the one from the client, not the server:

          0|mm       | /home/pi/MagicMirror/node_modules/electron/dist/electron exited wit                                                                                                                                          h signal SIGINT
          0|mm       | [13.07.2021 19:59.53.918] [ERROR] Newsfeed Error. Could not fetch n                                                                                                                                          ewsfeed:  https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml FetchError:                                                                                                                                           request to https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml failed, rea                                                                                                                                          son: getaddrinfo EAI_AGAIN rss.nytimes.com
          0|mm       |     at ClientRequest.<anonymous> (/home/pi/MagicMirror/node_modules                                                                                                                                          /node-fetch/lib/index.js:1461:11)
          0|mm       |     at ClientRequest.emit (events.js:315:20)
          0|mm       |     at TLSSocket.socketErrorListener (_http_client.js:426:9)
          0|mm       |     at TLSSocket.emit (events.js:315:20)
          0|mm       |     at emitErrorNT (internal/streams/destroy.js:92:8)
          0|mm       |     at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
          0|mm       |     at processTicksAndRejections (internal/process/task_queues.js:8                                                                                                                                          4:21) {
          0|mm       |   type: 'system',
          0|mm       |   errno: 'EAI_AGAIN',
          0|mm       |   code: 'EAI_AGAIN'
          0|mm       | }
          0|mm       | [13.07.2021 19:59.56.921] [ERROR] Calendar Error. Could not fetch c                                                                                                                                          alendar:  http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics Fetch                                                                                                                                          Error: request to http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.i                                                                                                                                          cs failed, reason: getaddrinfo EAI_AGAIN www.calendarlabs.com
          0|mm       |     at ClientRequest.<anonymous> (/home/pi/MagicMirror/node_modules                                                                                                                                          /node-fetch/lib/index.js:1461:11)
          
          
          S karsten13K 2 Replies Last reply Reply Quote 0
          • S Offline
            sdetweil @codac
            last edited by

            @codac said in Client wont keep Modules up-to-date:

            EAI_AGAIN

            is a name server problem

            the api request could not resolve the name

            see this a lot with local pihole servers doing DNS filtering

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            1 Reply Last reply Reply Quote 0
            • karsten13K Offline
              karsten13 @codac
              last edited by

              @codac

              it seems as if there is a problem using the 127.0.0.1 address and port 8080:

              yes, port 8080 on your client is already in use.
              You can try another port in the client config.js but I don’t know if this works.

              I wonder why there is an error catching the newsfeed, as the stated feed is the one from the client, not the server:

              then remove this stuff from the client config …

              I’m not familiar with the clientonly setup and I think this is not used very often and therefore maybe contains some bugs.

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

                @karsten13 said in Client wont keep Modules up-to-date:

                I’m not familiar with the clientonly setup

                it just launches electron pointing at the server, same as u would do with chromium.

                doesn’t use the config.js

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                1 Reply Last reply Reply Quote 0
                • C Offline
                  codac
                  last edited by

                  I figured out that is was due to several reasons.

                  1. The reported error messages from the client side were old ones from the time when I set up the client and before I switched to clientonly mode. So they are supposed to be ignored.
                  2. The calendar module was able to receive the events from all calendars except for one calendar that runs on my NAS system where I forgot to add the port number to the calendar url.
                  3. the module MMM-Tankerkoenig is not up to date as there is an error message regarding the identifier that was not found. As far as I can see the code has an error and therefore the module wont update correctly.
                  4. the module MMM-Formula1 (wrongly called it MMM-SocerLiveScore) module has a ReloadInterval which was just wrongly set up and far to long.

                  @karsten13
                  In the Docker on the server side is there anything adequate to the command pm2 logs --lines 300 mm ?

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

                    @codac said in Client wont keep Modules up-to-date:

                    In the Docker on the server side is there anything adequate to the command pm2 logs --lines 300 mm ?

                    wouldnt you just

                     docker exec container_id pm2 logs.....
                    

                    to execute the command inside the container?

                    to clear the logs

                    docker exec container_id pm2 flush

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

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

                      @sdetweil

                      there is no pm2 in the container …

                      The command is docker logs <containername or id>, so if you use my docker-compose setup docker logs mm.

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

                        @karsten13 so I have to restart the container after making config changes?

                        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
                          codac @sdetweil
                          last edited by

                          @sdetweil yes, you should do that.

                          1 Reply Last reply Reply Quote 0
                          • C Offline
                            codac
                            last edited by

                            I have still not fixed this.

                            Servers IP: 192.168.0.23 (local Port 8036, container-port: 8080)

                            On the client I get the following error:

                            Unable to connect to server: (Error: Unable to read config from server (http://192.168.0.23:8036/config/ (connect ECONNREFUSED 192.168.0.23:8036)
                            

                            The servers config is set to:

                                    address: "0.0.0.0",
                            	port: 8080,
                            	basePath: "/", 	
                            	ipWhitelist: ['0.0.0.0/0', '127.0.0.1', '::ffff:127.0.0.1', '::1', '192.168.0.0/24', '172.17.0.0/24'], 
                            

                            Any ideas why the client wont get the servers config?

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

                              @codac first, remove the ipWhitelist , set to []

                              then try
                              .and the IP address used is the docker host IP address, right.

                              never use the containers direct address for any code not running ON the docker host machine

                              where is client running?

                              if mm rejected the connection due to whitelist you should have seen it in the mm messages

                              i see a message like this

                              Access denied to IP address: 192.168.2.106
                              

                              my config

                              	address: "192.168.2.106", 	// Address to listen on, can be:
                              							// - "localhost", "127.0.0.1", "::1" to listen on loopback interface
                              							// - another specific IPv4/6 to listen on a specific interface
                              							// - "0.0.0.0", "::" to listen on any interface
                              							// Default, when address config is left out or empty, is "localhost"
                              	port: 8090,
                              	basePath: "/", 	// The URL path where MagicMirror is hosted. If you are using a Reverse proxy
                              					// you must set the sub path here. basePath must end with a /
                              	ipWhitelist: ["127.0.0.1"], 
                              

                              Sam

                              How to add modules

                              learning how to use browser developers window for css changes

                              1 Reply Last reply Reply Quote 0
                              • karsten13K Offline
                                karsten13 @codac
                                last edited by

                                @codac

                                may you must open the additional port in the docker setup and add the line with 8036 (untested) in your docker-compose.yml:

                                    ports:
                                      - "8080:8080"
                                      - "8036:8036"
                                
                                S 1 Reply Last reply Reply Quote 0
                                • S Offline
                                  sdetweil @karsten13
                                  last edited by

                                  @karsten13 said in Client wont keep Modules up-to-date:

                                  ports:
                                    - "8080:8080"
                                    - "8036:8036"
                                  

                                  why wouldn’t

                                       ports:
                                             "8036:8080"
                                  

                                  be enough?

                                  Sam

                                  How to add modules

                                  learning how to use browser developers window for css changes

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

                                    @sdetweil think you are right …

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

                                      @karsten13 actually I think you were closer…

                                      I know a module that uses the port number in a url it presents…
                                      (MMM-Config in the QR code)

                                      8080 won’t work, but if the mapping was added

                                      so

                                           ports:
                                                 "8036:8080"
                                                 "8080:8080"
                                      

                                      would be needed

                                      and if u need to do that, then 8080 on the docker host needs to be used, so then no need for 8036

                                           ports:
                                                 "8080:8080"
                                      

                                      but can’t run two container instances

                                      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

                                        @sdetweil also, my MM uses 8090 not to collide with another app.

                                        Sam

                                        How to add modules

                                        learning how to use browser developers window for css changes

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

                                          @codac

                                          Servers IP: 192.168.0.23 (local Port 8036, container-port: 8080)

                                          if I read this correctly your setup is

                                          ports:
                                            - "8036:8080"
                                          

                                          So mm should be reachable under 192.168.0.23:8036.

                                          If not the client ip is may not white listed, I would try ipWhitelist: [], in the server config for testing.

                                          Another question: Is 192.168.0.23:8036 not reachable in general (e.g. in a browser) or only not reachable running the clientonly command?

                                          1 Reply Last reply Reply Quote 0
                                          • C Offline
                                            codac
                                            last edited by

                                            The client is a raspberry pi.
                                            192.168.0.23:8036 is reachable without problems.

                                            First try seems to work
                                            I’ve changed to:

                                            ipWhitelist: [],
                                            

                                            and

                                            ports: "8036:8080"
                                            

                                            I will check that and come back if there is still an issue.

                                            Thank you guys!

                                            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
                                            • 1 / 2
                                            • 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