Synology-Forum.nl
Tweaks / Addons A.K.A. The Underground => 3rd party apps integratie in DSM => Topic gestart door: wizjos op 21 februari 2009, 13:26:01
-
Voor diegene die een (inktjet)printer aan z'n Syno heeft hangen een fraaie en kleine oplossing om het inktniveau en de printqueue weer te geven:
Een paar simpele stappen:
1) Installeer inkipkg install ink
Je printer dient wel door ink ondersteund te worden, voor een lijst zie: http://ink.sourceforge.net/ (http://ink.sourceforge.net/)
2) Chmod ink chmod 4755 /opt/bin/ink
...er van uitgaande dat ink in /opt/bin staat (geldt ook voor de php code hieronder) :mrgreen:
3) Maak een nieuw bestand aan: ink.php
<?php
echo "<h1>Inktniveau</h2>";
$ret = exec("/opt/bin/ink -p usb",$a);
foreach ($a as $row){
echo $row . "<br>";
}
echo "<br>";
echo "<h1>Printopdrachten</h1>";
$ret = exec("lpq",$b);
foreach ($b as $row){
echo $row . "<br>";
}
?>
en plaats dit in een nieuwe subdir van /usr/syno/phpsource (bv ink): /usr/syno/phpsource/ink
4) Maak een bestand application.cfg aan in /usr/syno/synoman/webman/3rdparty/ink met als inhoud
text = Inktniveau en printqueue
description = Inktniveau en printqueue uitlezen
icon_16 = ink16.png
icon_32 = ink32.png
type = embedded
path = /phpsrc/ink/ink.php
De icoontjes: (http://94.212.224.81/images/syno/ink16.png) en (http://94.212.224.81/images/syno/ink32.png)
... en wat je dan terugkrijgt is bv. dit:
Inktniveau
ink v0.4.1 © 2007 Markus Heinz
hp officejet 5500 series
Black: 94%
Color: 90%
Printopdrachten
Printer: usbprinter@CubeStation
Queue: no printable jobs in queue
even geen schermafdruk van gemaakt... De teruggegeven Info is relatief weinig maar daarom niet minder waardevol :mrgreen:
Ik heb het script niet van de gebruikelijke beveiliging voorzien. Wie dat wel wil dient deze elders op het forum er even bij te halen en toe te voegen... Denk er ook even om dat er een exec naar /opt/bin in staat... 3rd party apps handleiding (http://www.synology-forum.nl/viewtopic.php?f=83&t=2182) is dus van toepassing, anders functioneert e.e.a. niet.
Succes,
Wizjos
-
Wizjos,
dit is alweer een oude maar wel eentje die ik zou kunnen gebruiken..... :D
Echter, alles geïnstalleerd maar dan krijg ik deze melding:
Inktniveau
ink v0.5.0 (c) 2009 Markus Heinz
An unknown error occured.
Could not get ink level.
Printopdrachten
Printer: usbprinter@Syno-station
Queue: no printable jobs in queue
Mis ik iets of is dit inmiddels verouderd?
Aanvulling: De printer komt voor in de "Ink" lijst
Groet,
Grafcom
-
Grafcom,
Ink zou in principe nog steeds moeten werken. Heb het ouwetje van stal gehaald en het werkt normaal :D
Voor jou dus blijkbaar niet. Vreemd als je printer dan wel in de supported list staat....
Tja, kan ik dus ook maar weinig mee. Ik neem aan dat de opdracht ink -p usb dan ook een fout geeft....
Blijft er helaas niets anders over dan de maker(s) een berichtje te sturen :(
Succes!
Wizjos
-
Wizjos,
ik ben er nog mee bezig en het volgende begrijp ik niet:
chmod 4755 /opt/bin/ink
Is dit gewoon 755 ?? Hoe krijg ik 4 standen ingesteld? :(
Groet,
Grafcom
-
Wizjos,
die 4755 inmiddels gevonden d.m.v. linux commando :mrgreen:
Ook de php.ini nog aangepast zoals op het Duitse forum werd aangegeven maar.......... helaas.... nog niet!
Groet,
Grafcom
-
Grafcom,
Volgens mij heb je dan alles wel zo'n beetje gedaan... en nog geen resultaat. Ik ben bang dat je je het best tot de maker van Ink (of die van de achterliggende library) kunt wenden.... :(
Groet,
Wizjos
-
Wizjos,
ja lijkt me het beste om het bij hun "neer te leggen"
Als ik het met de editor doe (ink -p usb) krijg ik wel wat meer informatie:
Protocol revision not supported.
Malformed packet, ignored.
An unknown error occured.
Could not get ink level.
Groet,
Grafcom
-
Grafcom,
Long shot, maar het proberen waard:
Probeer het eens met: ink -d /dev/usb/lpx, waarbij de x dan om te beginnen een 0 is (lp0 dus). Als dat niets oplevert, maak er dan eens een 1 van. Beter?
Groet,
Wizjos
-
Wizjos,
bij ink -d /dev/usb/lp0 krijg ik hetzelfde:
Protocol revision not supported.
Malformed packet, ignored.
An unknown error occured.
Could not get ink level.
bij ink -d /dev/usb/lp1 krijg ik:
Could not access custom usb device '/dev/usb/lp1'.
Could not get ink level.
Inmiddels ook een mailtje naar de maker van Ink gestuurd.
Groet,
Grafcom
-
Wizjos,
nog zitten stoeien met dit.... De Epson D92 (daar gaat het om) werkt als printer prima vanaf een PC en Mac op de Syno.
Het uitlezen dus niet maar.... De printer op een PC met linux aangesloten en Yep... daar krijg ik wel het inkt niveau van alle kleuren...
Nog een HP Deskjet 5150 op de Syno aangesloten en... Yep werkt daar dan ook.
Dus zit het in de Syno in combinatie met de Epson printer...
Groet,
Grafcom
-
Ik heb een DS210J met DSM-1337 en het leek me ook wel handig om het inktniveau van m'n Canon Pixma iP4000 te kunnen uitlezen.
Ik moest alleen de volgende directory maken om het werkend te krijgen:
/usr/syno/synoman/webman/3rdparty/ink
hierin zette ik de volgende bestanden:
application.cfg
ink.php
ink16.png
ink32.png
Het configuratie bestand (application.cfg) heb ik vervolgens zo aangepast (alleen de laatste regel):
text = Inktniveau en printqueue
description = Inktniveau en printqueue uitlezen
icon_16 = ink16.png
icon_32 = ink32.png
type = embedded
path = /webman/3rdparty/ink/ink.php
Nu werkt alles wel. Bedankt voor de tips!
Ik zag trouwens dat er soms in deze tut over "phpsource" en dan weer over "phpsrc" wordt geschreven, moet dit niet beide "phpsrc" zijn?
-
Ik heb DSM 3.0 en het werkte bij mij niet zoals hier beschreven, ik kreeg steeds "page not found". Op de volgende manier werkte het bij mij wel:
Plaats ink.php, application.cfg, ink.16.png en ink.32.png in /usr/syno/synoman/webman/3rdparty/ink
Wijzig de laatste regel (path etc) van application.cfg als volgt:
text = Inktniveau en printqueue
description = Inktniveau en printqueue uitlezen
icon_16 = ink16.png
icon_32 = ink32.png
type = embedded
path = /webman/3rdparty/ink/ink.php
-
Ik heb DSM 3.0 en het werkte bij mij niet zoals hier beschreven, ik kreeg steeds "page not found". Op de volgende manier werkte het bij mij wel:
Plaats ink.php, application.cfg, ink.16.png en ink.32.png in /usr/syno/synoman/webman/3rdparty/ink
Wijzig de laatste regel (path etc) van application.cfg als volgt:
text = Inktniveau en printqueue
description = Inktniveau en printqueue uitlezen
icon_16 = ink16.png
icon_32 = ink32.png
type = embedded
path = /webman/3rdparty/ink/ink.php