Enigma2 — ReadMe

ÜBERSICHT   —   FREISCHALTUNG  —   SCREENSHOTS

 

  1. Funk­tion­sum­fang
  2. Sys­te­man­forderun­gen
  3. Instal­la­tion
  4. Befehlsref­erenz

 

1. Funktionsumfang

Dieses Mod­ul stellt viele prak­tis­che Funk­tio­nen zur Ver­fü­gung, damit ein Receiv­er mit Enigma2 Sys­tem ges­teuert und Infor­ma­tio­nen aus­ge­le­sen wer­den kön­nen. Für jeden Receiv­er muss eine eigene Mod­ul-Instanz angelegt wer­den. Da manche Images nicht alle Informationen/Funkionen bieten (z.B. Ope­nATV), wird vorher geprüft, ob die Funk­tion mit dem Image möglich ist.Über­sicht der Fea­tures (die Funk­tio­nen find­et ihr in der Befehlsref­erenz):

Nachricht­en an Receiv­er senden:

  • Info (Nachricht mit Info-Sym­bol)
  • Mes­sage (Nachricht mit Mes­sage-Sym­bol)
  • Atten­tion (Nachricht mit Atten­tion-Sym­bol)
  • Ja/Nein Frage (Am TV kann mit Ja/Nein geant­wortet wer­den und die Antwort wird in eine Vari­able geschrieben und von der Funk­tion zurück­gegeben)

    Alle Nachricht­en haben einen ein­stell­baren Time­out und wer­den automa­tisch nach den gewählten X Sekun­den wieder aus­ge­blendet. Wird als Time­out eine "0" angegeben, dann ist dieser inak­tiv und die Nachricht muss aktiv am Receiv­er weg gedrückt wer­den.

    Ein Zeilenum­bruch in der Nachricht kann mit dem Zeichen § erzeugt wer­den. Dieses Zeichen wird vom Mod­ul erkan­nt und automa­tisch in einen Zeilenum­bruch umge­wan­delt.


Tas­ten an den Receiv­er senden:

      • Funk­tion zum Senden ver­schieden­er Taste an den Receiv­er

Ver­füg­bare Tas­ten: Pow­er, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, Vol­ume­Up, Vol­ume­Down, MUTE, Pre­vi­ous, Next, Bou­quet­Up, Bou­quet­Down, ArrowUp, Arrow­Down, ArrowLeft, ArrowRight, Menu, OK, Info, Audio, Video, RED, GREEN, YELLOW, BLUE, TV, Radio, Text, Help, Exit, Rewind, Play, Stop, For­ward, Record

 

Infor­ma­tio­nen über das Receiv­er-Sys­tem ausle­sen (ein­stell­bar­er Inter­vall):

  • Enig­ma-Ver­sion
  • Image-Ver­sion
  • WebIf-Ver­sion
  • Fest­plat­te > Mod­ell - (wenn HDD ver­baut)
  • Fest­plat­te > Kapaz­ität (in MB) - (wenn HDD ver­baut)
  • Fest­plat­te > Freie Kapaz­ität (in MB) - (wenn HDD ver­baut)
  • Net­zw­erk-Infos > IP, Mac, GW, Net­z­maske, DHCP - (nur in Vari­ablen, wenn "Erw. Infor­ma­tio­nen" aktiv)
  • Bild­in­for­ma­tio­nen (Bre­ite x Höhe in Pix­el) - (nur in Vari­ablen, wenn "Erw. Infor­ma­tio­nen" aktiv)


Infor­ma­tio­nen über die aktuelle/nächste Sendung auf dem aktuellen Kanal/Sender (ein­stell­bar­er Inter­vall):

  • Aktueller Sender­name, Sendernummer/Programmplatz, Sender­provider, Sendungsname, Sendungs­beschrei­bung kurz, Sendungs­beschrei­bung lang, Sendungsstart/-ende, Sendungs­dauer, Sendungsrest­dauer, ver­gan­gene Sendungs­dauer, Sendungs­fortschritt in Prozent, Even­tID, sRef, pRef
  • Näch­ster Sender­name, Sendernummer/Programmplatz, Sendungsname, Sendungs­beschrei­bung kurz, Sendungs­beschrei­bung lang, Sendungsstart/-ende, Sendungs­dauer, Even­tID, sRef, pRef


