Enigma2 ("Dreambox") abfragen und steuern

Enigma2 (oft: E2) ist die Open-Source Benutzeroberfläche für Dreambox DVB-C/S/T Receiver. In der Zwischenzeit ist diese Benutzeroberfläche nicht nur bei den Original Dreamboxen im Einsatz, sondern auch bei einer Vielzahl von anderen Sat-Boxen verschiedener Hersteller. Das Betriebssystem ist Linux, die meisten dieser Boxen basieren auf ARM-Architektur.

Das REST Web API von Enigma2 ist hier erklärt:  https://dream.reichholf.net/wiki/Enigma2:WebInterface

Damit lassen sich im Prinzip alle Statis abfragen und Kommandos ausführen, wobei der Miniserver mangels richtiger bidirektionaler Kommunikation eher weniger geeignet ist.

Besonders der Powerstate ist sinnvoll, um zu wissen, ob die Box an ist oder aus. Ein Ping funktioniert nicht, da im normalen Standby das Netzwerkinterface in Betrieb bleibt und auf Pings antwortet.

Interessante Abfragen sind jedenfalls:

Powerstate abfragen und schalten

Abfrage:

http://dreambox/web/powerstate

Response
<e2powerstate>
<e2instandby>true</e2instandby>
</e2powerstate>

Da sich in Loxone kein Text per http abfragen lässt, kann mittels ASCII Auswertung der erste Buchstabe abgefragt werden. 

Befehlserkennung
<e2instandby>\1

Danach kann mittels Vergleich der Wert für <t> (true) von 116 und der Wert für <f> (false) von 102 ausgewertet werden. Nun weiss man ob die Dreambox im Standby ist oder nicht.

In manchen Fällen ist die XML Response etwas anders formattiert, weshalb die Befehlserkennung auch leicht angepasst werden muss. Zum Beispiel:

Response
<e2powerstate>
<e2instandby>
true</e2instandby>
</e2powerstate>
Befehlserkennung
<e2instandby>\n\1

 

Schalten:

http://dreambox/web/powerstate?newstate=<nr>

  • 0 = Toogle Standby
  • 1 = Deepstandby
  • 2 = Reboot
  • 3 = Restart Enigma2
  • 4 = Wakeup form Standby
  • 5 = Standby

HINWEIS: In der Loxone Config ist ein entsprechendes Gerät vordefiniert mit dem Namen "DreamBox / Enigma2"

Nachricht anzeigen

http://dreambox/web/message?text={messagetext}&type={messagetype}&timeout={messagetimeout}

messagetext → Text der Nachricht

type → 0 bis 3, 0 = Ja/Nein, 1= Info, 2=Benachrichtigung, 3=Achtung (0 macht keinen Sinn, weil der Miniserver die Antwort nicht auswerten kann)

timeout → Kann leer sein, oder gibt die Anzeigezeit an.

Sofort aufnehmen

Das aktuell laufende Programm aufnehmen:

http://dreambox/web/recordnow?recordnow=

(ohne Parameter)