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.
- introducing the replacePortPart option which is needed to use encrypted connections. The api returns the cam stream with the http port even if the information is fetched with via https. If this option is enabled the port will be replaced with the one configured for the diskstation.
- fixed wrong output of the urls in the logs
- 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)
- 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)
- 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
- 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
- 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
- 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
- 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.
- 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
- 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