Abfrage Drucker-Tintenstand über ein PHP-Skript

Status
Für weitere Antworten geschlossen.

dewoob

Benutzer
Mitglied seit
16. Jan 2010
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Hallo Itari,

dankeschön - Admin müsst' man sein! ;)

Ich versuche jetzt mal, das tinte.php-Skript unter dem sys-Apache-Account laufen zu lassen. Das erscheint mir absolut sinnvoll, denn ich habe nicht vor, vom Internet aus den Tintenstand meines Druckers zu überwachen! :D Reicht völlig, wenn das im LAN funktioniert...

Gruß, Olli


Edit: tadaa, das geht leider nicht "mal eben schnell" - der sys-Apache liefert php-Files aus, ohne sie vorher von php interpretieren zu lassen. Schade!
 
Zuletzt bearbeitet:

dewoob

Benutzer
Mitglied seit
16. Jan 2010
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Habe inzwischen die Idee (danke!) aufgegriffen, dass sich das Programm einfach 10 Minuten schlafen legen könnte. Damit entfällt der Eintrag in crontab, stattdessen muss das Skript ink.sh nur einmalig gestartet werden.

Neue Version ink.sh
Code:
while [ 1 ]
do
        if [ -f /tmp/ink.request ]
        then
                rm -f /tmp/ink.request
                /opt/bin/ink -p usb > /tmp/ink.txt
                date >> /tmp/ink.txt
                chmod a+r /tmp/ink.txt        
        fi
        sleep 600
done

Ich werde mal beobachten, ob die Platte nun wieder runterfährt. M.E. sollte nichts dagegen sprechen.

Btw, in der DS scheint's kein "nohup" zu geben, mit dem man das Skript so starten könnte, dass es weiterläuft, wenn man die Shell wieder schließt, in der es gestartet wurde. Frage an die DS-Experten: In welches Startup-Skript sollte man den Aufruf sinnvollerweise eintragen?


Edit: Meine Hoffnung, dass die Platte mit dieser Lösung wieder runterfährt, hat einen Knacks: Nun muss das Skript zwar nicht mehr alle 10 Minuten von der Platte geladen werden, aber es prüft immer noch alle 10 Minuten, ob die Datei ink.request existiert - und die liegt ja ggfs. ebenfalls auf der Platte. Das System wird wohl nicht so schlau sein, zu denken: "Vor 10 Minuten gab's diese Datei nicht - und auf einer schlafenden Platte wird sie zwischenzeitlich auch keiner angelegt haben!" :D
 
Zuletzt bearbeitet:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Frage an die DS-Experten: In welches Startup-Skript sollte man den Aufruf sinnvollerweise eintragen?


Edit: Meine Hoffnung, dass die Platte mit dieser Lösung wieder runterfährt, hat einen Knacks: Nun muss das Skript zwar nicht mehr alle 10 Minuten von der Platte geladen werden, aber es prüft immer noch alle 10 Minuten, ob die Datei ink.request existiert - und die liegt ja ggfs. ebenfalls auf der Platte. Das System wird wohl nicht so schlau sein, zu denken: "Vor 10 Minuten gab's diese Datei nicht - und auf einer schlafenden Platte wird sie zwischenzeitlich auch keiner angelegt haben!" :D

Ich würde eine eigene Skript-Datei anlegen mit einer S99 davor, also z.B. /usr/syno/etc/rc.d/S99script_only_for_me.sh

Wenn die Datei ink.request im /tmp-Verzeichnis liegt, dann kannst Glück haben und die Platten bleiben ruhig. Das /tmp-Verzeichnis ist ein RAM-Device und wird nur, wenns RAM voll wird, geswappt.

Itari
 

masc

Benutzer
Mitglied seit
07. Jun 2011
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

habe seit ein paar Tagen die DS110j. Wollte mir jetzt das Programm bzgl. des Tintenstands (DruckMonitor) herunterladen. Leider scheint der Downloadlink "http://welle1983.homeftp.net/Syno/DruckerMonitor.zip" nicht mehr zu funktionieren. Wo kann ich das Programm sonst noch her bekommen? Vielen Dank schon einmal im voraus!

Viele Grüße
masc
 
Zuletzt bearbeitet:

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich suche auch nach dem Programm. Hat vieleicht einer eine Idee wo man das Programm herunterladen könnte?

Gruß Homer
 

Welle1983

Benutzer
Mitglied seit
14. Jul 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Sooo, nachdem ich lange weg war vom Fenster und ich mittlerweile auch einen anderen Drucker habe, bin ich doch nochmal wieder hier...

Ich gebe hier die aktualisierte Adresse bekannt, unter der ihr das Programm und die zugehörigen Daten bekommt:

http://welle1983.dyndns-server.com/Syno/

Sorry, dass es so lang gedauert hat, aber beser spät als nie denke ich ;)

Viel Spaß mit dem Programm!

Gruß, Stephan
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo Stephan,

danke der Link funktioniert. Werde mich in den nächsten Tagen daran machen und den Druckerstatus zum laufen bringen.

Danke

Gruß Marco
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

wie kann ich eigendlich das PHP Skript wie im Wiki beschrieben auf der DS hochladen. Leider habe ich sowas noch nie gemacht. Muss ich auch dafür das phpMyAdmin dafür installieren?
Gruß an das Forum
Homer
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

Nun habe ich das tinte.php skript im Web ordner angeleget. So weit so gut. Leider bekomme ich nicht die genauen Tintenstände angezeigt, sondern bei jeder Farbe 100%. Ich habe den Canon IP 5300 angeschlossen. Was kann man machen um die genauen Tintensstänge anzuzeigen?

