Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-91-generic x86_64)
python-autobahn:
Installiert: 0.5.14-1
python-twisted:
Installiert: 13.2.0-1ubuntu1
Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-91-generic x86_64)
python-autobahn:
Installiert: 0.5.14-1
python-twisted:
Installiert: 13.2.0-1ubuntu1
Das hatte ich ja geschrieben, dass die benötigten Pakete unter Ubuntu 14.04 (trusty) zu alt sind (und wie es aussieht baut die aktuelle kivy-Version auch nicht, weil das cython-Paket in den Paketquellen zu alt ist).
Man kann sich allerdings die ganzen Python-Pakete durchaus in einem virtualenv installieren - ich habe die README auf GitHub mal entsprechend erweitert.
Was schreibt der VDR bzw. das Plugin ins Log?
Dec 1 13:19:27 homeserver vdr: osd2web: HTTP: Requested uri: (1) '/'
Dec 1 13:19:27 homeserver vdr: osd2web: HTTP: Requested uri: (1) '/'
Dec 1 13:19:48 homeserver vdr: osd2web: DEBUG: Unhandled 'callbackHttp' got (4)
Sonst eigentlich nichts.
EDIT: Jetzt zeigt es garnichts mehr an, der Quelltext der leeren Seite sieht so aus:
<!DOCTYPE html>
<html>
<head>
<title>osd2Web</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<script type="text/javascript" src="../../common.js"></script>
</head>
<body>
<app id="app"></app>
<script type="text/javascript" src="skin.js"></script>
</body>
</html>
Alles anzeigen
Muss eventuell noch irgendwas irgendwohin kopiert werden? Sie Skins liegen jedenfalls im Plugin-Verzeichnis
Blockiert dein Browser eventuell Javascript?
Nein, hab auch einen anderen probiert, das gleiche. Eventuell liegts an den unhandled callback. Ich versuchs später nochmal mit einer älteren Version von Websocket.
Ja, das scheint an der neueren libwebsocket-Version zu liegen, das Problem kann ich hier unter Arch Linux auch nachvollziehen (ich bekomme aber einen 403-Fehler, wenn ich den Link für das Theme anklicke):
Ich sehe da keinen Unterschied beim Inhalt der Ordner - Arch Linux mit libwebsockets 2.4.0 mag nicht:
$ tree /var/lib/vdr/plugins/osd2web/
/var/lib/vdr/plugins/osd2web/
├── customdata
└── http
├── common.js
├── common.js.map
├── favicon.ico
├── index.html
├── intl.js
├── intl.js.map
└── skins
├── default
│ ├── index.html
│ ├── remotecontrol.jpg
│ ├── skin.js
│ ├── skin.js.map
│ └── themes
│ ├── default
│ ├── default.css
│ └── default.css.map
└── horchiTft
├── index.html
├── remotecontrol.jpg
├── skin.js
├── skin.js.map
└── themes
├── blue
├── bluecd
├── bluecd.css
├── bluecd.css.map
├── blue.css
├── blue.css.map
├── plain
├── plain.css
└── plain.css.map
7 directories, 26 files
Alles anzeigen
yaVDR 0.6.1 mit libwebsockets 2.2 klappt:
$ tree /var/lib/vdr/plugins/osd2web/
/var/lib/vdr/plugins/osd2web/
├── customdata
└── http
├── common.js
├── common.js.map
├── favicon.ico
├── index.html
├── intl.js
├── intl.js.map
└── skins
├── default
│ ├── index.html
│ ├── remotecontrol.jpg
│ ├── skin.js
│ ├── skin.js.map
│ └── themes
│ ├── default
│ ├── default.css
│ └── default.css.map
└── horchiTft
├── index.html
├── remotecontrol.jpg
├── skin.js
├── skin.js.map
└── themes
├── blue
├── bluecd
├── bluecd.css
├── bluecd.css.map
├── blue.css
├── blue.css.map
├── plain
├── plain.css
└── plain.css.map
7 directories, 26 files
Alles anzeigen
Hi,
Alexander hat mir gerade von dem Problem geschrieben.
Habe es angepasst, geht nun auch mit libwebsocket 2.4, allerdings erst mal nur im dia-dev Branch des Plugins - den übernehme ich in ca. 1 Woche nach master.
Wer mag kann ihn bereits verwenden nur nach Wechsel zur Dia-Show und zurück bleibt es noch hängen und man muss die Seite einmal neu laden.
Zur Dia-Show (Digitaler-Bilderrahmen) und zurück wechselt man mit "svdrpsend PLUG osd2web NEXT".
In dem Mode werden Bilder (*.jpg und *.jpeg) aus dem Order Plugin im Ordner <plugin-config>/http/dia/ angezeigt (aktuell ist der Wechsel noch hardcoded auf 20 Sekunden). Das Feature ist für die Anzeige auf einem TFT (gab es ja schon im graphTFT) gedacht ...
Viel Spaß und Grüße
Jörg
PS, das gray Theme des TFT Skins:
Danke, probiere ich später aus. Als ich übrigens libwebsocket unter /usr/local(/lib) installiert hatte, fand das Plugin die .so dann nicht. Erst als ich die lib mit Prefix /usr installiert hatte, ging es. Pkg-config hatte die lib jeweils gefunden.
manchmal hilft es einfach nach dem installieren der lib (wenn man das manuell gemacht hat) ldconfig aufzurufen
BTW, es gibt noch ein neues Feature, zum Starten eines lokalen Browsers (graphTFT Ersatz) kann man nun statt einem Init-Skript diese Arbeit dem Plugin überlassen, dann stimmt automatisch das Timing sodass der Browser erst hoch kommt wenn der HTTP Listener verfügbar ist.
Hierzu im Plugin Config Ordner das Skript startBrowser.sh ablegen, die URL mit dem vom Plugin verwendeten Port incl. der viewOnly Option wird mitgegeben, man muss nur noch das Theme eintragen, Beispiel:
root@vdr~> cat ~vdr/plugins/osd2web/startBrowser.sh
#!/bin/bash
URL=$1
THEME="graycd"
DISPLAY=:1.1 /usr/bin/midori -a "$URL$THEME"
exit 0
das Skript muss für den VDR user ausführbar sein ;). Wird es nicht gefunden ist alles wie gehabt.
Habe es angepasst, geht nun auch mit libwebsocket 2.4, allerdings erst mal nur im dia-dev Branch des Plugins - den übernehme ich in ca. 1 Woche nach master
Bei mir läuft es damit wieder, danke : -)
Bei mir auch inzwischen. Danke!
Ich fänds ja irgendwie cool, wenn die Skin-Erstellung "einfacher" wäre. Also als Beispiel: Ich erstelle mir ein Skinverzeichnis, packe da eine index.html mit dem Inhalt {{channel.channelname}} rein und im Browser wird der Kanalname angezeigt. Das ganze dann natürlich für alle möglichen Tokens. Weiß natürlich nicht, ob das möglich wäre. Zumindest können dann Skin-Entwickler die Frameworks verwenden, die sie wollen und man könnte direkt loslegen. Wollte auch mal einen Skin anfangen, aber momentan muss ich mich da erstmal einlesen, wie das mit osd2web, vuejs, node, npm usw. funktioniert.
Kopiert die doch den horchiTFT und passe den an, der Einzeiler wie du es neu bauen kannst steht im client/README.
Ich kann auch nicht nicht alles aber das was ich für horchiTFT benötigt habe hatte ich in 3-4 Tagen raus, ein ersten einfaches Skin hat man mit einarbeiten in weniger als einem halben Tag - also das technische nicht das es gurt aussieht ;). Wo ich nicht weiterkomme lese ich auf der vue und Bootstrap Seite oder frage Dirk .... ich hatte vorher mit html, css und js sogut wie nichts zu tun. Das Plugin (den c++ Teil) zu kennen hilft mir hinsichtlich der Skins Erstellung nicht nennenswert.
Ein {{channel.channelname}} im html wird von den Browsern nicht unterstützt.
Wenn es darum geht ein ganz anderes Framework statt Bootstrap und VUE zu verwenden, das geht ohne Probleme. Dann nimmt man das Plugin, lässt den Client weg und verbindet dich mit einem Client auf basis eines beliebigen Frameworks wie es zum Beispiel Alexander gemacht hat, muss nicht mal Browser bedingt sein.
Grüße Jörg
Na dann muss ich mich da mal reinfuchsen. Dachte halt, dass man solchen Tokens wie bei Twig verwenden könnte. War aber auch nur ein Beispiel. Icb schaue mir das mal in Ruhe an, wenn mal etwas Zeit ist.
Hi,
Plugin osd2web-0.2.0 - kein build(ubuntu trusty) gegen VDR-2.2.0 mit Pin Patch. Alle bisherigen Versionen hatten damit kein Problem!
In file included from update.h:26:0,
from osd2web.h:25,
from osd2web.c:18:
/usr/include/vdr/status.h:110:16: error: ‘virtual void cStatus::UserAction(eKeys, const cOsdObject*)’ was hidden [-Werror=overloaded-virtual]
virtual void UserAction(const eKeys key, const cOsdObject* Interact) {} // PIN PATCH
^
In file included from osd2web.h:25:0,
from osd2web.c:18:
update.h:327:20: error: by ‘virtual void cUpdate::UserAction(eKeys)’ [-Werror=overloaded-virtual]
virtual void UserAction(const eKeys key);
^
cc1plus: some warnings being treated as errors
make[1]: *** [osd2web.o] Error 1
Alles anzeigen
Gruss
Wolfgang
Mit diesem Patch von horchi sollte es bauen:
+--- a/update.h
+++ b/update.h
@@ -325,6 +325,7 @@
virtual void Recording(const cDevice *Device, const char *Name, const char *FileName, bool On);
virtual void TimerChange(const cTimer *Timer, eTimerChange Change);
virtual void UserAction(const eKeys key);
+ virtual void UserAction(const eKeys key, const cOsdObject*) { UserAction(key); }
private:
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!