Infor­ma­tio­nen über die aktuelle/nächste Sendung auf bes­timmten Kanälen/Sendern/Bouquets:

  • Aktueller Sender­name, Sendernummer/Programmplatz, Sendungsname, Sendungs­beschrei­bung kurz, Sendungs­beschrei­bung lang, Sendungsstart/-ende, Sendungs­dauer, Sendungsrest­dauer, ver­gan­gene Sendungs­dauer, Sendungs­fortschritt in Prozent, Even­tID, sRef, pRef
  • Näch­ster Sender­name, Sendernummer/Programmplatz, Sendungsname, Sendungs­beschrei­bung kurz, Sendungs­beschrei­bung lang, Sendungsstart/-ende, Sendungs­dauer, Even­tID, sRef, pRef


Ausle­sen der Kanal-/Senderliste

  • Liest alle Kanäle/Sender aus dem Receiv­er aus und gibt die gesam­melten Infor­ma­tio­nen als Array zurück (Name des Senders, Pro­gramm­platz/-num­mer, SRef).


Ausle­sen der Bou­quetliste

  • Liest alle Bouquets/Ordner aus dem Receiv­er aus und gibt die gesam­melten Infor­ma­tio­nen als Array zurück (Name des Bouquets/Ordner, sRef).


Ausle­sen der Ein­stel­lun­gen

  • Liest alle Ein­stel­lun­gen vom Receiv­er und den instal­lierten Erweiterun­gen aus


Timerliste ausle­sen (ein­stell­bar­er Inter­vall)

  • Liest die Timerliste aus dem Receiv­er aus, gibt diese als Array zurück und spe­ichert die Dat­en in eine Vari­able (HTML­Box)


Timer bear­beit­en

  • Hinzufü­gen eines Auf­nahme-Timer
  • Ent­fer­nen eines Timer


Auf­nah­men­liste ausle­sen (ein­stell­bar­er Inter­vall)

  • Liest die Auf­nah­men­liste aus dem Receiv­er aus, gibt diese als Array zurück und spe­ichert die Dat­en in eine Vari­able (HTML­Box)


Auf­nahme-Sta­tus

  • Liest den aktuellen Sta­tus vom Receiv­er aus, ob aktuell eine Auf­nahme durchge­führt wird oder nicht (wird auch in Vari­able geschrieben, wenn in der Geräte-Instanz "Auf­nah­men­liste ausle­sen" aktiviert ist).


EPG Suche

  • Durch­sucht das EPG anhand des/der angegebe­nen Suchbegriff/e, gibt das Ergeb­nis als Array zurück und stellt es in ein­er Vari­able als HTML­Box dar. Damit kann man sich eine Sendun­gen-Such­maske in seine Visu­al­isierung ein­bauen.


Eingestellte Laut­stärke vom Receiv­er ausle­sen und set­zen

  • Liest die aktuelle Receiv­er-Laut­stärke aus (Vol­ume 0–100 und Mute aktiv/inaktiv)
  • Steuert die Laut­stärke des Receiv­er (bes­timmter Wert, leis­er, lauter, Tog­gle Mute)
    > !Achtung! Laut­stärke kann nur geän­dert wer­den, wenn AC3-Ton im Receiv­er nicht als Default gewählt wurde!


Pow­er-Zus­tand des Receiv­er ausle­sen und steuern

  • Liest den Pow­er-Sta­tus des Receiv­er aus (eingeschal­tet, aus­geschal­tet, Stand­by)
  • Steuert den Pow­er-Sta­tus des Receiv­er (Tog­gle Stand­by, Deep Stand­by, Reboot, Restart GUI)


Senderliste ausle­sen

  • Liest alle Sender der Senderliste mit Ser­viceRef­eren­znum­mer (die Extend­ed-Funk­tion liefert zusät­zlich noch die Kanal­num­mer) aus und gibt alles in einem Array zurück


Sender umschal­ten

  • Schal­tet auf dem Receiv­er auf den angegeben Sender um


Sig­nal­stärke ausle­sen

  • Liest die Sig­nal­stärke aus (SNR db, SNR, BER, ACG), schreibt sie ggf. in die Vari­ablen und gibt alles in einem Array zurück. nur in Vari­ablen, wenn "Erw. Infor­ma­tio­nen" aktiv


Ton­spuren ausle­sen

  • Liest die ver­füg­baren Ton­spuren der Sendung aus, gibt die Infos als Array zurück und spe­ichert die Infos in Vari­ablen. nur in Vari­ablen, wenn "Erw. Infor­ma­tio­nen" aktiv


