Read the statement by Michael Teeuw here.
Calendar issue with 2.7.1
-
@sdetweil
Thanks for your comment.
First I changed the port as recommended in mm/config/config.js to 8081 and gave it a reboot.
After reboot and logon I checked the network connections by sudo netstat -lnptu:pi@raspberrypi:~ $ sudo netstat -lnptu Aktive Internetverbindungen (Nur Server) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:8081 0.0.0.0:* LISTEN 836/electron.js tcp6 0 0 :::21 :::* LISTEN 418/vsftpd tcp6 0 0 ::1:3350 :::* LISTEN 446/xrdp-sesman tcp6 0 0 :::3389 :::* LISTEN 461/xrdp udp 0 0 0.0.0.0:5353 0.0.0.0:* 318/avahi-daemon: r udp 0 0 0.0.0.0:68 0.0.0.0:* 348/dhcpcd udp 0 0 0.0.0.0:47216 0.0.0.0:* 318/avahi-daemon: r udp6 0 0 :::5353 :::* 318/avahi-daemon: r udp6 0 0 :::34261 :::* 318/avahi-daemon: r
I am surprised to see Electron already listening on port 8081, though I have not started the MagicMirror.
In the next step I launch Magic Mirror by calling: npm start &Unfortunately I see again a EADDRINUSE message (port 8081):
Server started ... Connecting socket for: updatenotification Connecting socket for: calendar Starting node helper for: calendar Connecting socket for: newsfeed Starting module: newsfeed Sockets connected & modules started ... Whoops! There was an uncaught exception... { Error: listen EADDRINUSE 127.0.0.1:8081 at Server.setupListenHandle [as _listen2] (net.js:1330:14) at listenInCluster (net.js:1378:12) at GetAddrInfoReqWrap.doListen [as callback] (net.js:1492:7) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:55:10) errno: 'EADDRINUSE', code: 'EADDRINUSE', syscall: 'listen', address: '127.0.0.1', port: 8081 } MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues Launching application.
While the mirror is running I execute again sudo netstat -lnptu and get:
pi@raspberrypi:~/MagicMirror $ sudo netstat -lnptu Aktive Internetverbindungen (Nur Server) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:8081 0.0.0.0:* LISTEN 888/electron.js tcp6 0 0 :::21 :::* LISTEN 435/vsftpd tcp6 0 0 ::1:3350 :::* LISTEN 450/xrdp-sesman tcp6 0 0 :::3389 :::* LISTEN 465/xrdp udp 0 0 0.0.0.0:42644 0.0.0.0:* 318/avahi-daemon: r udp 0 0 0.0.0.0:5353 0.0.0.0:* 318/avahi-daemon: r udp 0 0 0.0.0.0:68 0.0.0.0:* 354/dhcpcd udp6 0 0 :::42148 :::* 318/avahi-daemon: r udp6 0 0 :::5353 :::* 318/avahi-daemon: r
This is strange. The launch of the mirror npm start & tells me a multiple use of the port 8080 or 8081 (whatever it set in config.js) but netstat -lnptu does not know anything about a duplicate use.
As advised I also added below line right after if (event.type === “VEVENT”) { in ftp://192.168.178.36/home/pi/MagicMirror/modules/default/calendar/calendarfetcher.js
console.log("have event title="+event.summary);
Unfortunately the console outcome again is: “EADDRINUSE”
Initializing new module helper ... Module helper loaded: calendar Initializing new module helper ... Module helper loaded: newsfeed All module helpers loaded. Starting server on port 8081 ... Server started ... Connecting socket for: updatenotification Connecting socket for: calendar Starting node helper for: calendar Connecting socket for: newsfeed Starting module: newsfeed Sockets connected & modules started ... Whoops! There was an uncaught exception... { Error: listen EADDRINUSE 127.0.0.1:8081 at Server.setupListenHandle [as _listen2] (net.js:1330:14) at listenInCluster (net.js:1378:12) at GetAddrInfoReqWrap.doListen [as callback] (net.js:1492:7) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:55:10) errno: 'EADDRINUSE', code: 'EADDRINUSE', syscall: 'listen', address: '127.0.0.1', port: 8081 } MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues Launching application.
I feel a little bit lost … … …
-
@drfukc is mirror starting on boot with PM2?
go to console and do
pm2 list
is something, get its name and pm2 stop name -
Thanks for your advise. After launching the mirror I do a pm2 list with the following result:
pi@raspberrypi:~/MagicMirror $ pm2 list +-------------------------------------------------------+ ¦ Name ¦ id ¦ mode ¦ status ¦ ? ¦ cpu ¦ memory ¦ +-------------+----+------+--------+---+-----+----------¦ ¦ MagicMirror ¦ 0 ¦ fork ¦ online ¦ 0 ¦ 0% ¦ 2.5 MB ¦ +-------------------------------------------------------+ Use `pm2 show <id|name>` to get more details about an app
With this information I stop the MagicMirror by the following command: pm2 stop 0
pi@raspberrypi:~ $ pm2 stop 0 [PM2] Applying action stopProcessId on app [0](ids: 0) [PM2] [MagicMirror](0) ? +------------------------------------------------------+ ¦ Name ¦ id ¦ mode ¦ status ¦ ? ¦ cpu ¦ memory ¦ +-------------+----+------+---------+---+-----+--------¦ ¦ MagicMirror ¦ 0 ¦ fork ¦ stopped ¦ 0 ¦ 0% ¦ 0 B ¦ +------------------------------------------------------+ Use `pm2 show <id|name>` to get more details about an app
By surprise the running MagicMirror survives and I kill the Electron instance with kill
After the MagicMirror instance is terminated I relaunch MagicMirror again with npm start &
The funny thing is that the naughty EADDRINUSE message is gone by now, but the calendar is still not working:pi@raspberrypi:~/MagicMirror $ npm start & [2] 1279 [1] Fertig npm start pi@raspberrypi:~/MagicMirror $ > magicmirror@2.7.1 start /home/pi/MagicMirror > sh run-start.sh Starting MagicMirror: v2.7.1 Loading config ... Loading module helpers ... No helper found for module: alert. Initializing new module helper ... Module helper loaded: updatenotification No helper found for module: clock. Initializing new module helper ... Module helper loaded: calendar Initializing new module helper ... Module helper loaded: newsfeed All module helpers loaded. Starting server on port 8081 ... Server started ... Connecting socket for: updatenotification Connecting socket for: calendar Starting node helper for: calendar Connecting socket for: newsfeed Starting module: newsfeed Sockets connected & modules started ... Launching application. Create new calendar fetcher for url: http://www.calendarlabs.com/templates/ical/US-Holidays.ics - Interval: 300000 Create new news fetcher for url: http://www.tagesschau.de/xml/rss2 - Interval: 300000
OK, as said above I have relaunched the mirror by npm start & and try to evaluate what is going on with pm2 list:
pi@raspberrypi:~ $ pm2 list +------------------------------------------------------+ ¦ Name ¦ id ¦ mode ¦ status ¦ ? ¦ cpu ¦ memory ¦ +-------------+----+------+---------+---+-----+--------¦ ¦ MagicMirror ¦ 0 ¦ fork ¦ stopped ¦ 0 ¦ 0% ¦ 0 B ¦ +------------------------------------------------------+ Use `pm2 show <id|name>` to get more details about an app
It’s funny, pm2 list tells me that the Mirror has stopped, while it is still running, but I still do not recieve any Calendar updates.
What is wrong here? -
@drfukc that calendar,
url: "webcal://www.calendarlabs.com/templates/ical/US-Holidays.ics"
is thru 2018…
this one contains thru 2019
url: "webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics"
-
@sdetweil
Thanks a lot, - this helped :-) , it is so much easier if things are done right straight from the beginning :-DIn addition I also found the root cause for above reported “EADDRINUSE” error.
Simple again: I have enabled MagicMirror autostart in /home/pi/MagicMirror/installers/mm.sh, but don’t see it since I use a Remote Desktop connection (RDP) that gives me a different X-Window in comparison to the native Raspberry desktop.
Now launching Magic Mirror a second time on a different desktop and the same port causes the issue.
Since I disabled MM autostart Magic Mirror boots up without these errors.
Maybe I should get back from XRDP and switch to the preinstalled VNC to avoid having multiple desktops.Again, thanks a lot for your support :-)
-
@drfukc I ssh to my mirrors… one autostarts, one does not…