Enigma2BY - Modul für Receiver mit Enigma2

Ich schon wieder :smiley:

Mein neustes Modul >> Enigma2BY

Dieses Modul stellt sehr viele praktische Funktionen zur Verfügung (fast alles was möglich ist), damit ein Receiver mit Enigma2 System gesteuert und Informationen ausgelesen werden können. Für jeden Receiver muss eine eigene Modul-Instanz angelegt werden.

Nachrichten an Receiver senden:

  • Info (Nachricht mit Info-Symbol)

  • Message (Nachricht mit Message-Symbol)

  • Attention (Nachricht mit Attention-Symbol)

  • Ja/Nein Frage (Am TV kann mit Ja/Nein geantwortet werden und die Antwort wird in eine Variable geschrieben und von der Funktion zurückgegeben)

    > Alle Nachrichten haben einen einstellbaren Timeout und werden automatisch nach den gewählten
    > X Sekunden wieder ausgeblendet. Wird als Timeout eine „0“ angegeben, dann ist dieser inaktiv
    > und die Nachricht muss aktiv am Receiver weg gedrückt werden.

    > Ein Zeilenumbruch in der Nachricht kann mit dem Zeichen § erzeugt werden. Dieses Zeichen
    > wird vom Modul erkannt und automatisch in einen Zeilenumbruch umgewandelt.

Tasten an den Receiver senden

  • Funktion zum Senden verschiedener Taste an den Receiver
    Verfügbare Tasten:
    Power,0,1,2,3,4,5,6,7,8,9,VolumeUp,VolumeDown,MUTE,Previous,Next,BouquetUp,BouquetDown,ArrowUp,ArrowDown,ArrowLeft,ArrowRight,Menu,OK,Info,Audio,Video,RED,GREEN,YELLOW,BLUE,TV,Radio,Text,Help,Exit

Informationen über das Receiver-System auslesen (einstellbarer Intervall):

  • Enigma-Version
  • Image-Version
  • WebIf-Version
  • Festplatte > Modell wenn HDD verbaut
  • Festplatte > Kapazität (in MB) wenn HDD verbaut
  • Festplatte > Freie Kapazität (in MB) wenn HDD verbaut
  • Netzwerk-Infos > IP, Mac, GW, Netzmaske, DHCP nur in Variablen, wenn „Erw. Informationen“ aktiv
  • Bildinformationen (Breite x Höhe in Pixel) nur in Variablen, wenn „Erw. Informationen“ aktiv

Informationen über den aktuellen/nächsten Sender/Sendung (einstellbarer Intervall):

  • Aktueller Sendername, Sendungsname, Sendungsbeschreibung kurz, Sendungsbeschreibung lang, Sendungsdauer,
    Sendungsrestdauer, EventID
  • Nächster Sendungsname, Sendungsbeschreibung kurz, Sendungsbeschreibung lang, Sendungsstart, Sendungsdauer, EventID

Timerliste auslesen (einstellbarer Intervall)

  • Liest die Timerliste aus dem Receiver aus, gibt diese als Array zurück und speichert die Daten in eine Variable (HTMLBox)

Timer bearbeiten

  • Hinzufügen eines Aufnahme-Timer
  • Entfernen eines Timer

Aufnahmenliste auslesen (einstellbarer Intervall)

  • Liest die Aufnahmenliste aus dem Receiver aus, gibt diese als Array zurück und speichert die Daten in eine Variable (HTMLBox)

EPG Suche

  • Durchsucht das EPG anhand des/der angegebenen Suchbegriff/e, gibt das Ergebnis als Array zurück und stellt es in einer Variable
    als HTMLBox dar. Damit kann man sich eine Sendungen-Suchmaske in seine Visualisierung einbauen.

Eingestellte Lautstärke vom Receiver auslesen und setzen

  • Liest die aktuelle Receiver-Lautstärke aus (Volume 0-100 und Mute aktiv/inaktiv)
  • Steuert die Lautstärke des Receiver (bestimmter Wert, leiser, lauter, Toggle Mute)
    > !Achtung! Lautstärke kann nur geändert werden, wenn AC3-Ton im Receiver nicht als Default gewählt wurde!