AC3 Down­mix Ein­stel­lun­gen ausle­sen

  • Liest die Ein­stel­lun­gen zu AC3-Down­mix aus, gibt die Infos als Array zurück und spe­ichert die Infos in Vari­ablen. nur in Vari­ablen, wenn "Erw. Infor­ma­tio­nen" aktiv // Bei Ope­nATV Images nicht ver­füg­bar


Sleep­ti­mer ausle­sen

  • Liest die Ein­stel­lun­gen des Sleep­ti­mer aus, gibt die Infos als Array zurück und spe­ichert die Infos in Vari­ablen. nur in Vari­ablen, wenn "Erw. Infor­ma­tio­nen" aktiv // Bei Ope­nATV Images nicht ver­füg­bar


Sleep­ti­mer

  • Liest die Ein­stel­lun­gen des Sleep­ti­mer (Aktiviert,Minuten,Aktion,Bestaetigt,Text) aus, gibt die Infos als Array zurück und spe­ichert die Infos in Vari­ablen (auch beim Setzen/Aktivieren des Sleep­ti­mer — zur Kon­trolle). nur in Vari­ablen, wenn "Erw. Infor­ma­tio­nen" aktiv
  • Setzen/Aktivieren des Sleep­ti­mer mit den gewählten Ein­stel­lun­gen (Minuten [0–999], Aktion [Standby/Shutdown], Aktiviert [true/false]). Bei Ope­nATV Images nicht ver­füg­bar

 

2. Systemanforderungen

  • IP-Sym­con ab Ver­sion 4.x

 

3. Installation

Über die Kern-Instanz "Mod­ule Con­trol" fol­gende URL hinzufü­gen:

https://GITLAB-BENUTZERNAME:GITLAB-PASSWORT@gitlab.com/BY-IPS-Module/Enigma2BY.git
Die neue Instanz find­et ihr dort, wo ihr sie angelegt habt.

 

4. Befehlsreferenz

Enigma2BY_SendMsg(integer $InstanzID, string $Text, inte­ger $Type, inte­ger $Time­out­Sekun­den);
Schickt eine Nachricht an den Receiv­er und dieser zeigt diese dann auf TV/Beamer an. Liefert ein Array mit Infor­ma­tio­nen zurück, ob die Nachricht erfol­gre­ich gesendet wurde oder nicht. Diese Funk­tion läuft durch eine Sem­a­phore mit max. 20 Sekun­den, falls 2 Fra­gen gle­ichzeit­ig an den Receiv­er gesendet wer­den. Das muss bei der Wahl der Time­out-Länge beachtet wer­den!
$Type:
1 = Schickt eine Nachricht mit einem "Info-Sym­bol" an den Receiv­er.
2 = Schickt eine Nachricht ohne Sym­bol an den Receiv­er.
3 = Schickt eine Nachricht mit einem "Achtung-Sym­bol" an den Receiv­er.
0 = Schickt eine Nachricht/Frage mit Ja/Nein als Antwort­möglichkeit an den Receiv­er.
Die Antwort ste­ht dann in der Inte­ger-Vari­able "Frage-Antwort" und in der Rück­mel­dung der Funk­tion.
Antwort-Bedeu­tun­gen: 0 = Nein // 1 = Ja // 2 = Keine Antwort inner­halb Time­out-Zeit

Enigma2BY_SendKey(integer $InstanzID, string $Key, string $Long­Short);
Löst einen virtuellen Tas­ten­druck, der gewählten Taste, am Receiv­er aus. Eine Liste der ver­füg­baren Tas­ten ist in der Mod­ul-Instanz zu find­en (Drop­Down-Auswahl). Bei $Long­Short muss entwed­er "long" oder "short" angegeben wer­den (langer/kurzer Tas­ten­druck). Liefert true/false zurück, ob die Taste gesendet wurde oder nicht.

Enigma2BY_GetEPGInfos(integer $InstanzID);
Liest EPG-Infos vom Receiv­er aus (siehe Funk­tion­sum­fang), spe­ichert diese in Vari­ablen und gibt die Dat­en als Array zurück.

Enigma2BY_GetEPGInfos_Bouquet(integer $InstanzID, string $NowNext, string $Bou­quet­name);
Liest die EPG-Infos eines oder mehrerer Bouquets/Ordner aus (siehe Funk­tion­sum­fang) und gibt die Dat­en als Array zurück.
Bei $NowNext kann entwed­er "now" für die aktuell laufend­en Sendun­gen, "next" für die näch­sten Sendun­gen oder "nownext" für die aktuellen und näch­sten Sendun­gen angegeben wer­den.
Wenn mehrere Bou­quets abge­fragt wer­den sollen, muss $Bou­quet­name eine mit "," getren­nte Liste sein.

