Read the statement by Michael Teeuw here.
Client wont keep Modules up-to-date
-
I’m running @karsten13 Docker on my Synology NAS, which runs smooth and nicely.
As I have configured my MagicMirror to work as client/server, the client runs on a Raspberry Pi feeding the Mirror itself.I have figured out that the client wont show the most current data of the modules. It is not frozen, the time is running and other modules like “MMM-DWD-WarnWeather” or “MMM-Traffic” are always up-to-date.
But the default calendar module as well as the “MMM-SoccerLiveScore” module are always outdated.How can that be and what can I do to find the root cause?
-
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)?
-
@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
-
@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)
-
@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
-
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 clientconfig.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.
-
@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
-
I figured out that is was due to several reasons.
- 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.
- 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.
- 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.
- 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 ? -
@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
-
there is no pm2 in the container …
The command is
docker logs <containername or id>
, so if you use my docker-compose setupdocker logs mm
.