Power-Zustand des Receiver auslesen und steuern

  • Liest den Power-Status des Receiver aus (eingeschaltet, ausgeschaltet, Standby)
  • Steuert den Power-Status des Receiver (Toggle Standby, Deep Standby, Reboot, Restart GUI)

Senderliste auslesen

  • Liest alle Sender der Senderliste mit ServiceReferenznummer aus und gibt es in einem Array zurück

Sender umschalten

  • Schaltet auf dem Receiver auf den angegeben Sender um

Signalstärke auslesen

  • Liest die Signalstärke aus (SNR db, SNR, BER, ACG), schreibt sie ggf. in die Variablen und gibt alles in einem Array zurück.
    nur in Variablen, wenn „Erw. Informationen“ aktiv

Tonspuren auslesen

  • Liest die verfügbaren Tonspuren der Sendung aus, gibt die Infos als Array zurück und speichert die Infos in Variablen.
    nur in Variablen, wenn „Erw. Informationen“ aktiv

AC3 Downmix Einstellungen auslesen

  • Liest die Einstellungen zu AC3-Downmix aus, gibt die Infos als Array zurück und speichert die Infos in Variablen.
    nur in Variablen, wenn „Erw. Informationen“ aktiv

Sleeptimer auslesen

  • Liest die Einstellungen des Sleeptimer aus, gibt die Infos als Array zurück und speichert die Infos in Variablen.
    nur in Variablen, wenn „Erw. Informationen“ aktiv

Sleeptimer

  • Liest die Einstellungen des Sleeptimer (Aktiviert,Minuten,Aktion,Bestaetigt,Text) aus, gibt die Infos als Array zurück
    und speichert die Infos in Variablen (auch beim Setzen/Aktivieren des Sleeptimer - zur Kontrolle).
    nur in Variablen, wenn „Erw. Informationen“ aktiv
  • Setzen/Aktivieren des Sleeptimer mit den gewählten Einstellungen (Minuten [0-999], Aktion [Standby/Shutdown], Aktiviert [true/false]).

Wo finde ich weitere Informationen über das Modul?
> Hier: BayaroX/BY_Enigma2BY - GitHub

Wie installiere ich das Modul?
Updates und neue Module gibt es nur noch hier >> https://bayaro.lima-city.de

>>> Die Visualisierung darf sich, wie immer bei mir, jeder selbst bauen :slight_smile:

Changelog
[b]Version 1.1:

  • NEU # GetSignalInfos, GetTonspuren, SetTonspur, Netzwerkinformationen, Bildinformationen
  • NEU # Neustart und GUI-Neustart jetzt direkt in der Instanz möglich
  • NEU # Eingabe eines Port für das WebInterface des Receivers
  • FIX # HDD Werte wurden in MB angezeigt, statt in GB
  • FIX # Bei XTrend/VU+ wurde die Kapazität der HDD teilweise in TB zurückgegeben, wird jetzt in GB umgerechnet
  • CHANGE # Die Result-Arrays haben jetzt bessere Bezeichnungen, damit man sieht welche Daten was beinhalten

Version 1.2:

  • NEU # GetAC3DownmixInfo (AC3 Downmix aktiv=true / inaktiv=false)
  • NEU # GetSleeptimerInfos (Informationen [Aktiviert,Minuten,Aktion,Text] auslesen und ggf. in Variablen schreiben)
  • NEU # SetSleeptimer (Einstellungen des Sleeptimer setzen, sowie Sleeptimer aktivieren/deaktivieren)
  • NEU # EPGSuche (EPG mit einem Suchbegriff [z.B. Name einer Sendung] durchsuchen)
  • FIX # SendMsg-Frage (Semaphore wurde nicht immer verlassen)