Enigma2BY_GetEPGInfos_Channel(integer $InstanzID, string $NowNext, string $Sender­auswahl);
Liest die EPG-Infos (Sender-Infos, Sendungsname und ‑beschrei­bun­gen und ‑zeit­en, sowie die Even­tIDs) von allen angegebe­nen Sendern aus und gibt die Dat­en als Array zurück.
Bei $Sender kann ein Sender oder mehrere Sender (mit "," getren­nt), mit­tels Sender­name, Sender­num­mer oder sRef (Ser­vice Ref­er­ence) angegeben wer­den (auch eine "gemis­chte" Sender-Angabe ist möglich).
Bei $NowNext kann entwed­er "now" für die aktuell laufend­en Sendun­gen oder "next" für die näch­sten Sendun­gen angegeben wer­den.

Enigma2BY_GetSettings(integer $InstanzID);
Liest die Ein­stel­lun­gen vom Receiv­er aus (siehe Funk­tion­sum­fang) und gibt die Dat­en als Array zurück.

Enigma2BY_GetRecordingInfo(integer $InstanzID);
Liest den Auf­nahme-Sta­tus eines Receiv­er aus und gibt TRUE (Auf­nahme aktiv) oder FALSE (keine Auf­nahme Aktiv) zurück. Im Fehler­fall wird NULL zurück­gegeben. Wenn in der Instanz "Auf­nah­men­liste ausle­sen" aktiviert ist, wird der Wert auch in ein­er Vari­able dargestellt.

Enigma2BY_GetSystemInfos(integer $InstanzID);
Liest Sys­tem­in­fos vom Receiv­er aus (siehe Funk­tion­sum­fang), spe­ichert diese in Vari­ablen und gibt die Dat­en als Array zurück.

Enigma2BY_GetTimerliste(integer $InstanzID);
Liest alle Dat­en aus dem Receiv­er aus, aktu­al­isiert die Vari­able und gibt die Dat­en als Array zurück.

