Read the statement by Michael Teeuw here.
MMM-SynologySurveillance
-
Description:
This module querys the mjpeg streams of cams connected to Synology Diskstations with the syno api and displays the cams in an column based grid.
One cam can be displayed in a bigger view. This cam can either be changed by notification or click/touch.I use the mjpeg streams because i do not need any other tools to render/display them. The quality is not that good as with RTSP streams but for need the quality is good enough.
Download:
MMM-SynologySurveillance
[card:Tom-Hirschberger/MMM-SynologySurveillance]Screenshots
Vertical
Horizontal
Version 0.2.5
- fixed not working alias for mjpeg cams
- if a mjpeg cam is configured with a alias but without a name the alias is used as name now
- updated the mjpeg example in the readme to use name instead of alias
Version 0.2.4
- fixed the replacement of the host and port parts in the URLs
- if debug is enabled the clean URLs of the cams will be logged now. They can be directly entered to a browser to check the validity
Version 0.2.3
- fixed the module being crashed cause of the changes in 0.2.2
- fixed the wrong camera being displayed in big profiles had been visited in the meantime where the whole module was hidden
- introducing a new option
moduleIsDisplayedInEveryProfile
which needs to be set totrue
if MMM-ProfileSwitcher is used but the module is set to the ignore list and is displayed on all profiles
Version 0.2.2
- fixed current big camera and displayed cameras did not match the current used profile in some rare cases
Version 0.2.1
- increased the compatibility to older DSM versions. The paths of the web apis now will be queried with api versions instead of using a fixed one.
- if the debug flag is set to true the MySynoSSClient prints more information, too.
Version 0.2.0
- instead of the
syno
library a custom implementation is used now. The custom implementation is compatible with newer releases of Surveillance Station (> 9.1) now - support of the
skipOnPrivilegeError
config option is dropped with the new implementation. If configured it will be ignored now. - cause the new implementation is able to fetch all information at once the refreshes of the gui could been reduced. Now all information of all DiskStations is fetched and the gui is refreshed once.
- introducing a new config option
changedPositionAnimationSpeed
with this release. If the position of one cam changes and the gui needs to be refreshed this animation speed is used instead of the “usual” one. The option is set to 0 as default to reduce flickering. - if a position update fails for a cam the position indicator will now be reset to the previous position
- reduced the console output of the module but introducing the
debug
config option to re-enable more output
Version 0.1.4
- introducing the new option
imgDecodeCheckInterval
which can either be set for all or for single cams. If the option is set to a value higher than 0 the module periodically (unit is seconds) checks if the displayed cam image is still decodeable. If not the URL gets reset and a refresh of all URLs is triggered. This is to avoid freezed cam images. - introducing
minimumTimeBetweenRefreshs
which prevents to refresh the URLs to often (i.e. cause of the newimgDecodeCheckInterval
). The unit is milliseconds! - the module now tries to restore the old big cam setting if profiles get changed. So the last selected cam is displayed in big before the profile changed. To disable the new feature the new config option
restoreBigAfterProfileChange
can be set tofalse
. - fixed all issues reported by the new automatic module scanning script developed by @KristjanESPERANTO
Version 0.1.3
- fixed a rare issue which caused position changes to not work with some nodejs versions (i.e. 16.3.1)
Version 0.1.2
- fixed host part not being replaced properly
Version 0.1.1
- Did a total refactoring of the code that creates the HTML elements
- Did a refactoring of the code that fetches the URLs of the cameras from the NAS to increase the error handling
- Added a option to add a timestamp to MJPEG URLs to avoid caching issues
- Added the possibility to invalidate the cam URLs with a notification to force a refresh
- Fixed
animationSpeed
being ignored if module is shown after it was hidden - Fixed
profiles
not working properly in all cases
Version 0.1.0
- It is now possible to display any mjpeg stream by adding dummy diskstations with cams that have a url configured
Version 0.10.0
- introducing the replacePortPart option which is need to use encrypted connections (https). The api returns the http port even if the information is fetched via an encrypted connection.
Version 0.0.9
- fixed timestamps being added to cam urls although the option disabled in the configuration
- fixed timestamps only being added to the big cam in vertical view. Now the timestamps get added to all cam urls (if the option is enabled)
Version 0.0.8
- Catching errors of the Synology API in more scenarios now and keep the old url in these cases
- added an option to force a update of the dom objects of this module if it gets shown after it was hidden (to avoid caching issues with the new electron version of MagicMirror 2.18 and above)
- added an option to add an timestamp to the cam urls (to avoid caching issues with the new electron version of MagicMirror 2.18 and above)
- added an option to specify the apiVersion in the configuration (only the versions supported by syno library can be used)
Version 0.0.7
- the Synology Diskstations throw privilege errors randomly; this is a known bug and caused some cams to disappear although an valid url had been provided at the last refresh; the default behavior now is to ignore this errors and keep the last url or position information; this can be changed with an new config option (skipOnPrivilegeError)
- if an error occurs during the fetch of the position information of a camera the cam will be displayed without the information; next time the information is provided it will be updated
Version 0.0.6
- fixed an issue which caused position (ptz) changes to not work correctly if the internal position index differed to the ones used in the SynologyStation (i.e. because stations got deleted)
- the view now only will be refreshed if either the cam stream or the ptz information changed after a fetch
- it is now possible to force a refresh of the cam information by clicking on the dummy icon if no information had been provided previously
- the PTZ information now only will be fetched if either showPositions or showBigPositions is active
Version 0.0.5
- fixed cam streams not updating after connection is to ds or cam is lost
- fixed update issues of cam positions
- fixed styles issues if cams with and without positions are mixed
Version 0.0.4
- it is now possible to move the cam to positions stored in the ds either by notification or by click/touch
- the positions can be displayed as squares either only for the big and/or for the small cams
- if next or prev position notification is called without specifying a cam the big one is used automatically
Version 0.0.3
- fixed a bug which caused wrong media URLs if multiple Diskstations are used
- it is now possible to replace the protocol and host part of the media URLs (http://XXX.XXX.XXX.XXX) with the values configured. The Diskstation returns private IPs although the access is through a public IP otherwise.
Version 0.0.2
- Layouting is now organized with flex box layout instead of tables
- Added two layouts (horizontal, vertical) which can be choosen by configuration
- Column count of vertical layout now needs to be configured via css
Version 0.0.1
- query the urls of cams of Synology Diskstations with the syno api
- display the cams in an grid based on columns
- show one cam in a bigger view
- change the bigger view cam by notification or click/touch
- display different cams in different profiles
-
Hi, I installed this model recently and all I see is a grey square with a little camera in it. How can I fix this?
-
@digied Hi,
the gray square with camera symbol indicates that the module was not able to fetch the url from the nas.
Make sure that the user you are using has permission to access for the Survalliance Station application.
Does the log show any output? -
@wishmaster270 This is my config:
{ module: "MMM-SynologySurveillance", position: "top_left", config: { showOneBig: true, addBigToNormal: false, showCamName: false, showBigCamName: false, showUnreachableCams: true, showPositions: true, showBigPositions: true, vertical: true, ds: [ { protocol: "https", host: "192.168.2.26", port: "5000", user: "ewalstra", password: "*********", replaceHostPart: true, cams: [ { alias: "Voordeur", name: "Generic_ONVIF-001", } ] }, ], }, },
I can’t see where to put in the URL?
-
@wishmaster270 It does:
[02.01.2023 12:01.50.428] [ERROR] Whoops! There was an uncaught exception…
[02.01.2023 12:01.50.430] [ERROR] TypeError: Cannot read properties of undefined (reading ‘listCameras’)
at Class.getStreamUrls (/home/pi/MagicMirror/modules/MMM-SynologySurveillance/node_helper.js:76:17)
at Class.socketNotificationReceived (/home/pi/MagicMirror/modules/MMM-SynologySurveillance/node_helper.js:384:12)
at Socket. (/home/pi/MagicMirror/js/node_helper.js:108:11)
at Socket.emit (node:events:513:28)
at Socket.emitUntyped (/home/pi/MagicMirror/node_modules/socket.io/dist/typed-events.js:69:22)
at /home/pi/MagicMirror/node_modules/socket.io/dist/socket.js:614:39
at process.processTicksAndRejections (node:internal/process/task_queues:78:11) -
@digied Hi,
that’s definitely a error that should not happen. I will check this tomorrow.You can not add the url directly. It will be fetched from the NAS.
But I am pretty sure that either your port or protocol setting is wrong. The default protocol is
http
with port5000
. If you access the NAS with protocolhttps
it is port5001
usually.Can you please try the following config:
{ module: "MMM-SynologySurveillance", position: "top_left", config: { showOneBig: true, addBigToNormal: false, showCamName: false, showBigCamName: false, showUnreachableCams: true, showPositions: true, showBigPositions: true, vertical: true, ds: [ { protocol: "http", host: "192.168.2.26", port: "5000", user: "ewalstra", password: "*********", replaceHostPart: true, cams: [ { alias: "Voordeur", name: "Generic_ONVIF-001", } ] }, ], }, },
Edit: I released a new version of the module is was working on the last weeks which improves the error handling. Please use the new version to avoid already fixed problems. I also added more examples to the README to make things about the protocols and ports clearer.
-
@wishmaster270 I’m sorry, still no luck. These are the logs:
pi@raspberrypi:~/.pm2/logs $ tail mm-error.log [08.01.2023 11:34.06.023] [ERROR] TypeError: Cannot read properties of undefined (reading 'listCameras') at Class.getStreamUrls (/home/pi/MagicMirror/modules/MMM-SynologySurveillance/node_helper.js:72:19) at Class.socketNotificationReceived (/home/pi/MagicMirror/modules/MMM-SynologySurveillance/node_helper.js:327:12) at Socket.<anonymous> (/home/pi/MagicMirror/js/node_helper.js:108:11) at Socket.emit (node:events:513:28) at Socket.emitUntyped (/home/pi/MagicMirror/node_modules/socket.io/dist/typed-events.js:69:22) at /home/pi/MagicMirror/node_modules/socket.io/dist/socket.js:614:39 at process.processTicksAndRejections (node:internal/process/task_queues:78:11) [08.01.2023 11:34.06.024] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? [08.01.2023 11:34.06.024] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues pi@raspberrypi:~/.pm2/logs $ tail mm-out.log [08.01.2023 11:31.06.012] [LOG] MMM-SynologySurveillance: Updating information of DS with idx: 0 and protocol http [08.01.2023 11:32.06.009] [LOG] MMM-SynologySurveillance: Received notification REFRESH_URLS [08.01.2023 11:32.06.010] [LOG] MMM-SynologySurveillance: Refreshing the urls! [08.01.2023 11:32.06.011] [LOG] MMM-SynologySurveillance: Updating information of DS with idx: 0 and protocol http [08.01.2023 11:33.06.011] [LOG] MMM-SynologySurveillance: Received notification REFRESH_URLS [08.01.2023 11:33.06.013] [LOG] MMM-SynologySurveillance: Refreshing the urls! [08.01.2023 11:33.06.013] [LOG] MMM-SynologySurveillance: Updating information of DS with idx: 0 and protocol http [08.01.2023 11:34.06.013] [LOG] MMM-SynologySurveillance: Received notification REFRESH_URLS [08.01.2023 11:34.06.016] [LOG] MMM-SynologySurveillance: Refreshing the urls! [08.01.2023 11:34.06.017] [LOG] MMM-SynologySurveillance: Updating information of DS with idx: 0 and protocol http
And this is the config:
{ module: "MMM-SynologySurveillance", position: "top_left", config: { showOneBig: true, addBigToNormal: false, showCamName: false, showBigCamName: false, showUnreachableCams: true, showPositions: true, showBigPositions: true, vertical: true, ds: [ { protocol: "http", host: "192.168.2.26", port: "5000", user: "ewalstra", password: "********", replaceHostPart: true, cams: [ { alias: "Voordeur", name: "Generic_ONVIF-001", } ] }, ], }, },
-
@digied
I tried to reproduce the error you are get with your config but it does not appear in all these cases:- forgot to install
npm install
- user does not exist
- user does exist but does not have the permissions
- host is wrong and does not exist
- host is a different host which does exist
What version of the module are you using? You can find the version in the package.json file.
What version of MagicMirror are you using?
How did you install the module?
What version of Synology DSM are you using?
What version of Synology Surveillance are you using?
Are there any errors in the Logs before this errors which may are related? - forgot to install
-
What version of the module are you using? You can find the version in the package.json file.
It is:
“name”: “MMM-SynologySurveillance”,
“version”: “0.1.1”,
“description”: “”,
“main”: “MMM-SynologySurveillance.js”,
“dependencies”: {
“syno”: “^1.0.0”What version of MagicMirror are you using?
“name”: “magicmirror”,
“version”: “2.22.0”,How did you install the module?
Just following instructions:
cd ~/MagicMirror/modules
git clone https://github.com/Tom-Hirschberger/MMM-SynologySurveillance.git
cd MMM-SynologySurveillance
npm install. this one I had to do using sudo npm installWhat version of Synology DSM are you using?
7.1.1-42962 update 2
It is a DS218What version of Synology Surveillance are you using?
9.0.2-10061This is the log for npm start run:
pi@raspberrypi:~/MagicMirror/config $ npm start runmagicmirror@2.22.0 start
DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js run[15.01.2023 10:41.20.823] [LOG] Starting MagicMirror: v2.22.0
[15.01.2023 10:41.20.831] [LOG] Loading config …
[15.01.2023 10:41.20.838] [LOG] Loading module helpers …
[15.01.2023 10:41.20.840] [LOG] No helper found for module: alert.
[15.01.2023 10:41.20.859] [LOG] Initializing new module helper …
[15.01.2023 10:41.20.860] [LOG] Module helper loaded: updatenotification
[15.01.2023 10:41.20.862] [LOG] No helper found for module: clock.
[15.01.2023 10:41.20.863] [LOG] No helper found for module: MMM-connection-status.
[15.01.2023 10:41.21.281] [LOG] Initializing new module helper …
[15.01.2023 10:41.21.283] [LOG] Module helper loaded: MMM-SynologySurveillance
[15.01.2023 10:41.21.535] [LOG] Initializing new module helper …
[15.01.2023 10:41.21.537] [LOG] Module helper loaded: calendar
[15.01.2023 10:41.21.618] [LOG] Initializing new module helper …
[15.01.2023 10:41.21.620] [LOG] Module helper loaded: MMM-Formula1
[15.01.2023 10:41.21.622] [LOG] No helper found for module: weather.
[15.01.2023 10:41.21.623] [LOG] No helper found for module: MMM-Buienradar.
[15.01.2023 10:41.21.948] [LOG] Initializing new module helper …
[15.01.2023 10:41.21.949] [LOG] Module helper loaded: MMM-SolarEdgeLite
[15.01.2023 10:41.22.301] [LOG] Initializing new module helper …
[15.01.2023 10:41.22.302] [LOG] Module helper loaded: MMM-SystemStats
[15.01.2023 10:41.22.326] [LOG] Initializing new module helper …
[15.01.2023 10:41.22.326] [LOG] Module helper loaded: newsfeed
[15.01.2023 10:41.22.327] [LOG] All module helpers loaded.
[15.01.2023 10:41.22.435] [LOG] Starting server on port 8080 …
[15.01.2023 10:41.22.677] [LOG] Server started …
[15.01.2023 10:41.22.679] [LOG] Connecting socket for: updatenotification
[15.01.2023 10:41.22.679] [LOG] Starting module helper: updatenotification
[15.01.2023 10:41.22.680] [LOG] Connecting socket for: MMM-SynologySurveillance
[15.01.2023 10:41.22.682] [LOG] Connecting socket for: calendar
[15.01.2023 10:41.22.683] [LOG] Starting node helper for: calendar
[15.01.2023 10:41.22.684] [LOG] Connecting socket for: MMM-Formula1
[15.01.2023 10:41.22.685] [LOG] Starting module: MMM-Formula1
[15.01.2023 10:41.22.685] [LOG] Connecting socket for: MMM-SolarEdgeLite
[15.01.2023 10:41.22.686] [LOG] Starting module helper: MMM-SolarEdgeLite
[15.01.2023 10:41.22.686] [LOG] Connecting socket for: MMM-SystemStats
[15.01.2023 10:41.22.687] [LOG] Connecting socket for: newsfeed
[15.01.2023 10:41.22.688] [LOG] Starting node helper for: newsfeed
[15.01.2023 10:41.22.689] [LOG] Sockets connected & modules started …
[15.01.2023 10:41.22.714] [LOG] Launching application.
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to open kms_swrast: /usr/lib/dri/kms_swrast_dri.so: kan gedeeld objectbestand niet openen: Toegang geweigerd (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)
failed to load driver: kms_swrast
MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: kan gedeeld objectbestand niet openen: Toegang geweigerd (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)
failed to load swrast driver
[15.01.2023 10:41.26.401] [LOG] MMM-SynologySurveillance: Received notification CONFIG
[15.01.2023 10:41.26.402] [LOG] MMM-SynologySurveillance: Received notification INIT_DS
[15.01.2023 10:41.26.405] [LOG] MMM-SynologySurveillance: Updating information of DS with idx: 0 and protocol https
[15.01.2023 10:41.26.410] [ERROR] Whoops! There was an uncaught exception…
[15.01.2023 10:41.26.418] [ERROR] TypeError: Cannot read properties of undefined (reading ‘listCameras’)
at Class.getStreamUrls (/home/pi/MagicMirror/modules/MMM-SynologySurveillance/node_helper.js:72:19)
at Class.socketNotificationReceived (/home/pi/MagicMirror/modules/MMM-SynologySurveillance/node_helper.js:324:12)
at Socket. (/home/pi/MagicMirror/js/node_helper.js:108:11)
at Socket.emit (node:events:513:28)
at Socket.emitUntyped (/home/pi/MagicMirror/node_modules/socket.io/dist/typed-events.js:69:22)
at /home/pi/MagicMirror/node_modules/socket.io/dist/socket.js:614:39
at process.processTicksAndRejections (node:internal/process/task_queues:78:11)
[15.01.2023 10:41.26.420] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
[15.01.2023 10:41.26.421] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
[15.01.2023 10:41.26.476] [LOG] Create new calendarfetcher for url: https://calendar.google.com/calendar/ical/nl.dutch%23holiday%40group.v.calendar.google.com/public/basic.ics - Interval: 300000
[15.01.2023 10:41.26.544] [LOG] Create new calendarfetcher for url: http://p103-caldav.icloud.com/published/2/Njc3ODUzOTEzNjc3ODUzOQyRiARRL2CkxgtBVQDZXfBmcEh4jRSjf1NpTv-kmUkeab9A4t6LtTrrc3BUTsPoy9oS4yCg4f5Rnt5FlMRu6Oo - Interval: 300000
[15.01.2023 10:41.26.574] [LOG] Create new calendarfetcher for url: http://p62-caldav.icloud.com/published/2/MzE2ODIwNDE4MzE2ODIwNJD9RGBryCg63_2az9y7tWOTHmUDf_W0Y3YkBa1tdgnP7AW7ihN1TLzhWzBnHSok2S9kxwdK6IkOT1I55L8cvuE - Interval: 300000
[15.01.2023 10:41.26.579] [LOG] Create new calendarfetcher for url: http://racingnews365.nl/ics/download/calendar-formula-2022.ics?all - Interval: 300000
[15.01.2023 10:41.26.583] [LOG] Create new calendarfetcher for url: https://wasteapi.ximmio.com/api/CallIcal?cn=Gemeente Almere&x=53d8db94-7945-42fd-9742-9bbc71dbe4c1&ty=null&ua=65222&sd=2021-12-21&ed=2025-01-09&path=https://wasteapi.ximmio.com&ln=nl&nt=1130 - Interval: 300000
[15.01.2023 10:41.26.743] [LOG] Create new newsfetcher for url: http://feeds.nos.nl/nosnieuws - Interval: 300000
[15.01.2023 10:41.26.748] [LOG] Create new newsfetcher for url: https://nl.motorsport.com/rss/f1/news/ - Interval: 300000
[15.01.2023 10:41.26.752] [LOG] MMM-Formula1 received a notification: CONFIG
[15.01.2023 10:41.26.772] [LOG] MMM-Formula1 is fetching the race schedule for the current season
[15.01.2023 10:41.26.797] [LOG] MMM-Formula1 is fetching DRIVER standings for the current season
[15.01.2023 10:41.26.802] [INFO] Checking git for module: MMM-connection-status
[15.01.2023 10:41.26.855] [INFO] Checking git for module: MMM-SynologySurveillance
[15.01.2023 10:41.26.918] [INFO] Checking git for module: MMM-Formula1
[15.01.2023 10:41.27.030] [INFO] Checking git for module: MMM-Buienradar
[15.01.2023 10:41.27.139] [LOG] MMM-Formula1 is returning DRIVER standings for the current season
[15.01.2023 10:41.27.154] [INFO] Checking git for module: MMM-SolarEdgeLite
[15.01.2023 10:41.27.215] [INFO] Newsfeed-Fetcher: reloadInterval set to ttl=6000000 for url https://nl.motorsport.com/rss/f1/news/
[15.01.2023 10:41.27.289] [INFO] Checking git for module: MMM-SystemStats
[15.01.2023 10:41.27.556] [INFO] Checking git for module: default
[15.01.2023 10:41.28.370] [INFO] Calendar-Fetcher: Broadcasting 0 events.
[15.01.2023 10:41.28.463] [INFO] Newsfeed-Fetcher: Broadcasting 50 items.
[15.01.2023 10:41.28.820] [INFO] Calendar-Fetcher: Broadcasting 26 events.
[15.01.2023 10:41.28.947] [INFO] Newsfeed-Fetcher: Broadcasting 20 items.
[15.01.2023 10:41.29.181] [INFO] Calendar-Fetcher: Broadcasting 32 events.
[15.01.2023 10:41.29.350] [INFO] Calendar-Fetcher: Broadcasting 18 events.
[15.01.2023 10:41.30.356] [ERROR] Moment Timezone has no data for GMT+0200. See http://momentjs.com/timezone/docs/#/data-loading/.
[15.01.2023 10:41.30.359] [ERROR] Moment Timezone has no data for GMT+0200. See http://momentjs.com/timezone/docs/#/data-loading/.
[15.01.2023 10:41.30.362] [ERROR] Moment Timezone has no data for GMT+0200. See http://momentjs.com/timezone/docs/#/data-loading/.
[15.01.2023 10:41.30.390] [INFO] Calendar-Fetcher: Broadcasting 10 events.
[512768:0115/104146.877630:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
[512768:0115/104205.526070:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times!
[512768:0115/104223.429194:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times!
[15.01.2023 10:42.25.641] [LOG] MMM-SynologySurveillance: Received notification REFRESH_URLS
[15.01.2023 10:42.25.642] [LOG] MMM-SynologySurveillance: Refreshing the urls!
[15.01.2023 10:42.25.642] [LOG] MMM-SynologySurveillance: Updating information of DS with idx: 0 and protocol https
[15.01.2023 10:42.25.644] [ERROR] Whoops! There was an uncaught exception…
[15.01.2023 10:42.25.645] [ERROR] TypeError: Cannot read properties of undefined (reading ‘listCameras’)
at Class.getStreamUrls (/home/pi/MagicMirror/modules/MMM-SynologySurveillance/node_helper.js:72:19)
at Class.socketNotificationReceived (/home/pi/MagicMirror/modules/MMM-SynologySurveillance/node_helper.js:327:12)
at Socket. (/home/pi/MagicMirror/js/node_helper.js:108:11)
at Socket.emit (node:events:513:28)
at Socket.emitUntyped (/home/pi/MagicMirror/node_modules/socket.io/dist/typed-events.js:69:22)
at /home/pi/MagicMirror/node_modules/socket.io/dist/socket.js:614:39
at process.processTicksAndRejections (node:internal/process/task_queues:78:11)
[15.01.2023 10:42.25.645] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
[15.01.2023 10:42.25.646] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
[15.01.2023 10:43.25.645] [LOG] MMM-SynologySurveillance: Received notification REFRESH_URLS
[15.01.2023 10:43.25.646] [LOG] MMM-SynologySurveillance: Refreshing the urls!
[15.01.2023 10:43.25.646] [LOG] MMM-SynologySurveillance: Updating information of DS with idx: 0 and protocol https
[15.01.2023 10:43.25.650] [ERROR] Whoops! There was an uncaught exception…
[15.01.2023 10:43.25.652] [ERROR] TypeError: Cannot read properties of undefined (reading ‘listCameras’)
at Class.getStreamUrls (/home/pi/MagicMirror/modules/MMM-SynologySurveillance/node_helper.js:72:19)
at Class.socketNotificationReceived (/home/pi/MagicMirror/modules/MMM-SynologySurveillance/node_helper.js:327:12)
at Socket. (/home/pi/MagicMirror/js/node_helper.js:108:11)
at Socket.emit (node:events:513:28)
at Socket.emitUntyped (/home/pi/MagicMirror/node_modules/socket.io/dist/typed-events.js:69:22)
at /home/pi/MagicMirror/node_modules/socket.io/dist/socket.js:614:39
at process.processTicksAndRejections (node:internal/process/task_queues:78:11)
[15.01.2023 10:43.25.653] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
[15.01.2023 10:43.25.653] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
[ -
@digied
There two things i do not understand…- Did you modify your package.json? The original one of the module contains “syno”: “latest” as a dependency. Which will install version 2.2.0 currently. But the part of your package.json contains “syno”: “^1.0.0” which will install the latest 1.x version. I did not use any 1.X version in my module and do not know if the surveillance part did already exist in this old version. Please use the original version of the package.json. No need to make any changes to it.
- Why did you need to use
sudo
fornpm install
? Only files in the module folder get modified bynpm install
of this module. There is no need to usesudo
in a regular installation. Installing things withsudo
may break things and it is not sure that the version ofnpm
of the current user is used. Please do not usesudo
fornpm install
. And never install withnpm -g
global option.