Version 1.3:

  • NEU # AddTimerByEventID (Aufnahme-Timer hinzufügen)
  • NEU # DelTimer (Timer entfernen/löschen)
  • CHANGE # Durch das Abfragen der Aufnahmeliste (durch Intervall-Timer) wurde die HDD immer aus dem Standby geholt - deshalb muss die Aufnahmeliste ab jetzt manuell durch euch aktualisiert werden (z.B. immer nur Nachts oder wann ihr wollt).

Version 1.4:

  • NEU # SetPowerState (Werte „4“ (Wakeup from Standby) und „5“ (Standby) hinzugefügt)
  • NEU # GetEPGInfos erweitert (Zusätzliche ArrayReturns + Variablen für Sendungs-Start, Sendungs-Ende, Fortschritt, SRef, PRef, …)
  • NEU # Checkbox um die Aufnahmen-Liste aus vom Receiver auszulesen (extra aktivierbar, weil die Festplatte dabei immer aus dem Standby geholt wird)[/b]

Grüße,
Chris

Beispiele + Ergebnisse
>> Die Rückmeldungen werden direkt vom Receiver abgegriffen, so dass man sich sicher sein kann, dass eine Nachricht auch wirklich angezeigt wurde oder ein Befehl auch wirklich gesendet wurde! :cool:

<?
$Enigma2BY_Instanz = 12345;
$result = Enigma2BY_SendMsg($Enigma2BY_Instanz, "Es hat an der Haustür geklingelt!§Soll die Haustür geöffnet werden?", 0, 5);
if ($result === 0)
{
	echo "Die Antwort war NEIN, die Haustür wird nicht geöffnet";
}
elseif ($result === 1)
{
	echo "Die Antwort war JA, die Haustür wird geöffnet";
}
elseif ($result === 2)
{
	echo "Keine Antwort innerhalb des Timeout, die Haustür wird nicht geöffnet";
}
?>

Keine Antwort innerhalb des Timeout, die Haustür wird nicht geöffnet.

<?
$Enigma2BY_Instanz = 12345;
$result = Enigma2BY_SendMsg($Enigma2BY_Instanz, "Die Waschmaschine ist fertig!", 1, 5);
if ($result === true)
{
	echo "Die Nachricht wurde erfolgreich an den Receiver gesendet.";
}
else
{
	echo "Die Nachricht konnte nicht an den Receiver gesendet werden.";
}
?>

Die Nachricht wurde erfolgreich an den Receiver gesendet.

<?
$Enigma2BY_Instanz = 12345;
$result = Enigma2BY_GetSystemInfos($Enigma2BY_Instanz);
print_r($result);
?>

Array
(
[0] => 2015-05-28-tarball
[1] => Newnigma2 v4.0.1 3201-50-62
[2] => 1.7.5
[3] => dm7020hd
[4] => ATA-WDC WD20EFRX-68E
[5] => 2000
[6] => 1640
)

<?
$Enigma2BY_Instanz = 12345;
$result = Enigma2BY_GetAufnahmenliste($Enigma2BY_Instanz);
print_r($result);
?>