Enigma2BY_GetPowerState(integer $InstanzID);
Liefert den Pow­er-Zus­tand des Receiv­er zurück (0 = aus­geschal­tet // 1 = eingeschal­tet // 2 = Stand­by)

Enigma2BY_SetPowerState(integer $InstanzID, inte­ger $Pow­er­State);
Steuert den Pow­er-Zus­tand des Receiv­er (0 = Tog­gle Stand­by // 1 = Deep Stand­by // 2 = Reboot // 3 = Restart GUI // 4 = Wake­up from Stand­by // 5 = Stand­by). Liefert true/false zurück, ob der Pow­er-State an den Receiv­er gesendet wer­den kon­nte oder nicht.

Enigma2BY_GetVolume(integer $InstanzID);
Liefert ein Array mit Vol­ume-Infor­ma­tio­nen zurück (Vol­ume 0–100, Mute true/false).

Enigma2BY_SetVolume(integer $InstanzID, inte­ger $Vol­ume);
Enigma2BY_SetVolume(integer $InstanzID, string "+");
Enigma2BY_SetVolume(integer $InstanzID, string "-");
Enigma2BY_SetVolume(integer $InstanzID, string "MUTE");

Set­zt die Laut­stärke des Receiv­er auf den angegebe­nen Wert (0–100). Die anderen Para­me­ter steuern lauter/leiser/Mute Tog­gle. Liefert jew­eils ein Array mit Vol­ume-Infor­ma­tio­nen zurück (Vol­ume 0–100, Mute true/false).
!Achtung! Laut­stärke kann nur geän­dert wer­den, wenn AC3-Ton im Receiv­er nicht als Default gewählt wurde!

Enigma2BY_GetTimerliste(integer $InstanzID);
Liefert ein Array mit allen Timern + Details zurück und schreibt die Dat­en in eine Vari­able (als HTML-Tabelle).

Enigma2BY_AddTimerByEventID(integer $InstanzID, string $sRef, inte­ger $Even­tID, string $Auf­nah­meP­fad);
Erstellt einen Auf­nahme-Timer für die angegebene Sendung. sRef und Even­tID ein­er Sendung kön­nen über die EPG­Suche-Funk­tion ermit­telt wer­den. Der Auf­nah­mep­fad (option­al) bei ein­er einge­baut­en Fest­plat­te ist "/hdd/movie/". Liefert true/false zurück, je nach­dem, ob der Timer erstellt wurde oder nicht.

Enigma2BY_DelTimer(integer $InstanzID, string $sRef, inte­ger $Sendungs­be­ginn, inte­ger $Sendungsende);
Ent­fer­nt einen Timer aus der Timerliste. Die erforder­lichen Dat­en kön­nen mit der "GetTimerliste"-Funktion ermit­telt wer­den. Sendungs­be­ginn und ‑Ende müssen als Unix-Time­stamp angegeben wer­den. Liefert true/false zurück, je nach­dem, ob der Timer ent­fer­nt wer­den kon­nte oder nicht.

Enigma2BY_GetAufnahmenliste(integer $InstanzID);
Liefert ein Array mit allen Auf­nah­men + Details zu allen aufgenomme­nen Sendun­gen zurück und schreibt die Dat­en in eine Vari­able (als HTML-Tabelle).

Enigma2BY_GetBouquetliste(integer $InstanzID);
Liefert ein Array mit allen Bou­quets zurück (sRef + Name).

Enigma2BY_GetSenderliste(integer $InstanzID);
Liefert ein Array mit allen Sender­na­men + Ser­viceRef­eren­znum­mer zurück.

Enigma2BY_GetSenderlisteExtended(integer $InstanzID);
Liefert ein Array mit allen Sender­na­men + Sender­num­mern + Ser­vice Ref­eren­znum­mer (sRef) zurück.

Enigma2BY_ZapTo(integer $InstanzID, string $Sender­name­Sender­num­mer);
Schal­tet den Receiv­er auf den gewählten Sender. Es kann entwed­er der Name des Senders, die Sender­num­mer oder direkt die sRef (Ser­vice Ref­er­ence) angegeben wer­den. Alle notwendi­gen Infor­ma­tio­nen kön­nen z.B. über die Funk­tion "Enigma2BY_GetSenderlisteExtended" ermit­telt wer­den.

Enigma2BY_GetSignalInfos(integer $InstanzID);
Liest die aktuellen Sig­nal­stärken aus dem Receiv­er aus (SNR db, SNR, BER, ACG), spe­ichert die Dat­en ggf. in Vari­ablen und gibt die Infor­ma­tio­nen in einem Array zurück.

Enigma2BY_GetTonspuren(integer $InstanzID);
Liest die ver­füg­baren Ton­spuren der Sendung aus, spe­ichert die Dat­en ggf. in Vari­ablen und gibt die Infor­ma­tio­nen in einem Array zurück.

Enigma2BY_SetTonspur(integer $InstanzID, inte­ger $Ton­spurID);
Set­zt die gewählte Ton­spur für die aktuelle Sendung und gibt true/false zurück, wenn die Ton­spur geset­zt oder nicht geset­zt wer­den kon­nte. Die ver­füg­baren Ton­spuren mit ID kann man über "Enigma2BY_GetTonspuren" ausle­sen.

Enigma2BY_EPGSuche(integer $InstanzID, string $Such­be­griff);
Durch­sucht das EPG, anhand des/der gewählten Suchbegriff/e, gibt das Ergeb­nis als Array zurück und stellt die Rück­gabe in ein­er Vari­able (als HTML­Box) dar.

Enigma2BY_GetAC3DownmixInfo(integer $InstanzID);
Liest die aktuelle Ein­stel­lung für "AC3 Down­mix" aus, spe­ichert das Ergeb­nis ggf. in eine Vari­able und gibt die Infor­ma­tio­nen in einem Array zurück.

Enigma2BY_GetSleeptimer(integer $InstanzID);
Liest die aktuelle Ein­stel­lun­gen des Sleep­ti­mer aus, spe­ichert das Ergeb­nis ggf. in Vari­ablen und gibt die Infor­ma­tio­nen in einem Array zurück.

Enigma2BY_SetSleeptimer(integer $InstanzID, inte­ger $Minuten, string $Aktion, bool $Aktiv);
Set­zt die Ein­stel­lun­gen für den Sleep­ti­mer bzw. aktiviert/deaktiviert ihn. Die über­nomme­nen Ein­stel­lun­gen wer­den dann im Array zurück geliefert (zur Kon­trolle) und ggf. in Vari­ablen geschrieben.
$Minuten (0–999)
$Aktion (standby/shutdown)
$Aktiv (true/false)