dAF2000 Geplaatst: 21 januari 2006 Geplaatst: 21 januari 2006 Op verzoek en om PPanels een beetje te promoten geef ik hier een beetje een inleiding in 't maken van PPanels. Ik weet niet goed hoe te beginnen en misschien komen er nog wel vragen, maar ik begin alvast: Een PPanel is een menu dat je zelf kan maken en kunt toevoegen aan PLi Diamond. In PLi Citrine zat dit ook al, maar dat was meer beperkt. Je eigen PPanel kun je opslaan in /var/etc/ppanels en zal dan vanzelf onder "Show installed panels" verschijnen. Neem als voorbeeld PPanel_tutorial.xml in die directory. PPanels schrijf je dan ook in XML. Alle PPanels beginnen met: <directory name="..."> en eindigen op </directory>. Als je een file /var/etc/ppanels/test.xml maakt met: Code: <directory name="koe"></directory> krijg je gewoon een leeg scherm. Je kunt daarna schermen gaan toevoegen: Code: <directory name="koe"> <category name="kip"> </category></directory> en zul je zien dat je een menukeuze "kip" krijgt wat weer een leeg scherm opent (er staat namelijk nog niks tussen de <category> en </category>). Wat kun je dan zoal toevoegen in de menu's? - Het downloaden van een file van internet - Het afbeelden van een plaatje, zowel van internet als eentje die al op je Dreambox staat - Een script of programma uitvoeren - Een commentaarregeltje ergens toevoegen - Een scheidingslijn maken - Een scherm openen met de plugins - Een ander PPanel weer openen - En een tarball downloaden en die laten installeren op de image. Dat ga ik niet echt bespreken omdat het eigenlijk alleen voor eigen (PLi) gebruik is. Okee, we zetten wat "zinnigs" in 't "kip-scherm" nu: Code: <directory name="koe"> <category name="kip"> <picture name="Show GNU head" target="http://www.gnu.org/graphics/gnu-head-sm.jpg"/> </category></directory> Als je voor "Show GNU head" kiest, zal PPanel een jpg van internet downloaden en die afbeelden. Dit kan trouwens ook voor plaatjes die je op je Dreambox zelf hebt staan: Code: target="/hdd/plaatjes/plaatje.jpg" (of wat dan ook) Door meerdere regels toe te voegen, krijg je ook meer keuzes in 't menu. Op die manier kun je een leuke verzameling plaatjes maken voor bijvoorbeeld skin previews (kijk in /var/etc/software.xml) of kun je bijvoorbeeld weerplaatjes enzo (a la TuxWetter) maken. Behalve jpg, werken ook jpeg, crw, png, bmp en gif. Let er wel op dat sommige niet lukken, zoals geanimeerde gif's. Verder hebben de DM500 en 5620 wel 'ns problemen met plaatjes omdat ze maar 256 kleuren kennen. Wordt vervolgd...
dAF2000 Geplaatst: 21 januari 2006 Auteur Geplaatst: 21 januari 2006 Er valt natuurlijk wel meer te downloaden dan alleen plaatjes. Eigenlijk elke file kan. We gooien ook meteen 't "kip-menu" weg en werken met 1 scherm: Code: <directory name="koe"> <file name="Latest PLi News" url="http://pli.dreamvcr.com/news/pli_news.txt" target="/tmp/pli_news.txt"/></directory> Je zult zien dat er in /tmp nu een file pli_news.txt staat waar 't laatste PLi nieuws in staat. En die willen eigenlijk ook op 't scherm krijgen. In Linux heb je het "cat" commando en dat kunnen we toevoegen aan deze regel: Code: <directory name="koe"> <file name="Latest PLi News" url="http://pli.dreamvcr.com/news/pli_news.txt" target="/tmp/pli_news.txt" runAfterout="cat /tmp/pli_news.txt"/></directory> Met "runAfterout" geven we aan dat we een script of programma willen uitvoeren na 't downloaden van de file en de uitvoer op scherm willen krijgen. Dit kun je overal aan toevoegen, dus ook dit is mogelijk: Code: <directory name="koe"> <picture name="Show GNU head" target="http://www.gnu.org/graphics/gnu-head-sm.jpg" runAfterout="cat /tmp/pli_news.txt"/></directory> Dan krijg je gewoon 't plaatje van internet te zien en daarna de file /tmp/pli_news.txt. Niet erg zinvol, maar toch... Behalve die runAfterout is er ook runBeforeout om vantevoren iets uit te voeren. En als je alleen maar 't script of programma wil uitvoeren zonder te zien wat de uitvoer is, heb je runAfter en runBefore.
Gast Geplaatst: 22 januari 2006 Geplaatst: 22 januari 2006 Duidelijk verhaal en goed te volgen. Ik had zelf al zitten snuffelen in de scriptjes die je rond kerst kon downloaden, maar met deze uitleg word het een stuk duidelijker. Thanks! <img src="/forums/images/graemlins/cool.gif" alt="" />
patje1 Geplaatst: 22 januari 2006 Geplaatst: 22 januari 2006 Leuk, ik zie de volgende ppanels met vreugde tegemoet. Ik wil zelf ook iets gaan maken. Heb je misschien een link naar een xml site met codes en een how toe van xml? Ik zal je dankbaar zijn, Patje1 Dreambox DM500HD met 1 TB externe hardeschijf en een DM600 met 120GB harde schijf op een wavefrontier met astra 1,2 en 3.
dAF2000 Geplaatst: 22 januari 2006 Auteur Geplaatst: 22 januari 2006 Citaat: Leuk, ik zie de volgende ppanels met vreugde tegemoet. Ik wil zelf ook iets gaan maken. Heb je misschien een link naar een xml site met codes en een how toe van xml? Ik zal je dankbaar zijn, Patje1 De officiele specificatie van XML staat op: http://www.w3.org/TR/REC-xml/ Nu hoef je voor PPanels niet de hele specificatie te kennen. Maar 't is wel makkelijk om te snappen waarom 't bijvoorbeeld </directory> en <seperator/> (met de slash aan de achterkant) is. Die dingen zoals <directory>, <file>, runAfterout en dergelijke zul je daar niet vinden, dat is specifiek voor PPanel.
dAF2000 Geplaatst: 22 januari 2006 Auteur Geplaatst: 22 januari 2006 Deel 3: Het uitvoeren van scripts en programma's: Scripts en programma's (geen plugins) kun je met <execute> aanroepen. Code: <directory name="koe"> <execute name="Netstat" target="netstat"/></directory> Dit maakt een keuze "Netstat" in 't menu aan die het programma "netstat" zal aanroepen als je 't kiest. Net zoals in een normale shell in telnet kun je meerdere opdrachten geven: Code: <execute name="Netstat" target="echo koe; netstat"/> De echte freak kan ook nog eens een runBeforeout en een runAfterout toevoegen zodat je drie uitvoerschermen krijgt. Voor sommige programma's wil je misschien eerst een bevestiging toevoegen. Klinkt wel logisch als je bijvoorbeeld format harddisk in een PPanel wil zetten <img src="/forums/images/graemlins/wink.gif" alt="" /> Code: <directory name="koe"> <execute name="A program" target="echo koe" confirmation="true"/></directory> Door de confirmation="true" zal-ie eerst vragen of je "echo koe" wil uitvoeren. Maar je kunt ook een eigen waarschuwingstekst maken: confirmation="Koe zien?" Wat je in <execute> kan uitvoeren gaat wel wat verder dan wat simpele programmaatjes. Zolang 't werkt in telnet, werkt 't ook in PPanel. Let er wel op dat je geen commando's in de achtergrond (met "&") kunt aanroepen. En verder moet je er op letten dat bijvoorbeeld een "<" niet werkt in XML. Daar zul je net zoals in HTML "<" van moeten maken. Zo zijn er nog meer, maar ik kon er geen lijstje zo snel van vinden.
dAF2000 Geplaatst: 23 januari 2006 Auteur Geplaatst: 23 januari 2006 Die "confirmation" werkt overigens bij bijna alle ppanel-regels. Kijk in /var/etc/ppanels/PPanel_tutorial.xml voor de details. Er zijn nog wat andere commando's: - comment <comment name="Dit is een commentaarregel"/> Zet gewoon een regel tekst in 't scherm die niet te selecteren is. - separator <separator/> Om een scheidingslijntje in 't menu te zetten. Er zit een foutje in Enigma waardoor de Dreambox crasht als je comment of separator onderaan in 't scherm zet en dan op cursus-rechts drukt. Verder is nog mogelijk: - plugins <plugins name="Geinstalleerde plugins"/> Laat een scherm zien met de geinstalleerde plugins, die je vanuit daar kan aanroepen. - ppanel <ppanel name="Software management" target="/var/etc/software.xml"/> Om een ander PPanel aan te roepen. In dit geval 't Software management-scherm wat ook een PPanel is. Wat ik niet ga bespreken: - tarball - remove Deze zijn voor de PLi image zelf om dingen te installeren en verwijderen. In /var/etc/ppanels/PPanel_tutorial.xml staat wel wat info.
patje1 Geplaatst: 24 januari 2006 Geplaatst: 24 januari 2006 Ideetje. Is het misschien mogelijk om een ppanel te maken voor een online canal-digitaal key updater. Indien je je update om een of andere reden niet hebt binnen gehad, dat je dan op de site van canal-digitaal via dit ppanel je key update kunt aanvragen? Zo hoef je dus niet te bellen of de pc op te starten. patje1. Dreambox DM500HD met 1 TB externe hardeschijf en een DM600 met 120GB harde schijf op een wavefrontier met astra 1,2 en 3.
dAF2000 Geplaatst: 24 januari 2006 Auteur Geplaatst: 24 januari 2006 Citaat: Ideetje. Is het misschien mogelijk om een ppanel te maken voor een online canal-digitaal key updater. Indien je je update om een of andere reden niet hebt binnen gehad, dat je dan op de site van canal-digitaal via dit ppanel je key update kunt aanvragen? Zo hoef je dus niet te bellen of de pc op te starten. patje1. Als je 't via telnet kunt doen (en dus weet hoe je zou moeten doen) dan kan het vast wel. Maar ik denk dat 't lastig wordt. Je moet vast op die site allemaal dingen invullen, op knopjes drukken enzo. En zoiets krijg je nooit geautomatiseerd.
dAF2000 Geplaatst: 24 januari 2006 Auteur Geplaatst: 24 januari 2006 Een van de laatste PPanel-dingetjes: Het gebruik van "condition". Daarmee kun je een keuze in 't menu wel of niet laten zien afhankelijk van wat een script als waarde teruggeeft. Een stukje /var/etc/software.xml: Code: <execute name="Download latest menu" condition="[ ! -f /var/etc/ppanelautodownload ]" target="ppanelupdate.sh http://pli.dreamvcr.com/diamond/xml/dm7000/software.tar.gz /; rm -f /tmp/ppanelrefresh" confirmation="Are you sure to download the latest menu?"/> <execute name="Enable automatic menu downloads" condition="[ ! -f /var/etc/ppanelautodownload ]" target="touch /var/etc/ppanelautodownload; echo Automatic downloads enabled"/> <execute name="Disable automatic menu downloads" condition="[ -f /var/etc/ppanelautodownload ]" target="rm -f /var/etc/ppanelautodownload; echo Automatic downloads disabled"/> Als /var/etc/ppanelautodownload NIET bestaat, dan krijg je de keuzes "Download latest menu" en "Enable automatic menu downloads". Als-ie wel bestaat krijg je alleen "Disable automatic menu downloads". Je moet trouwens wel eerst uit 't menu als die file er ineens wel of niet is. Je krijgt niet vanzelf een nieuw menu, maar moet weer opnieuw opgebouwd worden. Je kunt in "condition" ook gewoon scripts aanroepen die dan 0 of 1 moet teruggeven. "condition" werkt bij alles. Je kunt zo zelfs wel of niet scheidingslijntjes (separator) mee laten zien. Als je dat nuttig vindt... <img src="/forums/images/graemlins/wink.gif" alt="" />
Ossie Geplaatst: 25 januari 2006 Geplaatst: 25 januari 2006 Weet jij misschien ook dan als je de dreambox opstart dan krijg je die mooie wereldbol of je daar ook een tekst bij kan zetten voor informatie naar een ander toe
dAF2000 Geplaatst: 18 februari 2006 Auteur Geplaatst: 18 februari 2006 Het laatste stukje van de PPanel-cursus nog: het scramblen van URL's die je niet zo snel vrij wil geven. Dit werkt in de "url" van <tarball>, <file> en <picture>. Code: <picture name="Show a picture from internet" target="*HKLDDFAOBFOPMLJKICPNDFEKFINOGPNOFGKPALJCDHEFHFCGCOHJIDGIGIOCFBNEHKKHKBIKIJEJMBKMDGGFAH"/> Een URL die gescramled is, begint altijd met een "*". Het programma "scramble" (in /bin) maakt van een URL zo'n gescramble tekst: Code: ~ > scramble "http://www.gnu.org/graphics/gnu-head-sm.jpg"'>http://www.gnu.org/graphics/gnu-head-sm.jpg" Scrambled: *HKLDDFAOBFOPMLJKICPNDFEKFINOGPNOFGKPALJCDHEFHFCGCOHJIDGIGIOCFBNEHKKHKBIKIJEJMBKMDGGFAH Descrambled: http://www.gnu.org/graphics/gnu-head-sm.jpg ~ > Helaas werkt dit niet voor <update>, maar dat komt in de volgende release.
martjeB Geplaatst: 12 november 2006 Geplaatst: 12 november 2006 Ik heb verschillende Ppanels. Van sommige ppanels is er voor mij maar een functie belangrijk. Kan ik een ppanel maken dat direct iets uitvoert, dus zonder eerst de keuze maken in het bewuste ppanel? Bijv. plaatje1.xml voert direct download plaatje1 uit? Wil ik plaatje2 downloaden kies ik plaatje2.xml in de installed ppanels. Ik wil dus geen plaatjes.xml waarin ik moet kiezen, maar de boel vooraf al opsplitsen. <img src="/forums/images/graemlins/confused.gif" alt="" /> Gtz. Martje B
dAF2000 Geplaatst: 12 november 2006 Auteur Geplaatst: 12 november 2006 Citaat: Ik heb verschillende Ppanels. Van sommige ppanels is er voor mij maar een functie belangrijk. Kan ik een ppanel maken dat direct iets uitvoert, dus zonder eerst de keuze maken in het bewuste ppanel? Bijv. plaatje1.xml voert direct download plaatje1 uit? Wil ik plaatje2 downloaden kies ik plaatje2.xml in de installed ppanels. Ik wil dus geen plaatjes.xml waarin ik moet kiezen, maar de boel vooraf al opsplitsen. <img src="/forums/images/graemlins/confused.gif" alt="" /> Hmm nee, ik kan me zo niet bedenken hoe dat moet. Dat is omdat elke regel in PPanel een regel in 't scherm is. Maar op zich wel een leuk idee. Ik zal 'ns kijken.
sretlow Geplaatst: 5 februari 2007 Geplaatst: 5 februari 2007 Hoe kan ik in PPnal deze (telnet) regel laten uitvoeren? wget -q -O /dev/null "http://root:wachtwoord@10.105.30.102/cgi-bin/zapTo?path=1:0:1:7:300c:13e:820000:0:0:0:&curBouquet=0&curChannel=76" Hiermee kan kan ik namelijk vanaf een andere box de dreambox beneden naar BabyTV laten schakelen. Hierin zit namelijk de motor gekoppeld en op de DM500 (boven) niet. ------------------------------------------------- *** VU+ DUO (500Gb HD) + DM600PVR (160Gb HD), 95 cm met 4 lnb's ***
Aanbevolen berichten
Maak een account aan of log in om te reageren
Je moet een lid zijn om een reactie te kunnen achterlaten
Account aanmaken
Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!
Registreer een nieuwe accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen