Read the statement by Michael Teeuw here.
[MMM-Dreambox] to connect a Dreambox or a Enigma2 Receiver (like VU or VU+) to MagicMirror and stream stations via omxplayer
-
Here is my second module.
Description
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
Download
[card:Ax-LED/MMM-Dreambox]Please let me know what you think.
AxLED
-
@axled I put the IP and WebIf port of my Vu+ Duo², but then… how do I stream something? :smiling_face_with_smiling_eyes:
I thought I was supposed to enter some M3U channel IPs or?
-
@AxLed
I get “Modell: dm7020hd - dezeit läuft: (RTL7 HD)”, meaning that I did something right, but nothing streams; just a black box.
Little Typo there, but German is difficult :-)
The bRef and sRef give output in the browser, so that seems okay.When I use port 80, the MM log shows:
0|mm | Whoops! There was an uncaught exception... 0|mm | MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? 0|mm | If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues 0|mm | TypeError: Cannot read property 'code' of null 0|mm | at Request._callback (/home/pi/MagicMirror/modules/MMM-Dreambox/node_helper.js:110:36) 0|mm | at Request.self.callback (/home/pi/MagicMirror/node_modules/request/request.js:185:22) 0|mm | at emitTwo (events.js:126:13) 0|mm | at Request.emit (events.js:214:7) 0|mm | at Request.<anonymous> (/home/pi/MagicMirror/node_modules/request/request.js:1161:10) 0|mm | at emitOne (events.js:116:13) 0|mm | at Request.emit (events.js:211:7) 0|mm | at IncomingMessage.<anonymous> (/home/pi/MagicMirror/node_modules/request/request.js:1083:12) 0|mm | at Object.onceWrapper (events.js:313:30) 0|mm | at emitNone (events.js:111:20)
Without port (URL only) I get:
0|mm | Starting node helper for: MMM-Dreambox
But I do not see any stream nor a list of stations.
pm2 list shows that no omxplayer stream is active.
Can you tell me which parameters in the config are the most important and what I should see when I open those ‘personal’ URL’s in a browser ?
-
@cr4z33 said in [MMM-Dreambox] to connect a Dreambox or a Enigma2 Receiver (like VU or VU+) to MagicMirror and stream stations via omxplayer:
@axled I put the IP and WebIf port of my Vu+ Duo², but then… how do I stream something?
I thought I was supposed to enter some M3U channel IPs or?@Cr4z33
In my case (Dreambox DM800se) i just entered the IP-Adress without port. You can crosscheck this with your browser: are you able to reach the webfrontend of your receiver with the IP-Adress you entered?The module works as follows (very short description): It reads the xml file of
.../web/getallservices
, build a list of the services and stations. The commandDB-PLAY
passes the selectede2servicereference
to omxplayer.AxLED
-
1. @evroom
Thanks for your logs, i fixed the errorhandling and that typo.
Please do agit pull
now you should get detailed errors shown on the module in MM.2. How the module works (in the background).
2.1 apiabout (About):
Samplelink: http://dm800se.fritz.box/web/about
I am reading two values, the model and what service is running (can be a station or playing a recorded movie).
2.2 apiservices (Services):
Samplelink: http://dm800se.fritz.box/web/getallservices
I am reading all services (stations) of the receiver.
Important: The part1%3A7%3A1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3AFROM%20BOUQUET%20%22userbouquet.favourites.tv%22%20ORDER%20BY%20bouquet
(your string might/will look different) is also needed for the parameters in config.js (apiServicelistplayable and apiepgnow).
Sample:
apiServicelistplayable: http://dm800se.fritz.box/web/servicelistplayable?sRef=1%3A7%3A1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3AFROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet
apiepgnow: http://dm800se.fritz.box/web/epgnow?bRef=1%3A7%3A1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3AFROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet
3. apiTimerlist (Timerlist):
Samplelink: http://dm800se.fritz.box/web/timerlist
I am reading if any timers are active, so i can show it in the module.
4. apiServicelistplayable (Servicelistplayable):
Samplelink: http://dm800se.fritz.box/web/servicelistplayable?sRef=1%3A7%3A1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3AFROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet
I am reading which stations are on the same bouquet, this is important, if any active timers are running. As timers have priority. All stations with the value false will be shown in a different css-style (gray and italic).
Important: Check the following part with the one you get from http://dm800se.fritz.box/web/getallservices1%3A7%3A1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3AFROM%20BOUQUET%20%22userbouquet.favourites.tv%22%20ORDER%20BY%20bouquet
(your string might/will look different).
5. apiepgnow (Epgnow):
Samplelink: http://dm800se.fritz.box/web/epgnow?bRef=1%3A7%3A1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3AFROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet
I am reading the epg of my favorites (same source as servicelist), so i can write the beginning time and tite of the actual running program.
Important: Check the following part with the one you get from http://dm800se.fritz.box/web/getallservices1%3A7%3A1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3AFROM%20BOUQUET%20%22userbouquet.favourites.tv%22%20ORDER%20BY%20bouquet
(your string might/will look different).
Maybe this helps to find some configuration problems for the right link parameters.
Regards
AxLED
-
@AxLed
So I guess we need to get a list displayed first, before sending the DB-PLAY command, right ?
I have set “apiBase: ‘http://192.168.178.28’,” in the config, but it only shows the channel that is currently running on my box.
No error in pm2 logs, just the “Starting node helper for: MMM-Dreambox”.
The URL http://192.168.178.28/web/getallservices gives a list in XML style.(the code button </> does not work here)
This XML file does not appear to have any style information associated with it. The document tree is shown below.
1:7:1:0:0:0:0:0:0:0:FROM BOUQUET “userbouquet.favourites.tv” ORDER BY bouquet
etc, etc, etc. -
@evroom
to your 1st question: yes we need a list displayed and selected one entry first, otherwise DB-PLAY wont work.Tipp: To insert xml code in the forum, you have to replace < by (& # 6 0 ; ) without spaces and > by (& # 6 2 ; ) without spaces.
to your 2nd question: that http://192.168.178.28/web/getallservices is returning an xml file (if viewed in browser) is good.
-
Question: Did you make a
git pull
, as i had some error in my errorhandling. If not, do git pull in the MMM-Dreambox folder first. -
Question: What is the xml showing under
<e2timerlist> <e2timer> <e2servicereference></e2servicereference>
- Question: Same xml file, are there entries following (like my screenshot above?):
<e2servicelist> <e2service>
AxLED
-
-
-
Just did. No (visible) changes.
-
All my timed programs. Exactly like in your example.
3.All my bouquets with the services in it. Like in your example.
We have simular Dreamboxes, so simular output.
I have 3 bouquets (Favourites (TV), Nederland (TV), Duitsland (TV))
I use WebControl Dreambox (via the DM IP) to control the box.Unfortunate your tip with (& # 6 0 ; ) and (& # 6 2 ; ) is not working for me; it deletes everything between < and >:
(<)
(>)That is a major flaw of this forum, besides not really being iPad friendly.
-
-
Is the module now working or do you still have issues?
AxLED -
Same issues.
Do not see any services list, so can not play one.
All apiXXX settings in the config file work when pasted in the browser.
XML output is simular like yours.
I only left apizap empty.Perhaps you could output some ‘landmarks’ in the MM log, like:
About - okay / not okay
Services - okay / not okay
EPGNow - okay / not okay
Zap - okay / not okay
Servicelistplayable - okay / not okay
omxplayer started