Hallo,
habe in letzter Zeit ein wenig herumgespielt und mit viel Hilfe von setstate (DANKE!) mal eine erste Beta zu einem neuen Widget für Kodi erstellt.
Was kann sie derzeit:
- Anzeige des aktuellen Channel-Logos bzw. Fanposter zum laufenden Film
- Anzeige eines (mir sinnvoll erscheinenden) Playstatus zum aktuell laufenden Programm/Film
- Combobox mit verfügbaren PVR-Channels mit Logos und Infos zum aktuell laufenden Programm. Sucht man eine aus, startet Kodi den entsprechenden Kanal
Was kann sie noch nicht:
- Styles (css)
- Ausgaben für Songs, Bilder etc
- Combobox für channels ohne eigenes select im html (weiss noch nicht, wie ich das gebacken bekomme)
Beispiel-HTML-Code:
<li data-row="2" data-col="4" data-sizex="3" data-sizey="1">
<div class="picon" data-type="kodinowplaying" data-device='wzcore' data-get='picon'>
</li>
<li data-row="2" data-col="4" data-sizex="3" data-sizey="1">
<div class="cm" data-type="kodinowplaying" data-device='wzcore' data-get='cm'>
</li>
<li data-row="2" data-col="4" data-sizex="3" data-sizey="1">
<select id="dd1"></select>
<div class="channels" data-type="kodinowplaying" data-device='wzcore' data-get='kanaele' data-dropdown='dd1'>
</li>
Anleitung Installation:
- die channel-logos (picons) von der kodi-Maschine nach logodir kopieren (default: fhem/www/picons)
- das im ZIP-File enthaltene kodi.png ebenfalls in diesen Ordner kopieren
- widget_kodinowplaying.js nach js kopieren
- jquery.ddslick.js nach lib kopieren
- kodi_fillchannels.py irgendwo hin kopieren und einrichten (ACHTUNG: python 2.7!) (sh weiter unten)
- für das kodi-device in fhem folgendes anlegen: attr kodi-device userReadings art { ReadingsVal("kodi-device","type",0);; }
- event-on-update-reading auf .* stellen
Folgende Änderungen in kodi_fillchannels.py je nach Gegebenheit vornehmen:
FHEMURL = 'fhemhost:8083'
FHEMUSER = 'fhem_user'
FHEMPASS = 'fhem_password'
KODIURL= 'http://192.168.1.175:8080/'
KODIUSER = 'kodi_user'
KODIPASS = 'kodi_password'
logodir = '../picons/' #verzeichnis mit den icons (fuer die URLS)
Und dann das Programm testhalber direkt auf der shell aufrufen:
/usr/bin/python /pfad_zum_skript/kodi_fillchannels.py wzcore 100 J 1
Parameter: fhem-device (wzcore) channels (100) mit oder ohne Programm-Infos (J=mit) Zeitkorrektur (1 Stunde)
Jetzt sollte in fhem in dem Kodi-Device ein neues (recht langes Reading) channels zu finden sein.
Falls das funktioniert hat, empfielht es sich, in fhem ein at für die regelmäßige Befüllung einzurichten, zb:
define at_wzcore_channels at +*00:05:00 {system("/usr/bin/python /pfad_zum_skript/kodi_fillchannels.py wzcore 100 J 1&")}
Ach ja: Warum ich mich für eine "externe" Befüllung der Channel-Infos entschlossen habe und das nicht im widget selber mache: Performance. Die Befüllung dauert bei mir (fhem auf Quadcore unter debian und kodi auf Wetek-Core) ca. zwei Sekunden. Auf einem Tablet, wo ftui dann läuft entsprechend mehr. Daher das Befüllen auf der stärkeren Maschine und quasi im Hintergrund....
Man kann natürlich über den Sinn eines so langen Readings diskutieren, aber ich finde es so recht transparent...
Ich hoffe, die Erklärungen sind halbwegs verständlich und vollständig.
Ich würde mich über Tester und Feedback sehr freuen.
Cheers,
Pula
Bitte einmal den Betreff anpassen. Es ist kein Modul sondern ein Widget.
Nutze kein TabletUi werd aber mal schauen, ob ich was brauchen kann, danke.
Klingt interessant!
Allerdings macht das doch wohl wenig/keinen Sinn:
Zitatevent-on-change-reading und event-on-update-reading auf .* stellen
Gruß, Joachim
@CoolTux: Danke und sorry, ist angepasst.
@MadMax-FHEM: Wie meinst Du das, daß das keinen Sinn macht? Natürlich wäre es auch möglich, alle benötigten Readings aufzuzählen (wären einige).
Cheers,
Pula
Lies doch die commadref...
event-on-change-reading .*
bedeutet: für alle Readings nur einen Event, wenn sich das Reading geändert hat
event-on-update-reading .*
bedeutet für jedes Reading ein Event bei jedem Update, auch wenn der Wert sich nicht geändert hat
Bei beiden auf alles setzen macht doch dann wohl keinen Sinn...
Ist das selbe wie beide weglassen...
Gruß, Joachim
Stimmt, da war mal was. Danke für den Hinweis.
Eigenartigerweise funktioniert das widget bei mir so. Wenn ich die beiden Dinge weglasse, kommen aber keine Aktualisierungen mehr. Werde mir das nochmal ansehen...
Du hattest recht. Danke sehr. Habe das udpate-on-change herausgenommen (auch aus der Anleitung).
Cheers,
Pula
Hallo,
treib mich hier als Newbie herum und hätte ne Frage zu kodinowplaying. Bei mir funktioniert das Widget leider nicht.
Hab Kodi erfolgreich in fhem eingebunden. Mir ist beim einrichten aufgefallen, dass komischerweise die Ports unterschiedlich gesetzt sind, Kodi ist auf 8080 und das define wird automatisch mit 9090 abgeschickt.
Funktioniert aber und hat ,glaube ich, nichts mit dem Problem was ich hab zu tun.
Im FTUI hab ich versucht es so https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/kodinowplaying einzubinden. Leider ohne Erfolg.
Bekomme hier die Fehlermeldung ReferenceError: loadplugin is not define.
Und wenn ich schon mal dabei bin :) Remotecontrol ist auch auf fhem eingerichtet. Wie bekomm ich die Fernbediehnung in den FTUI?
An dieser Stelle ein dickes Danke an Tuer und Macher. Mein smartes Zuhause wächst und wächst, nicht weil ichs brauch, sondern, weils geht, Spaß macht und weil ichs kann. Naja können.....Bin wegen dem Raspberry vor vier Jahren komplett auf Linux umgestiegen und jetzt hab ich drei in Benutzung.
Genug geschwafelt, wäe schön wenn jemand helfen könnte.
Beste Grüße
Karsten
Hallo,
das ist ein wenig unglücklich benamt von mir, aber diese widget ist NICHT das, von dem du die Installations-Anleitung hast.
Schau dir den ersten post in diesem thread an...
Cheers,
Pula
Hallo Pula,
sorry, aber hab nur kodinowplaying gelesen und drauf los geschrieben.
Leider finde ich recht wenig über das Widget und dachte ich versuchs mal.
Vielleicht könntest du mich trotzdem an bzw. umleiten?
Lieben Dank
Karsten
Hallo Karsten,
ich würde dir gerne helfen, aber ich bin mir nicht sicher, was du erwartest oder brauchst?
ich hätte gehofft, dass die anleitung im ersten post recht genau ist.
wenn du aber nur eine normale steuerung für kodi brauchst, wird dieses widget hier eher nichts für dich sein, denn es ist vor allem für die steuerung/anzeige von kodi als tv-client ausgelegt.
Cheers,
Pula
Hallo Pula,
ich weiß, dass es hier mehr um den PVR geht.
Du bist der einzige der annähernd was zu kodinowplaying schreibt. Deswegen die Frage hier, wie bekomm ich kodinowplaying in den FTUI?
Mein Versuch, den ich ja von github hab sieht so aus:
<div data-type="kodinowplaying"
data-device="mein Kodidevice"
data-show="yes"
data-season="yes"
data-episode="yes"
data-title="yes"
data-artist="yes"
data-album="yes"
data-time="yes"
data-totaltime="yes"
data-playstatus="yes"
data-class-show=""
data-class-season=""
data-class-episode=""
data-class-title=""
data-class-artist=""
data-class-album=""
data-class-time=""
data-class-totaltime=""
data-class-playstatus=""
data-timeformat="HH:MM:SS"
data-playstatus-pauseonly="yes"
class="titleonly|short|notime"
></div>
Damit funktioniert es nicht und ich wüsste gerne wieso nicht.
Grüße
Karsten
Hallo Karsten,
ich weiss nicht so recht, wie ich dir helfen soll. heisst dein device in fhem wirklich "mein Kodidevice"?
cheers,
Pula