Wie erstelle ich ein eigenes Plugin?
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
So sitze schon wieder zwei Stunden an meinem Plugin aber mit "sleep 3" funktioniert das leider nicht. Das Popup kommt so extrem kurz das man es nicht lesen kann dann fährt die Box auch schon runter.
Irgendwie wird das nicht so abgearbeitet.
Kann man dem Pop nicht selbst eine Zeit zuordnen wie lange es angezeigt werden soll?
Gruß Gorcon
Nachtrag: gibts irgendwo eine Befehlsübersicht die deutsch Dokumentiert ist?
Irgendwie wird das nicht so abgearbeitet.
Kann man dem Pop nicht selbst eine Zeit zuordnen wie lange es angezeigt werden soll?
Gruß Gorcon
Nachtrag: gibts irgendwo eine Befehlsübersicht die deutsch Dokumentiert ist?
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
-
- Interessierter
- Beiträge: 45
- Registriert: Freitag 18. Oktober 2002, 20:56
morgen
1.check mal auf der shell was passiert wenn du sleep 3 eingibst.
2.du kannst ja auch nmsg parameter verwenden ist ja egal wenn du einen reboot machst wird auch das fenster geschlossen
3.du kannst auch auf der shell nochmal dos2unix <dein shellscript> ausführen und es sollten keine dos zeilenumbrüche vorhanden sein
zeig mal dein aktuelles script.
cu animal
1.check mal auf der shell was passiert wenn du sleep 3 eingibst.
2.du kannst ja auch nmsg parameter verwenden ist ja egal wenn du einen reboot machst wird auch das fenster geschlossen
3.du kannst auch auf der shell nochmal dos2unix <dein shellscript> ausführen und es sollten keine dos zeilenumbrüche vorhanden sein
zeig mal dein aktuelles script.
cu animal
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
Code: Alles auswählen
#!/bin/sh
cd /var/tuxbox/plugins
wget -q http://127.0.0.1/control/massage?popup=S02%20bzw.%20P02%20Karte%20Aktiviert!!
rm /var/tuxbox/ucodes/cam-alpha.bin
cp /var/tuxbox/ucodes/cam-alpha_Sat.bin /var/tuxbox/ucodes/cam-alpha.bin
rm /var/tuxbox/plugins/shell2
cp /var/tuxbox/plugins/shell_Kabel /var/tuxbox/plugins/shell2
sleep 3
reboot
exit;
cp /var/tuxbox/plugins/shell_Kabel /var/tuxbox/plugins/shell2" sollen das shell austauschen damit ich nur ein Plugin im Blauen Menü habe. Mit einem weiteren wird dann wieder zurückgetauscht.
Im log kann man leider nichts sehen ob "sleep 3" aufgerufen wird oder nicht (aber wenn nicht würde warscheinlich eine Fehlermeldung kommen oder?)
Code: Alles auswählen
[CPlugins] try exec...
[CPlugins] exec done...
/dev/input/event1: No such file or directory
Starting pid 113, console /dev/console: '/etc/init.d/halt'
CXA2092 found
CXA2092 found
Unmounting 'ramfs' on '/tmp'
umount: /tmp: Device or resource busy
Unmounting 'jffs2' on '/var'
umount: forced umount of /dev/mtdblock/3 failed!
Oops: umount failed :-( -- trying to remount readonly...
Ready to shutdown system...
The system is going down NOW !![ConfigFile] Unable to open file /var/tuxbox/conf
ig/contr[nhttpd] stop requested......
[ConfigFile] Unable to open file /var/tuxbox/config/controld.conf for writing.
Sending SIGKILL to all processes.
Please stand by while rebooting the system.
Gruß Gorcon
-
- Interessierter
- Beiträge: 45
- Registriert: Freitag 18. Oktober 2002, 20:56
hallo
die cd anweisung ist IMHO nicht notwendig.
massage ??? find ich super
kann das sein dass beim löschen der camalpha neutrino abstürzt dann ist klar warum das popup weg ist glaub ich jedenfalls.
gib mal das sleep 3 nach dem aufruf der message an.
wegen dem nmsg parameter hier die HTTP API Doku:
http://cvs.tuxbox.org/cgi-bin/viewcvs.c ... cvs-markup
animal
die cd anweisung ist IMHO nicht notwendig.
Code: Alles auswählen
wget -q http://127.0.0.1/control/massage?popup=S02
kann das sein dass beim löschen der camalpha neutrino abstürzt dann ist klar warum das popup weg ist glaub ich jedenfalls.
gib mal das sleep 3 nach dem aufruf der message an.
wegen dem nmsg parameter hier die HTTP API Doku:
http://cvs.tuxbox.org/cgi-bin/viewcvs.c ... cvs-markup
animal
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
Das war noch eine ältere Version mit einem Tipp Fehler den ich aber schon gefixt habe.massage ??? find ich super
habe eben das mit
Code: Alles auswählen
wget -q http://127.0.0.1/control/message?nmsg=S02%20bzw.%20P02%20Karte%20Aktiviert!!
Nein tut es nicht denn ich habe ja extra den reboot einbauen müssen damit die Box neu Bootet. wenn reboot fehlt dann bleibt das Popup länger.kann das sein dass beim löschen der camalpha neutrino abstürzt dann ist klar warum das popup weg ist glaub ich jedenfalls.
Eventuell stürzt Neutrino von reboot ab. (bootet aber neu so wie es sein sollte)
So ich habe "sleep 3" jetzt direkt hinters den message Aufruf gesetzt. bringt absolut nichts. maximal eine halbe Sekunde zu sehen.
Gruß Gorcon
Nachtrag: Jetzt habe ich die Zeit Spassenshalber auf 30 erhöht mit dem Ergebniss das die Message 30 sek wartet bis sie erscheint und dann wieder nur ca. 05sek zu sehen ist. Warum denn das???
Code: Alles auswählen
#!/bin/sh
cd /var/tuxbox/plugins
wget -q http://127.0.0.1/control/message?nmsg=S02%20bzw.%20P02%20Karte%20Aktiviert!!
sleep 30
rm /var/tuxbox/ucodes/cam-alpha.bin
cp /var/tuxbox/ucodes/cam-alpha_sat.bin /var/tuxbox/ucodes/cam-alpha.bin
rm /var/tuxbox/plugins/shell2
cp /var/tuxbox/plugins/shell_Kabel /var/tuxbox/plugins/shell2
reboot
exit;
-
- Interessierter
- Beiträge: 45
- Registriert: Freitag 18. Oktober 2002, 20:56
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
Funtionieren tut er ja offensichtlich aber er wird nicht dann aufgrufen wenn er soll.
Aber warscheinlich denke ich nicht in "Linux".
Ich dachte ja das die Befehle so abgearbeitet werden wie ich sie im shell eingetragen habe. Aber irgendwie ist das nicht der Fall.
Eigentlich brauche ich die Message ja nur weil ich sie im blauen Menü nicht exakt anzeigen lassen kann was das shell gerae vor hat. denn in der shell.cfg ist ja der Text drinn wie das Plugin heist nur liegt das ja im read Only Bereich daher kann ich dieses nicht per Plugin tauschen lassen.
Mir würde im Prinzip reichen wenn ich im Blauen Menü stehen hab das ich die cam-alpha für eine K02 Karte gegen eine S02/P02 cam-alpha tauschen kann. nach dem neu booten sollte dann genau umgekert S02/P02 gegen K02 drinn stehen. aber wie gesagt geht das nicht wegen read only. Und die Plugins laufen ja nicht im /var/tuxbox/plugin Verzeichniss. (dort steht nur das shell und die message befehle drinn.)
Gruß Gorcon
Aber warscheinlich denke ich nicht in "Linux".
Ich dachte ja das die Befehle so abgearbeitet werden wie ich sie im shell eingetragen habe. Aber irgendwie ist das nicht der Fall.
Eigentlich brauche ich die Message ja nur weil ich sie im blauen Menü nicht exakt anzeigen lassen kann was das shell gerae vor hat. denn in der shell.cfg ist ja der Text drinn wie das Plugin heist nur liegt das ja im read Only Bereich daher kann ich dieses nicht per Plugin tauschen lassen.
Mir würde im Prinzip reichen wenn ich im Blauen Menü stehen hab das ich die cam-alpha für eine K02 Karte gegen eine S02/P02 cam-alpha tauschen kann. nach dem neu booten sollte dann genau umgekert S02/P02 gegen K02 drinn stehen. aber wie gesagt geht das nicht wegen read only. Und die Plugins laufen ja nicht im /var/tuxbox/plugin Verzeichniss. (dort steht nur das shell und die message befehle drinn.)
Gruß Gorcon
-
- Interessierter
- Beiträge: 45
- Registriert: Freitag 18. Oktober 2002, 20:56
warum läuft das Plugin nicht in /var/tuxbox/plugins ??
du musst doch nur die shell.so oder wie die bei dir heisst mit einem hexeditor bearbeiten d.h. textstelle /lib/tuxbox/plugins/shell den ausdruck lib in var ändern und abspeichern. dann läuft es im /var...
ich hoffe auch dein image ist einaktuelles (API 3) sonst müsste man auch noch neutrino patchen.
animal
du musst doch nur die shell.so oder wie die bei dir heisst mit einem hexeditor bearbeiten d.h. textstelle /lib/tuxbox/plugins/shell den ausdruck lib in var ändern und abspeichern. dann läuft es im /var...
ich hoffe auch dein image ist einaktuelles (API 3) sonst müsste man auch noch neutrino patchen.
animal
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
-
- Senior Member
- Beiträge: 1339
- Registriert: Donnerstag 24. April 2003, 12:12
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
-
- Tuxboxer
- Beiträge: 2452
- Registriert: Montag 21. Oktober 2002, 10:04
... das Problem, dass Messages erst nach dem Beenden des Plugins angezeigt werden, hängt AFAIK mit dem Aufruf aus einem Plugin zusammen, zumindest war es so, das Enigma mit seinen Funktionen (window.show etc. ) nicht ansprechbar war, so lange das Plugin lief, vielleicht war/ist es bei Neutrino ähnlich
zum Pfad:
such mal in der *.so nach '/plugin', es gibt AFAIK nur eine Zeile die das enthält und poste mal das Ganze hier
zum Pfad:
such mal in der *.so nach '/plugin', es gibt AFAIK nur eine Zeile die das enthält und poste mal das Ganze hier
Schon gelesen ???
ENIGMA-DOC
ENIGMA-DOC
-
- Tuxboxer
- Beiträge: 2452
- Registriert: Montag 21. Oktober 2002, 10:04
... das Problem, dass berlios erst einen Fehler ansagt, den Beitrag aber trotzdem bringt kennen wir ja...
Schon gelesen ???
ENIGMA-DOC
ENIGMA-DOC
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
-
- Senior Member
- Beiträge: 1339
- Registriert: Donnerstag 24. April 2003, 12:12
@Gorcon: es ging mir nur um die Vermutung, daß Neutrino evtl. abstürzt weil man da rummanipuliert.
Ja, stimmt, die Shell muß als neuer Prozeß gestartet werden, damit die Plugin-Funktion zurückkehren kann. Ein Plugin übernimmt für den Zeitraum der Ausführung die komplette Kontrolle über den Framebuffer, alles andere wäre nicht im Sinne des Erfinders (Race Conditions).
Tja, wenn das die shell.so nicht vorsieht, dann muß man's wohl irgendwie in das Skript reinbasteln.
Ja, stimmt, die Shell muß als neuer Prozeß gestartet werden, damit die Plugin-Funktion zurückkehren kann. Ein Plugin übernimmt für den Zeitraum der Ausführung die komplette Kontrolle über den Framebuffer, alles andere wäre nicht im Sinne des Erfinders (Race Conditions).
Tja, wenn das die shell.so nicht vorsieht, dann muß man's wohl irgendwie in das Skript reinbasteln.
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
Im Prinizp habe ich schon verstanden, nur hilft es leider mir überhaupt nicht weiter.
Dann muss ich wohl doch wieder je ein Plugin für den jeweiligen cam-alpha Tausch einbauen. Nur wird die Liste so lang und extrem unübersichtlich.
Nun habe ich Wochenlang an dem Problem rumgebastelt und es absolut nichts gebracht.
Gruß Gorcon
-
- Tuxboxer
- Beiträge: 2452
- Registriert: Montag 21. Oktober 2002, 10:04
...das hat AFAIK mit dem was npq gesagt hat nichts zu tun, und scheint mir auch nicht nötig, ein hin- und hertauschen lässt sich locker mit einem shellscript realisieren, evtl. kannst du auch noch die shell.cfg (oder wie die bei dir heisst) entsprechend ändern, um eine richtige Anzeige zu haben, damit dein shellscript weiss, welche camalpha aktiv ist könntest du z.B. mitGorcon hat geschrieben:[...]Dann muss ich wohl doch wieder je ein Plugin für den jeweiligen cam-alpha Tausch einbauen. [...]
Code: Alles auswählen
touch .cam1
Code: Alles auswählen
if [ -e /var/tuxbox/config/.cam1 ]; then
bla....
Schon gelesen ???
ENIGMA-DOC
ENIGMA-DOC
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
Jetzt bringst Du meine "Birne" wieder zum rauchen.
Das mit dem Tauschen des Scrips geht ja auch alles schon, nur möchte ich auch irgendwie angezeigt bekommen was das Plugin gerade macht.
Also entweder das dort im Blauen Menü drinn steht das die K02 cam-alpha gegen die S02/P02 cam-alpha getauscht wird. Nach dem Booten sollte es dann umgekert drinn stehen.
aber die shell.cfg ist aber eben nicht austauschbar da sie nur im read only liegt.
Daher habe ich das ja versucht mit dem einblenden des Popups was aber offensichtlich nicht richtig funktioniert da es viel zu kurz angezeigt wird.
Oder binn ich jetzt wieder mal auf dem Holzweg?
Kann man denn die shell.cfg so ändern das ich dort eine Abfrage einbauen kann was gerade gemacht werden soll?
grübel, grübel, grübel.
Gruß Gorcon
Das mit dem Tauschen des Scrips geht ja auch alles schon, nur möchte ich auch irgendwie angezeigt bekommen was das Plugin gerade macht.
Also entweder das dort im Blauen Menü drinn steht das die K02 cam-alpha gegen die S02/P02 cam-alpha getauscht wird. Nach dem Booten sollte es dann umgekert drinn stehen.
aber die shell.cfg ist aber eben nicht austauschbar da sie nur im read only liegt.
Daher habe ich das ja versucht mit dem einblenden des Popups was aber offensichtlich nicht richtig funktioniert da es viel zu kurz angezeigt wird.
Oder binn ich jetzt wieder mal auf dem Holzweg?
Kann man denn die shell.cfg so ändern das ich dort eine Abfrage einbauen kann was gerade gemacht werden soll?
grübel, grübel, grübel.
Gruß Gorcon
-
- Interessierter
- Beiträge: 45
- Registriert: Freitag 18. Oktober 2002, 20:56
hi
mir ist auch noch was eingefallen
check mal:
und ein rebootscript:
durch den aufruf von sh /var/tuxbox/plugins/rebootscript & wird das erste script beendet und neutrino bekommt die kontrolle zurück und gibt das popup aus, im hintergrund wartet das rebootscript den sleep ab und rebootet.
animal
mir ist auch noch was eingefallen
check mal:
Code: Alles auswählen
#!/bin/sh
cd /var/tuxbox/plugins
wget -q http://127.0.0.1/control/message?nmsg=S02%20bzw.%20P02%20Karte%20Aktiviert!!
rm /var/tuxbox/ucodes/cam-alpha.bin
cp /var/tuxbox/ucodes/cam-alpha_sat.bin /var/tuxbox/ucodes/cam-alpha.bin
rm /var/tuxbox/plugins/shell2
cp /var/tuxbox/plugins/shell_Kabel /var/tuxbox/plugins/shell2
sh /var/tuxbox/plugins/rebootscript &
exit;
Code: Alles auswählen
#!/bin/sh
sleep 5
reboot
exit;
animal
-
- Tuxboxer
- Beiträge: 2452
- Registriert: Montag 21. Oktober 2002, 10:04
So, hab mir den ganzen thread seit deiner 'kleinen Zwischenfrage' (ca 3 Seiten) nochmal durchgelesen, trotzdem finde ich keine Erklärung, warum du die *so und die *cfg _datei nicht ins Verzeichnis /var/tuxbox/plugins legen kannst, es sei denn, es läge an diesem speziellen Image, dass diesen Pfad für Plugins nicht kennt, das glaube ich aber nicht.Gorcon hat geschrieben:[...]
aber die shell.cfg ist aber eben nicht austauschbar da sie nur im read only liegt.[...]
Wenn du die beiden Dateien nach /var/tuxbox/plugins verschieben könntest, wäre auch die *cfg writeable (beschreibbar) und du bräuchtest nur ein script und keine messages zum zu erkennen von wo nach wo du switched, du müsstest nur bei jedem Umschalten die description-zeile ändern, aber vielleicht bist du mit dem jetzigen Stand ja auch zufrieden, hast du denn mal animals vorschlag ausprobiert?
Es gibt übrigens ein sehr gutes online-handbuch zur shell-programmierung, das einmal in einem thread hier empfohlen wurde (lass es DieMade gewesen, ich weiss es aber nicht mehr), vielleicht findest du den link ja mit der Suchen-Funktion
Schon gelesen ???
ENIGMA-DOC
ENIGMA-DOC
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
@animal
werde ich nochmal probieren aber ich hatte sowas ähnliches auch schon getestet und da wurde das zweite Plugin das aufgerufen werden sollte ignoriert. (könnte aber auch ein Fehler von mir gewesen sein).
@essu
Das Original war ein jffs only und selbst dort hat der "Erbauer" es in das /lib/tuxbox/plugins gelegt und das shell ins /var/plugins/ gelegt. (Den Pfad habe ich dann aber zu /var/tuxbox/plugins gepatcht)
Und ich schreibe hier nochmal hin das ist ein ganz normales AlexW Snapshot vom 3.03.04 also nichts besonderes.
Ich hatte auch schon jffs only Images probiert dort klappt das was ich will ohne Probleme, nur sind diese Images nicht alzu stabil.
Wegen dem Online Handbuch werde ich mal schaun. Hauptsache es ist auch in Deutsch.
Gruß Gorcon
werde ich nochmal probieren aber ich hatte sowas ähnliches auch schon getestet und da wurde das zweite Plugin das aufgerufen werden sollte ignoriert. (könnte aber auch ein Fehler von mir gewesen sein).
@essu
Ich kannes Dir nicht erklären es läuft dort einfach nicht. Keine Ahnung warum.So, hab mir den ganzen thread seit deiner 'kleinen Zwischenfrage' (ca 3 Seiten) nochmal durchgelesen, trotzdem finde ich keine Erklärung, warum du die *so und die *cfg _datei nicht ins Verzeichnis /var/tuxbox/plugins legen kannst, es sei denn, es läge an diesem speziellen Image, dass diesen Pfad für Plugins nicht kennt, das glaube ich aber nicht.
Das Original war ein jffs only und selbst dort hat der "Erbauer" es in das /lib/tuxbox/plugins gelegt und das shell ins /var/plugins/ gelegt. (Den Pfad habe ich dann aber zu /var/tuxbox/plugins gepatcht)
Und ich schreibe hier nochmal hin das ist ein ganz normales AlexW Snapshot vom 3.03.04 also nichts besonderes.
Ich hatte auch schon jffs only Images probiert dort klappt das was ich will ohne Probleme, nur sind diese Images nicht alzu stabil.
Wegen dem Online Handbuch werde ich mal schaun. Hauptsache es ist auch in Deutsch.
Gruß Gorcon
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
Code: Alles auswählen
[CPlugins] try exec...
[CPlugins] exec done...
/dev/input/event1: No such file or directory
/var/tuxbox/plugins/shell2: 8: shell3: not found
Gruß Gorcon
-
- Interessierter
- Beiträge: 45
- Registriert: Freitag 18. Oktober 2002, 20:56
moin
haste aber schon den kanzen pfad angegeben
animal
haste aber schon den kanzen pfad angegeben
Code: Alles auswählen
/bin/sh /var/tuxbox/plugins/shell3 &
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46