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.3k 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.
    • 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