Array
(
[0] => Array
(
[Sendername] => Das Erste HD
[Sendungstitel] => Tatort: LU
[SendungsbeschreibungLang] => Mitten in Ludwigshafen wird die Leiche von Sergej Radev Nikolov gefunden. Ein mutmaßlicher Auftragsmörder, der 15 Jahre zuvor schon einmal in der Stadt war und damals in den Mord an einem Chemiker verwickelt war. Immer wieder begegnet Lena Odenthal bei ihren aktuellen Ermittlungen einem mysteriösen Mann. Zufall, Interesse oder doch Verwicklung in den Fall? Der unberechenbare und provozierende Lu gibt der Kommissarin Rätsel auf.?Produziert in HD
[SendungsdauerMin] => 118
[SendungsDateigroesse] => 11242700800
)

<?
$Enigma2BY_Instanz = 12345;
$result = Enigma2BY_GetEPGInfos($Enigma2BY_Instanz);
print_r($result);
?>

Array
(
[AktSendername] => Das Erste HD
[AktSendungsname] => ARD-Morgenmagazin
[AktSendungsBeschrKurz] => Moderation: Susan Link und Sven Lorig
[AktSendungsBeschrLang] => * CDU Parteitag in Karlsruhe: Gespräch mit Peter Tauber, CDU-Generalsekretär?* CDU-Parteitag in Karlsruhe: Auftritt von CSU-Chef Seehofer wird mit Spannung erwartet?* BGH urteilt über Ärztebewertungsportal Jameda?* Billige Spritpreise: niedrige Rohölpreise wirken sich auf Preise an den Tankstellen aus?* Thatchers Nachlass unter dem Hammer?* MoMa-Reporter: Kanzlerinnendämmerung? - Was die Delegierten auf dem CDU-Parteitag wirklich denken?* Livemusik: Ludovico Einaudi?* Service: Richtig umtauschen; Rechtsanwalt Kay Rodegra klärt über die Rechte der Käufer auf?Produziert in HD
[AktSendunsdauer] => 12600
[AktSendunsdauerRest] => 8047
[AktSendungsEventID] => 42993
[NextSendungsname] => Tagesschau
[NextSendungsBeschrKurz] =>
[NextSendungsBeschrLang] => Die Nachrichten der ARD?Produziert in HD
[NextSendungsStart] => 1450166400
[NextSendungsdauer] => 300
[NextSendungsEventID] => 42994
)

<?
$Enigma2BY_Instanz = 12345;
$result = Enigma2BY_GetPowerState($Enigma2BY_Instanz);
switch ($result)
{
	case 0:
	   echo "Der Receiver ist ausgeschaltet.";
	break;
	
	case 1:
	   echo "Der Receiver ist eingeschaltet.";
	break;
	
	case 2:
	   echo "Der Receiver ist im Standby-Mode.";
	break;
}
?>

Der Receiver ist eingeschaltet.

<?
$Enigma2BY_Instanz = 12345;
$result = Enigma2BY_GetSenderliste($Enigma2BY_Instanz);
print_r($result);
?>

Array
(
[SAT.1 HD] => 1:0:19:EF74:3F9:1:C00000:0:0:0:
[RTL HD] => 1:0:19:EF10:421:1:C00000:0:0:0:
[ProSieben HD] => 1:0:19:EF75:3F9:1:C00000:0:0:0:
[RTLII HD] => 1:0:19:EF15:421:1:C00000:0:0:0:
[kabel eins HD] => 1:0:19:EF76:3F9:1:C00000:0:0:0:
[VOX HD] => 1:0:19:EF11:421:1:C00000:0:0:0:
[DMAX HD] => 1:0:19:151A:455:1:C00000:0:0:0:

<?
$Enigma2BY_Instanz = 12345;
$result = Enigma2BY_GetTimerliste($Enigma2BY_Instanz);
print_r($result);
?>

Array
(
[0] => Array
(
[ServiceReference] => 1:0:19:2888:40F:1:C00000:0:0:0:
[Sendername] => Einsfestival HD
[EventID] => 28833
[Sendungsname] => Tatort: Der Irre Iwan
[SendungsbeschreibungKurz] => Fernsehfilm Deutschland 2015
[SendungsbeschreibungLang] => Die Weimarer Kriminalkommissare Kira Dorn und Lessing werden ins Rathaus gerufen. Bei einem Raubüberfall auf die Stadtkämmerei wurde die Sekretärin Sylvia Kleinert von einem maskierten Täter erschossen. Als sich herausstellt, dass Sylvia ein Verhältnis mit dem Stadtkämmerer Iwan Windisch hatte, rückt dieser ins Visier der Kommissare. Hat er den Überfall und den Mord an Sylvia in Auftrag gegeben, um zu verhindern, dass seine extrem eifersüchtige Frau Nicole von der Affäre erfährt? Bei ihren Nachforschungen entdecken die Kommissare noch weitere Ungereimtheiten. Der Stadtkämmerer scheint ein bizarres Doppelleben zu führen.
[Sendungsbeginn] => 1450224300
[Sendungsende] => 1450230900
[SendungsdauerSek] => 6600
[TimerArt] => 0
[Aufnahmeverzeichnis] => /media/hdd/movie/
)

<?
$Enigma2BY_Instanz = 12345;
$result = Enigma2BY_GetVolume($Enigma2BY_Instanz);
echo "Die Lautstärke des Receiver ist auf $result[0]% eingestellt.
";
if ($result[1] === true)
{
	echo "Der Receiver hat den Mute Status AKTIV.";
}
else
{
	echo "Der Receiver hat den Mute Status INAKTIV.";
}
?>

Die Lautstärke des Receiver ist auf 100% eingestellt.
Der Receiver hat den Mute Status INAKTIV.

<?
$Enigma2BY_Instanz = 12345;
$result = Enigma2BY_SendKey($Enigma2BY_Instanz, "OK", "short");
if ($result === true)
{
	echo "Die Taste wurde erfolgreich an den Receiver gesendet.";
}
else
{
	echo "Die Taste konnte nicht an den Receiver gesendet werden.";
}
?>

Die Taste wurde erfolgreich an den Receiver gesendet.

Hi,

[QUOTE=Bayaro;274034] …und da ich keinen solchen Receiver zur Verfügung habe, kann ich es nicht einbauen./QUOTE]

Ich hätt einen VU+ Solo2. Evtl. könnte ich Dir da an der einen oder anderen Stelle aushelfen…

Ich schaue mir das Modul bei Gelegenheit mal an.

Gruß,
Thorsten

Wir unterhalten uns per PN darüber :slight_smile:

Grüße,
Chris

Hoffentlich melden sich noch mehr Nutzer guter Geräte. Chris kann leider nur Dreambox und ist daher auf dem OpenSource Auge blind. [emoji38]

Und bis dahin können alle Nutzer von anständigen Receivern (Dreambox) dieses Modul schon mal ohne Problem verwenden :smiley: :stuck_out_tongue: …während die anderen noch an ihren Receivern basteln können/müssen, damit sie überhaupt laufen und ein Bild anzeigen :wink: :smiley:

Grüße,
Chris

Hi,

habe eine vu ultimo.
Werde ab nächste Woche mal testen…

Gruß

Ich habe einen Venton HD1+ mit einem Opena.tv Image auf Basis Enigma 2

Bis auf die Auflistung der Sender und der aufgenommenen Filme funzt davon leider nix.
Es gibt ein anderes Modul (Enigma2 Modul) , evtl. kannst du daraus noch einiges verwenden, denn das Modul funzt soweit :wink:

Gruß
Jens

Aiai, hat denn keiner mehr eine vernünftige Dreambox? :smiley:

Im anderen Modul sind, soweit ich das gesehen hab, nur der PowerState und Zap eingebaut. Bei mir ist fast alles eingebaut was möglich ist. Timer hinzufügen und entfernen hab ich weggelassen, weil ich das über IPS wenig sinnvoll gefunden habe. Und der PowerState ist in meinem Modul genauso umgesetzt wie im anderen Modul, von daher sollte zumindest das (und keine Ahnung was noch) auch funktionieren.

Und damit es hier nicht mehr nur um Receiver geht die NICHT funktionieren oder nur teilweise > Bitte in diesem Thema weiter über die anderen Receiver schreiben :slight_smile:
Modul für OpenATV, OpenPLI, XTrend, VU+, …

Grüße,
Chris

Na da würde aber noch eine Menge fehlen wenn das alles ist was die Dreambox meldet ;). Ich habe davon bisher die Finger gelassen weil ja sonst eine Unmenge an Variablen verwendet werden. Das beste wäre es alle Funktionen mit einer Webseite abzubilden die dann in einer HTMLBox läuft.

Wäre es nicht prima wir würden gemeinsam ein Dreambox oder Enigma Modul basteln bevor jetzt jeder selbst Hand anlegt.

Hi!

Ich rede von Features die über „Web“ möglich sind :slight_smile: In der Dreambox selbst geht natürlich noch mehr. Über „Web“ gingen noch Timer hinzufügen/löschen, aber dazu sagte ich ja schon was. Auch Filme löschen oder sowas hatte ich für weniger sinnvoll erachtet das über IPS zu steuern…

Steuerung über HTMLBox kann man machen. Allerdings hab ich immer nur Funktionen angeboten in meinen Projekten und die Leute können dann selbst ihre Steuerung basteln, weil es jeder irgendwie anders haben will und deshalb hab ich mir nie die Mühe gemacht. Und dazu bin ich auch nicht wirklich gut im „designen“ :smiley:

Was schwebt dir denn GENAU an Features vor? Immer her mit den Ideen :slight_smile: Wenn es gut ist, baue ich es ein, wenn nicht, könnt ihr gerne meinen Code verwenden und selbst weiter dran rum basteln oder wir zusammen oder irgendwie so :slight_smile:

Nur ohne Detail-Input wird das nix :wink:

Grüße,
Chris

Komplizierte Dinge zum Konfigurieren (Timer usw.) halte ich als IPS Lösung für übertrieben, da das OSD eigentlich komfortabel genug ist.
Interessant wäre noch Erkennung einer möglichen Softcam bzw. das auslesen des Status und der Entitlements einer verwendeten PayTV Karte (Oscam z.b.) :wink:

cam…sowas hier?
Sys_GetURLContentEx und WWW-Reader mit Authentifizierung

:smiley: :smiley:

Kann man einfach um beliebige Dinge erweitern…

Aber bitte erstmal das Enigma2BY testen und berichten :slight_smile:

Grüße,
Chris

Jaha … genau das … den Thread hab ich scheinbar verpasst :frowning:

Funzt :smiley:

Funzt? Das komplette Enigma2 Modul funzt jetzt bei dir? Also mit allen Daten usw. auslesen?

Soooooooo…ein Fehler in der „GetPowerState“ Funktion hat dazu geführt, dass es bei XTrend und VU+ nicht funktioniert hat.

Jetzt sollte es bei allen Enigma2 Receivern funktionieren :cool:

Wenn noch Probleme auftreten sollten, bitte genau melden welche Funktion betroffen ist und dann schau ma mal :slight_smile:

>> Danke an Tetrapack fürs testen!

Grüße,
Chris

Das Modul läuft scheinbar soweit sauber, zumindest werden nach dem Update jetzt alle Variablen gefüllt. Incl. Powerstate, EPG, HDD Info usw. und das Auslesen vom Ablaufdatum der Karte im OScam geht auch mit dem Script aus dem verlinkten Thread :wink:

Testnachricht aus der Konfigseite wurde auch erfolgreich verschickt und angezeigt!

Vielen Dank dafür!

Teste mal bitte die Fragen bei den Nachrichten. Bei den „normalen“ Nachrichten verwende ich die Funktion „ResultAuswerten“, bei den Fragen-Antworten nicht. Also das wäre interessant. Alles andere nutzt die Funktion „ResultAuswerten“ und sollte deshalb keine Probleme machen.

-Chris-

  • Multi EPG fände ich schön
  • EPG Search
  • Detaillierte Daten (Tonspur), Bildgröße usw.
  • Picon Anzeige des aktuellen Senders
  • EPG Similar
  • EPG Next

> MultiEPG…joa, ist an sich nicht weiter ein Problem, bis auf die Visualisierung :smiley:
> EPG Search…und was bringt einem das in IPS?
> EPG Similar? Hmmm…man gibt eine Sendung ein und was soll man zurück bekommen an Infos?
> PIcon…muss ich mal sehen, ob man an den Pfad kommt über „Web“. Aber wo dann anzeigen? Bei den Timern? Aufnahmen?

> „EPG Next“ ist schon eingebaut, zumindest vom aktuellen Sender.

> Daten zur Tonspur und Bild usw. hatte ich weggelassen, weil ich dachte das braucht keiner :smiley: Aber wenn Interesse da ist baue ich das gerne noch ein, ist kein Problem (steht jetzt auf der 2do)

Grüße,
Chris