Antworten
Mrz 07, 2016 - 10:35
Mit Hilfe von IP-Symcon in Verbindung mit NEO und dem Modul IP-Symcon kann von einem Sat Receiver mit Enigma 2 Webinterface (z.B. Dreambox) Statusrückmeldungen in NEO visualisiert werden.
Die folgenden Variablen stehen bei Nutzung des IP-Symcon Moduls zur Verfügung um diese in einzelnen Elementen auf der Remoteoberfläche zu platzieren.
Darüber hinaus können mit Hilfe von Funktionen in IP-Symcon weitere Werte ausgelesen werden und dann in Webseiten geschrieben werden, die dann innerhalb von NEO im Webseitenelement dargestellt werden können.
Folgende Funktionen stehen in der Kombination von NEO mit IP-Symcon für den Sat Receiver zur Verfügung
- Nachrichten an Receiver senden
- Tastenbefehle an den Receiver senden
- Informationen über das Receiver-System auslesen und anzeigen
- Informationen über den aktuellen/nächsten Sender/Sendung
- Timerliste anzeigen
- Aufnahmenliste auslesen
- EPG Suche
- Sender umschalten
- Signalstärke auslesen
- Tonspuren auswählen
- Sleeptimer setzen
Eine vollständige Übersicht der Funktionen findet man auf der Seite des BY_Enigma2BY Moduls.
Einrichtung:
Vorraussetzung:
- Funktionsfähiges IP-Symcon in der Version 4 auf einer der Plattformen Raspberry Pi, Apple OS X, Ubuntu und Windows
- Installiertes und konfiguriertes BY_Enigma2BY PHP Modul für IP-Symcon 4 für Enigma2 Boxen
- NEO mit freigeschalteten IP-Symcon Plugin
Konfiguration
- NEO ist zur Zeit nicht in der Lage Boolean Variablen mit dem IP-Symcon Modul zu togglen, daher muss zum Togglen von Werten ein Script in IP-Symcon aufgerufen werden
- Zunächst ergänzen wir also Scripte und Variablen um dann bei Power und Mute in NEO einen Kippschalter benutzten zu können.
- Weiterhin ist NEO zur Zeit nicht in der Lage eine Funktion einer Instanz aufzurufen. So lange dies bedauerlicherweise so der Fall ist müssen wir als Workaround ein Script pro Funktionsaufruf anlegen, dass dann von NEO aus gestartet werden kann. So brauchen wir also für das Umschalten der Sender und das Senden von einem Remotebefehl über LAN ebenfalls jeweils ein Skript. Es bleibt zu hoffen, dass dieser Workarround in Zukunft hoffentlich wegfällt.
Damit wir die vielen Skripte nicht von Hand anlegen müssen führen wir ein Installationsskript extra für NEO durch, das uns alle benötigten Skripte in IP-Symcon anlegt.
Dazu legen wir eine neue Kategorie in IP-Symcon an unter der die Skripte installiert werden sollen. Wir stellen sicher das das PHP Modul für den Enigma2 Receiver richtig in IP-Symcon läuft.
Jetzt kopieren wir den Inhalt unter folgendem Link
in ein leeres Script in IP-Symcon ergänzen oben die ObjektID der angelegten Kategorie unter der die Skripte angelegt werden sollen, speichern und führen dann das Script aus. Jetzt sind für alle vorhandenen Enigma 2 Geräte in IP-Symcon die über das BY_Enigma2BY Modul eingebunden sind jeweils ein Script für Power und Mute, Skripte zum Umschalten und Scripte für Remotebefehle angelegt worden. Weiterhin wurde noch eine zusätzliche Variable für Power angelegt.
Hierzu liest das Installationskript die Fernsehsender des Receivers aus und legt für jeden Sender ein Script zum schalten an das dann von NEO aus aufgrufen werden kann. Wieviele Skripte angelegt werden ist also abhänig von der Anzahl der Sender des Bouquets.
- In NEO ist nun erneut ein Import der Geräte von IP-Symcon durchzuführen, damit alle neu angelegten Scripte auch verfügbar sind.
Anlegen der Elemente
Jetzt legen wir für die Werte jeweils ein Element in NEO an mit folgenden Einstellungen:
AC3 Downmix, HDD Kapazität (frei), HDD Kapazität (Gesamt), SNR dB, Aktuelle Sendungsdauer Min., Akt. Sendung vergangene Min., Akt. Sendungsdauer Rest Min., Akt. Sendung Fortschritt, Next Sendungsdauer Min.
als Textfeld mit status formatted
Enigma-Version, HDD Modell, Image-Version, Receiver-Modell, ACG, BER, SNR, Video-Höhe, Video-Breite, Webif-Version, Tonspur-Aktiv, Akt. Sendungstitel, Akt. Sendungsbeschreibung lang, Akt. Sendername, Akt. Sendungsbeschreibung kurz, Next Sendungstitel, Next Sendungsbeschreibung lang
als Textfeld mit status
Akt. Sendung Startzeit, Akt. Sendung Endzeit, Next Sendung Startzeit, Next Sendung Endzeit
als Textfeld mit status
Suffix Uhr
Akt. Sendung Fortschritt
als Slider mit status
Intervall 0 /100
Schritt 1
Für die Befehle legen wir einen Button an
Hier wählen wir dann als Aktion jeweils das Skript aus das den Befehl duchführen soll
Anzeigen des Senderlogos des aktuell laufenden Senders am Beispiel einer Enigma 2 Sat Receiver (Dreambox)
Wir nehmen dazu eine Variable in IP-Symcon mit dem Inhalt der pref des aktuell laufenden Senders. Zunächst legen wird unter dem Ordner auf dem IP-Symcon Server unter webfront/user/neo eine Webseite dreamboxlogo.php ab. Wir legen einen weitern Ordner unterhalb webfront/user/neo mit dem Namen piconneo (webfront/user/neo/piconneo ) an. Weiterhin sind in IP-Symcon unterhalb von webfront/user/neo zwei neue Ordner js und css anzulegen.
In den Unterordner js legen wir die datei reflex.js von
http://www.netzgesta.de/reflex/
ab.
Im Ordner css legen wir die Datei neowebelement.css ab
In die Datei dreamboxlogo.php kopieren wir folgendem Inhalt:
Inhalt dreamboxlogo.php
Wir müssen noch in der Datei User, Passwort, IP-Adresse und die ObjektID anpassen und dann abspeichern.
User [USER] Emailadresse (Nutzername (Emailadresse) die beim Registrieren von IP-Symcon verwendet wurde)
Passwort [PASSWORT] Passwort für den Fernzugriff auf IP-Symcon. Falls der Fernzugriff auf IP-Symcon noch nicht eingerichtet worden ist ist dies wie hier beschrieben nachzuholen.
IP-Adresse [IP IPS] IP Adresse vom IP-Symcon Server
ObjektID [OBJEKTID] 5 stellige Zahl der Variable Akt. Sender PRref der Enigma2 Instanz in IP-Symcon.
Abb.: ObjektID (links) der Variable Akt. Sender PRef abschreiben
In einem zweiten Schritt kopieren wir eine Sammlung von picons die als Dateinamen die pref haben in den Ordner piconneo
Picons gibt es über all im Internet zu herunterladen (Googlesuche picons dreambox).
Jetzt legen wir in NEO ein Webseitenelement an
URL ist
http://[IP Adresse des IP-Symcon Servers]:3777/user/neo/dreamboxlogo.php
Das Ergebnis kann den mit NEO individuell kofiguriert werden und könnte z.B. so oder ähnlich aussehen
welche der Variablen man dann wie anordnet ist dem User überlassen.
Grundsätzlich können wir uns so jede Webseite die mit Inhalten durch IPS generiert wurde in NEO anzeigen lassen.
Leider lassen sich in NEO im Gegensatz zum alten Creator Inhalt von Webseitenelementen zur Zeit nicht scrollen. Daher können wir bis dies behoben ist zur Zeit keine Listen wie Timer, Aufnahmen Listen und EPG in NEO verwenden, da sich diese nicht scrollen lassen und wir daher nur einen Teil sehen.
Wenn dies endlich behoben ist könnten wir dann aber auch eine Kanalliste wie hieranzeigen und darüber dann auch auf den passenden Sender umschalten
Beispiel Kanalliste
Mrz 08, 2016 - 17:13
Das funktioniert alles bereits in der Basic Version von IP-Symcon. Die Versionen unterscheiden sich nur in der Anzahl der zu nutzenden Variablen und in der Anzahl der Webfronts (Mögliche Bedienungsoberflächen). Man kann im webfront/user Verzeichnis beliebig viele und jegliche Webseite ablegen, die dann angezeigt werden kann. Den Webfront kannst man zwar selber auch in NEO anzeigen aber eigentlich hast man ja NEO, damit man sich seine eigene Oberfläche bastelt.
Die Anzahl der möglichen Oberflächen (Webfronts) unterscheiden sich von Version zu Version von IP-Symcon. Mit NEO kann man sich aber ja beliebig viele individuell gestaltete Bedienungsoberflächen anlegen in denen man die Variablen frei platzieren kann, insofern wird man wahrscheinlich die vielen Webfronts bei Verwendung von NEO eher nicht brauchen. Bei den größeren Versionen ist es möglich die Webfront Oberfläche mit einem What I See Is What I Get Editor zu bearbeiten. Auch diesen brauchst man nicht zwingend, denn zur Gestaltung der Oberfläche hat man ja NEO. Mit NEO kann man ja frei gestalten und die Variablen aus IP-Symcon frei auf der Oberfläche mit NEO platzieren. Insofern ist der Webfront Editor von IP-Symcon an sich nicht von Nöten, weil man ja wahrscheinlich den Webfront gar nicht richtig nutzen wirst, sondern stattdessen seine eigene Remoteoberfläche in der NEO Remote App aufruft, die alle Daten aus IP-Symcon anzeigt.
Der Webfront könnte höchstens noch eine Rolle spielen, wenn man eine Apple Watch benutzt. Aber später im Jahr soll es ja wohl von Mediola mit NEO auch die Möglichkeit geben für die Apple Watch zu gestalten.
Es gibt einen Unterschied wie man Variablen in NEO aus IP-Symcon darstellen kann. Alle Variablen die fest sind können als einzelne Datenpunkte einem NEO Element zugeordnet werden und diese dann frei auf der Oberfläche platziert werden. Für diesen Ansatz braust man null HTML Kenntnisse, da ja NEO die einzelnen Datenpunkte und Grafiken auf der Seite setzt.
Eine zweite Möglichkeit besteht darin beim Abrufen von Geräteabfragen diese Daten nicht in eine feste Variable zu schreiben, sondern diese in einem Script zu verarbeiten und dann als HTML Seite auszugeben. Das spart Variablen da man dann nur eine einzige Variable im Webfront als HTMLbox braucht um den gesamten Inhalt darzustellen. Hierzu ist es dann notwendig entweder selber sich mit HTML. zu beschäftigen oder auf Vorlagen zuzugreifen.
Fazit:
Der wesentliche Unterschied, der bei einer Nutzung von NEO in Kombination mit IP-Symcon in den unterschiedlichen Versionen auftritt ist die Anzahl der Variablen. Wie viele man da letztendlich braucht muss jeder für sich individuell beurteilen. Früher oder später kommt man auf die abenteuerlichsten Ideen was man alles machen kann oder welche Geräte man doch noch irgendwie steuern will und in NEO visualisieren und da werden die Variablen meist früher oder später doch knapp. Bei einer Lampe braucht man ja nur eine Variable (An/Aus) in dem Beispiel oben bräuchte man wenn man keine HTML Kenntnisse hat und einfach jede Variable einzeln z.B. in einem Textfeld platzieren will für die Dreambox 53 Variablen. Eine Kanalliste oder Timerliste, Aufnahmen Liste lassen sich realisieren funktionieren dann aber als Webseiten in einem Webseitenelement in NEO.
Von
Tolle Anleitung. Funktioniert alles bereits mit der Basic Version von IP Symcon? Als Voraussetzung wird die Version 4 genannt. Ich habe immer noch nicht kapiert ob ich ohne den Webfront Editor auch Webseiten bauen bzw integrieren kann.
In der Doku steht, dass man mind. die Professionell Version benötigt.
In dem Versionsvergleich steht, dass man Basic Version bereits per Basic Webfront visualisieren kann. Ist da etwas noch nicht aktualisiert? Muss ich selber html programmieren können?
Neuen Kommentar hinzufügen