A module to connect a Dreambox or a Enigma2 Receiver (like VU or VU+) to MagicMirror. You can select services of your dreambox and stream them via omxplayer. The module shows some further informations like:
- model of your dreambox
- which service is tuned right now / are there active timer
- epg for the services with its starting time
- stream recordings
omxplayer: Omxplayer is normally already installed on raspbian. You can check it by commmanline which omxplayer
. The result should be a path like /usr/bin/omxplayer
.
MPG2 Codec: On my Dreambox (dm800se) for streaming HD stations the mpg2 codec was necessary. You can check this by commandline vcgencmd codec_enabled MPG2
. The result can either be MPG2=enabled
or MPG2=disabled
. If case "disabled" and if you want to stream mpg2 you have to buy a codec on http://www.raspberrypi.com/mpeg-2-license-key/.
MMM-Remote-Control: MMM-Remote-Control is required, if you want to use the sample links for communication, as mentioned at the end of this file.
Enigma2 Receiver (Dreambox / VU+):
- Make sure in settings (Extensions -> Webinterface) the value
Enable HTTP Authentication
is set tono
, otherwise you will get the error401 Unauthorized
. - Make sure your receiver is switched
on
,standby
anddeep standby
wont work, as the webinterface is down in this modes.
Clone this repository in your ~/MagicMirror/modules/
folder ( $ cd ~/MagicMirror/modules/ )
:
git clone https://github.com/Ax-LED/MMM-Dreambox
change to directory MMM-Dreambox
cd MMM-Dreambox
run npm install
npm install
To use this module, add it to the modules array in the config/config.js
file:
Minimum Configuration:
{
module: 'MMM-Dreambox',
header: 'Dreambox',
position: 'top_left',
config: {
apiBase: 'http://Ipofyourdreambox:port',
omxargs: ' --win 320,180,1600,900 -o both ',
refreshInterval: 1000 * 30, //refresh every 30 seconds
apibouquet: 0, //bouquet, if there is more than one under apiservices (/web/getallservices)
apiRecordingsID: 0, //which recording folder should be listed
listmax: 10
}
},
Advanced Configuration:
{
module: 'MMM-Dreambox',
header: 'Dreambox',
position: 'top_left',
config: {
apiBase: 'http://Ipofyourdreambox:port',
omxargs: ' --win 320,180,1600,900 -o both ',
refreshInterval: 1000 * 30, //refresh every 30 seconds
apibouquet: 0, //bouquet, if there is more than one under apiservices (/web/getallservices),
apiRecordingsID: 0, //which recording folder should be listed
listmax: 10,
apiabout: '/web/about',
apiservices: '/web/getallservices',
apiepgnow: '/web/epgnow?bRef=',
apizap: '/web/zap?sRef=',
apiTimerlist: '/web/timerlist',
apiServicelistplayable: '/web/servicelistplayable?sRef=',
apiLocations: '/web/getlocations', //where are the recording folders listed
apiMovielist: '/web/movielist?dirname=' //link for opening recording folder and list recordings
}
},
The following properties can be configured:
Option | Description |
---|---|
apiBase |
URL and port of your Dreambox or Enigma2 Receiver. |
omxargs |
Arguments for the omxplayer, like ' --win 320,180,1600,900 -o both ' . Attention, leading and last blanks are required. |
refreshInterval |
How often should the datas be refreshed. |
apibouquet |
Optional: Bouquet, if there is more than one more bouquet under apiservices (/web/getallservices). Important apiepgnow and apiServicelistplayable have to match to the selected bouquet.Default value: 0
|
apiRecordingsID |
Optional: Index of folder for recordings. Can be checked under apiservices (/web/getlocations). Default value: 0
|
listmax |
How many entries of your services should be listed. If your reach the first or the last entry, it will loop through your services or recordings. |
apiabout |
Additional string to apiBase pointing to the xml file of your Dreambox where some about datas can be found. Test if [http://Ipofyourdreambox:port/web/about] shows xml datas in a browser within the same network of your Dreambox.Default value: '/web/about' |
apiservices |
Additional string to apiBase pointing to the xml file of your Dreambox where some getallservices datas can be found. Test if [http://Ipofyourdreambox:port/web/getallservices] shows xml datas in a browser within the same network of your Dreambox.Default value: '/web/getallservices' |
apiepgnow |
Additional string to apiBase pointing to the xml file of your Dreambox where some epgnow datas can be found. Test if [http://Ipofyourdreambox:port/web/epgnow?bRef=1%3A7%3A1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3AFROM%20BOUQUET%20%22userbouquet.favourites.tv%22%20ORDER%20BY%20bouquet] shows xml datas in a browser within the same network of your Dreambox. Everything behind bRef= depends on your individual Dreambox settings and will be completed by 'apibouquet .Default value: '/web/epgnow?bRef=' |
apizap |
Additional string to apiBase pointing to the xml file of your Dreambox where some Zap datas can be send. Test if [http://Ipofyourdreambox:port/web/zap?sRef=[Servicename]] shows xml datas in a browser within the same network of your Dreambox.Default value: '/web/zap?sRef=' |
apiTimerlist |
Additional string to apiBase pointing to the xml file of your Dreambox where some Timer datas can be found. Test if [http://Ipofyourdreambox:port/web/timerlist] shows xml datas in a browser within the same network of your Dreambox.Default value: '/web/timerlist' |
apiServicelistplayable |
Additional string to apiBase pointing to the xml file of your Dreambox where some Servicelistplayable datas can be found. Test if [http://Ipofyourdreambox:port/web/servicelistplayable?sRef=1%3A7%3A1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3AFROM%20BOUQUET%20%22userbouquet.favourites.tv%22%20ORDER%20BY%20bouquet] shows xml datas in a browser within the same network of your Dreambox. Everything behind sRef= depends on your individual Dreambox settings and will be completed by apibouquet .Default value: '/web/servicelistplayable?sRef=' |
apiLocations |
Additional string to apiBase pointing to the xml file of your Dreambox where some Recording datas can be found. Test if [http://Ipofyourdreambox:port/web/getlocations] shows xml datas in a browser within the same network of your Dreambox.Default value: '/web/getlocations' |
apiMovielist |
Additional string to apiBase pointing to the xml file of your Dreambox where some Recording datas can be found. Test if [http://Ipofyourdreambox:port/web/movielist?dirname=] shows xml datas in a browser within the same network of your Dreambox.Everything behind dirname= depends on your individual Dreambox settings and will be completed by apiRecordingsID Default value: '/web/movielist?dirname='
|
You can communication with this module also by sending notifications.
Examples:
yourmmip:8080/remote?action=NOTIFICATION¬ification=DB-SERVICE-NEXT
selects the next service in your listyourmmip:8080/remote?action=NOTIFICATION¬ification=DB-SERVICE-PREV
selects the previous service in your listyourmmip:8080/remote?action=NOTIFICATION¬ification=DB-PLAY
starts streaming the selected service with omxplayeryourmmip:8080/remote?action=NOTIFICATION¬ification=DB-STOP
stops streaming and quiting omxplayeryourmmip:8080/remote?action=NOTIFICATION¬ification=DB-RECORDINGS
selects recordings modeyourmmip:8080/remote?action=NOTIFICATION¬ification=DB-TUNER
selects tuner mode
To use this examples the module MMM-Remote-Control is required.
2.0 Changelog:
- optimized configuration options, to reduce complexity
- added recordings mode
- extended notification system to select recordings and tuner mode
1.0 initial release