Grüße Homer
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich habe nach wie vor das Problem das die Tintenstände nicht richtig angezeigt werden alle auf 100%, auch wenn ich den USB Stecker aus der Disk Station entferne. Wenn ich beim FireFox die IP der Diskstation und den index tinte.php eingebe bekomme ich die Fehlermeldung : Warning: exec(): PHP exec disable. in /volume1/web/tinte.php on line 3 end. Gebe ich aber den Befehl ink -p usb in der Konsole ein bekomme ich die richtigen Tintenstände angezeigt. Liegt der Fehler in der PHP Zeile $ret = exec("/opt/bin/ink -p usb",$a); ? aber wo.
Vieleicht kann einer von euch mir Helfen um das Problem zu lösen.

Gruß Homer
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,
Problem gefunden: Hatte den Hacken unter PHP einstellung PHP mode exce dir Zugriffbeschränkungen gesetzt.
Guß Homer
 

hike39

Benutzer
Mitglied seit
03. Aug 2011
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Ich weiß, daß dies ein uralter Thread ist. Aber ich experimentiere gerade mit dem Script und habe das gleiche Problem wie Gregor 4005.

Habe schon Diverses ausprobiert. Ergebnis ist aber immer, dass ich einfache Echos angezeigt bekomme. Aber die im Script versorgten Variablen $ret und das Array $a sind anscheinend immer leer. Jedenfalls erfolgt keine Ausgabe der Inhalte.

Wenn ich die gleichen Scripts local auf dem NAS ausführe, funktioniert alles, bis auf eine Warnung, daß 'register_globals' in PHP 5.3 deprecated ist.
 

hike39

Benutzer
Mitglied seit
03. Aug 2011
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Hallo vergesst mein Posting. Fall geklaert. Der Fehler sass vor der Tastatur.

Sorry!
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Guten Morgen!
nachdem DSM 3.2 Update habe ich das Problem das die Tintenstände nicht mehr angezeigt werden. Skripte usw. angepasst. Wenn ich einen ink -p usb in der Konsole eingebe bekomme ich folgende Antwort :Could not access '/dev/usb/lp0' or '/dev/usblp0'.
Could not get ink level.

Bilder von '/dev/usb/lp0
lOP.PNG

Was kann das nur sein?

Gruß Homer
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,
hat sich erledigt. Ein / Aus Stecken des USB Steckers hatte den gewünschten Erfolg.
Gruß Homer
 

darky_blue

Benutzer
Mitglied seit
19. Sep 2011
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Guten Morgen!
nachdem DSM 3.2 Update habe ich das Problem das die Tintenstände nicht mehr angezeigt werden. Skripte usw. angepasst. Wenn ich einen ink -p usb in der Konsole eingebe bekomme ich folgende Antwort :Could not access '/dev/usb/lp0' or '/dev/usblp0'.
Could not get ink level.

Bilder von '/dev/usb/lp0
Anhang anzeigen 6538

Was kann das nur sein?

Gruß Homer

Hänge mich mal hier an. Habe eine 211j und seit dem Update genau dasselbe Problem. Bei mir hilft aber nicht ein/ausstecken oder ähnliches. Drucken kann ich aber und unter der Vorgängerversion hat ink auch funktioniert. Jemand ne Idee?
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,
leider war das nur von kurzen Erfolg gekrönt, das mit den Ein/Ausstecken des USB Steckers. Ich habe noch am USB Port eine Externe Festpaltte angeschlossen, um Daten Backup zu erstellen. In diesen einmalige Fall wo ich die Tintenstände abfragen konnte, war die USB Platte nicht mehr erreichbar, und unter Externe Geräte war die Info zu lesen, das das Datei-System nicht lesbar war. Zu diesen Zeitpunkt konnte ich die Tintenabstände abfragen. Nach einen Neustart der DS war das Problem mit der Externen Festplatte behoben, konnte wiederum keine Tintenstände abfragen. Gleichzeitig wo ich die Tintenstände abfragen konnte habe ich habe ich im Verzeichnis /dev/usb/lp0 geschaut, aber keine Veränderung festgestellt. Leider konnte ich das nicht wieder reproduzieren. An meiner DS hängen zwei Drucker. Nachdem ich die Drucker die USB Anschlüsse getauscht habe, konnte ich weder über den Destop noch über den Laptop Drucken. Im DS Assi wurden die Drucker als Verfügbar gemeldet, die Druckaufträge wurden unter Windows als Drücker nicht Verfügbar gemeldet. Die Folge war, das ich die Drucker kpl. neu eingerichtet habe. Ein erneutes Umtauschen der Anschlüsse, brachte das gleiche Problem mit.
So langsam weiss ich nicht weiter.
Gruß Homer:(
 

Homer MB

Benutzer
Mitglied seit
20. Feb 2011
Beiträge
141
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,
das mit den Tintenstand lässt mir keine Ruhe. Wie oben beschreiben erhalte ich nach dem DSM 3.2 Update die Fehlermeldung :Could not access '/dev/usb/lp0' or '/dev/usblp0'.
Could not get ink level.
Nun habe ich ein wenig weiter gesucht, und unter dmesg die Kernmeldungen ausgelesen. Vieleicht kann man da ja was erkennen. Ich jedenfalls nicht.:(
Anbei das Meldung:
USB lpo.PNG

Vieleicht hat einer von euch einen Tipp...

Danke Gruß Homer
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat