mit VU+ Licht schalten

Hallo!

Ich stehe vor einem Problem und weis nicht ob es zum realisieren geht!

Ich habe eine VU+ Sateliten Receiver diesen steuere ich über mein App EPG Dream funktioniert alles wunderbar.
Ich würde gerne jetzt einen Kanal anlegen der mir zb. das Licht einschaltet!

Hintergrund meiner Überlegung ist:
Das ich nicht immer vom App EPG Dream in die App IPSView wechseln möchte!

Ist das möglich?

Mfg
Maxx

Auch wenn ich das für Blödsinn halt … :smiley: Müsste das Theoretisch gehen wie folgt gehen. Du legst Kanäle an auf Frequenzen die keinen Datensatz haben, oder nutzt irgendwelche vorhandene Kanäle. Dann nutzt du mein Plugin welches regelmäßig der Servicenamen ausließt. Legst ein Eventhandler drauf onChange und vergleichst den Service name mit dem Kanalnamen. Ist der gleich startest du den Toogle der Lampe. Aber schnell wird das nicht sein, da du immer den Pull abwarten musst.

Was steuerst Du denn über die App was nicht direkt über IPSView auch möglich wäre, eventuell ist ja einfacher die Funktionen einfach noch in IPSView zu ergänzen.

Was kann die App denn kann die nur Befehle an die VU schicken oder auch individuelle Befehle wie z.B. einen http Befehl schicken? Dann kann man das am einfachsten über einen Webhook lösen.

Mein Problem ist das die App sehr übersichtlich ist und ich wenn ich auf ein Senderlogo drücke das auf den gewünschten Kanal umgeschaltet wird!
Senderlogos in IPSView erstellen und dann umschalten das ist mir alles klar aber wie bekomme Ich das mit dem EPG hin?

Wie könnte man das in IPS realisieren?
Ich bin über jeden Vorschlag Dankbar!

Mfg
Maxx

Hallo Maxx und Enigma/ Linux User,

schreibe mal meine Idee herunter, so stelle ich es mir vor -garnicht mal so schlecht die Idee

  1. Die Software DreamboxEdit nutzen, damit kann man das Bouquet des Enigma Receivers bearbeiten. Wenn ich mich recht erinnere kann man dort auch einen „link“ einfügen, also einen Streaming link anstelle des Programmlinks. Statt diesen Streaming link nimmst du einen link von IPS den musst du noch in IPS erstellen //User/Script.php. da findest du hier im Forum bestimmt hilfe, einen Direktlinkt den man aufrufen kann userscript.php nutz die Suche im Forum.
    Meine Bitte schau dir die Dreamboxedit software an, habe ich in einer Suchmaschine gefunden. Damit lässt sich auch das Bouquet des Receivers speichern und zb auf einen zweiten Receiver spielen gleiche Programmliste auf allen Geräten.

  2. das User/script enthält dann folgende information, bzw Programmteile die Du erstellen musst
    a. Traxanos Modul - auslesen bzw. welches Programm lief gerade auf dem Reveiver und schalte wieder auf dieses Programm. (du hast ja woanders hingeschaltet und da läuft nur schwarzer Bildschirm und dieses Script).
    b. der weitere Teil des Scriptes muss dann deine Steuerngen umfassen was auch immer > Rollo runter weil die Sonne stört. Lichtscene an die zum Fernsehprogramm passt oder die Stereoanlagen 5.x mit dem ensprechenden Soundprofil.

Hoffe dir eine Anregung zu geben.
Mit dem EPG glaube ich wird das nichts der Programmlink mit dem steuern des Userscriptes kann kein EPG.

Glück Auf D.Voss

Hi Maxx!

Warum verwendest du nicht einfach mein Enigma2 Modul? Damit bekommst du alle Daten in IPS rein. Und da könntest du zB ein Script triggern (Variable hat Wert XYZ), wenn du dann auf Kanal XY schaltest, dann geht zB das Licht an :cool:

Oder du machst alles direkt in der VU+ mit zB dem Plugin MultiQuickButton und eigenen Scripten oder komplett eigenen Menüs…aber da wird es deutlich komplizierter :slight_smile:

Grüße,
Chris

Ich besitze eine Dreambox ich nehme aber an die VU hat die gleichen Befehle das musst Du mal selber testen.

MultiEPG rufst Du mit


/web/epgmulti?bRef=&time=&endTime=

auf.
Siehe Webinterface

Als Antwort bekommst Du eine komplette EPG Liste. Diese müsstest Du dann entsprechend deinen Wünschen in eine HTML Tabelle oder sonstige Darstellungsform schreiben und dann diese HTML Seite in IPSView einbinden. Was fertiges habe ich da aber auch nicht an der Hand da ich selber als EPG die Daten des einzelnen Senders anzeigen lassen und kein MultiEPG das wäre an sich aber eine feine Sache. Ich hatte da mal angefangen habe das aber eingestellt weil ich vom Layout nicht zufrieden war. Unter anderem ist mir keine Sinnvolle Lösung eingefallen Sendungen mit sehr kurzer Laufzeit sauber lesbar in so einem Format darzustellen. Aber vielleicht fällt Dir oder jemand anderem da ja eine Lösung ein oder es hat sogar jemand schon fertig in Nutzung.

[QUOTE=Fonzo;331830]Ich besitze eine Dreambox ich nehme aber an die VU hat die gleichen Befehle das musst Du mal selber testen.

MultiEPG rufst Du mit


/web/epgmulti?bRef=&time=&endTime=

auf.
Siehe Webinterface

Ich denke mit deinem Denkanstoß komme ich weiter, da kann ich mir sicher etwas zusammenbauen!
Aber derzeit verstehe Ich nur Bahnhof!

Vielleicht kannst du mir Stichwörter schreiben Was Wo Wie!

Mfg
Maxx

Das hilft ihm glaube ich in dem konkreten Anwendungsbeispiel nicht weiter. Weil er will ja Licht schalten. Dein Modul bekommst zwar mit wenn ein Sender geändert wurde aber das ja auch nicht sofort sondern nur wenn vom Modul ein Request gestellt worden ist, dadurch entsteht dann eine zeitliche Verzögerung. Und komplett auf Dein Modul umzustellen um MultiEPG in IPSView darzustellen geht zur Zeit ja auch nicht, da muss er zumindest sich noch selber eine HTML Seite basteln, es Sei denn Du bist so lieb und baust noch eine MultiEPG Ansicht bei Dir ins Modul ein ;).

Also wenn Du tatsächlich was hinbekommst was nach was aussieht und sich bedienen lässt freue ich mich natürlich darüber wenn Du das Ergebniss teilst ;).

Also Du gibts den Befehl mal testweise in einen Browser ein dann siehst Du den Response. Aus IP-Symcon müstest Du mit curl oder file_get_contents arbeiten.

bref ist die Bouquet Reference Nummer
time die Startzeit als Unix Timestamp
endtime die Endzeit als Unix Timestamp

Du bekommst dann als Ausgabe alle Einträge in dem Zeitraum des Bouquets von der Drembox geliefert.

Ich bin unterwegs wenn ich zu Hause bin kann ich mal ein konkretes Beispiel posten.

Hallo Fonzo!

Das Modul von Bayaro ist Super jedoch fehlt das Komplette EPG, denn im Modul werden ja nur angezeigt was gerade läuft und was als nächstes kommt!

Denn auf der Weboberfläche von der VU sehe Ich das EPG und man kann zwischen 2 Modi umschalten Zeitstrahl oder Magazin!

Wenn man das jetzt genau so in ipsview einbauen könnte und noch auf sender umschalten könnte wäre das Super!

Mfg

Mein Favorit wäre ja wenn man sich Android apps in der IPSView anzeigen lässt aber das ist leider nicht möglich!

Das ist nur mit Bastelarbeit verbunden funktionieren tut das. Ich nutzte dafür noch NEO geht in IPSView aber logischerweise auch ist ja nur eine HTML Seite.

Wie so eine Kanalliste aussieht siehst Du ganz unten im dem Beitrag hier.

Den Quellcode kann ich erst posten wenn ich wieder zu Hause bin.

Also hier mal die Funktion zum auslesen des MultiEPG diese gibt einen Array zurück. Diesen müsstetst Du dann entsprechend in ein Layout setzten wie Du das gerne hättest.


// Fragt Multi EPG Daten ab
// time und endtime müssen übergeben werden 

function ENIGMA2_MultiEPG($ipadr, $time, $endtime, $bRef)
{
$xmlResult = new SimpleXMLElement(file_get_contents("http://".$ipadr."/web/epgmulti?bRef=".$bRef."&time=".$time."&endTime=".$endtime));
$number = ($xmlResult->e2event->count());
$multiepglist = $xmlResult->e2event;
    foreach ($multiepglist as $event)
		{
      $sendername = utf8_decode("$event->e2eventservicename");
		$description = utf8_decode("$event->e2eventdesription");
		$description =  str_replace('?','<br>',$description);
		$duration = ("$event->e2eventduration");
		$startunix = utf8_decode("$event->e2eventstart");
		$start = date("H:i",(int)$startunix).' Uhr'; // Endzeit
		$endunix = (int)$startunix + (int)$duration;
      $end = date("H:i", $endunix) .' Uhr'; // Endzeit
		$sref = utf8_decode("$event->e2eventservicereference");
      $pref = str_replace(':','_',$sref);
		$pref = substr($pref, 0, -1);
      $id = utf8_decode("$event->e2eventid");
      $currenttime = utf8_decode("$event->e2eventcurrenttime");
      $title = utf8_decode("$event->e2eventtitle");
      $descext = utf8_decode("$event->e2eventdescriptionextended");
		$descext =  str_replace('?','<br>',$descext);

			$multiepg[] = array(
				"sendername" => $sendername,
				"description" => $description,
				"start" => $start,
				"end" => $end,
				"startunix" => $startunix,
				"endunix" => $endunix,
				"sref" => $sref,
				"pref" => $pref,
				"id" => $id,
				"currenttime" => $currenttime,
				"title" => $title,
				"descext" => $descext,
				"duration" => $duration
				);
		}

		return $multiepg;
}

Diese rufst Du dann z.B. so auf


// Gibt ein MultiEPG als Array zurück
$bRef = "1%3A7%3A1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3AFROM%20BOUQUET%20%22userbouquet.favourites.tv%22%20ORDER%20BY%20bouquet";

// Zeit Abfragen
$time = time();
//echo $time;
$endtime=1080;
$multiepg = ENIGMA2_MultiEPG($ipadr, $time, $endtime, $bRef);
var_dump($multiepg);

Bouquet musst Du an Dein Bouquet anpassen und die Zeit halt an den Zeitraum den die Daten umfassen sollen.

Das finde ich ein gutes MultiEPG
BBC
das übersteigt aber meine Zeit so was zu basteln. Gut finde ich daran, das man auch die Einträge lesen kann, die wegen der kurzen Sendezeit sonst nicht zu entziffern wären.