Cups - Aufruf einer URL bei Druckauftrag

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
peterglobke
Beiträge: 3
Registriert: 17.08.2020 14:42:15

Cups - Aufruf einer URL bei Druckauftrag

Beitrag von peterglobke » 17.08.2020 14:49:16

Hallo,
ich bin neu im Forum und habe auch gleich ein Problem. ;-)

Auf einem Raspberry läuft u.a. CUPS. Alle Geräte im Haushalt schicken ihre Druckaufträge an Cups und dann geht es zum Netzwerkdrucker. Das klappt einwandfrei.

Ist es möglich, dass Cups (bzw. das OS) eine URL aufruft, sobald ein Druckauftrag in der Warteschlange ist?

Hintergrund ist, dass ich eine "smarte" Steckdose (mit Tasmota) am Drucker habe und ich mir wünsche, dass sie sich einschaltet (per URL-Aufruf), wenn ein Druckauftrag vorliegt. Das Ziel ist, dass egal wer druckt, der Druckauftrag bei Cups landet, die URL aufgerufen wird, der Drucker sich einschaltet und nach kurzer Zeit den Druckauftrag erledigt. Die Steckdose geht automatisch nach 15 Minuten wieder aus (gesteuert durch Tasmota in der Steckdose).

So bekommt der Drucker nur Strom, wenn er drucken soll und verbrennt keine 7 Watt Standby. 8O

Viele Grüße
Peter

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Cups - Aufruf einer URL bei Druckauftrag

Beitrag von eggy » 17.08.2020 15:28:53

Für Cups direkt kenn ich keine entsprechende Option, kann aber sein, dass in den Tiefen der Doku doch was versteckt ist. Falls Cups nichts hat, schau Dir mal inotify und co an, damit müsste sich was basteln lassen: Spoolverzeichnis überwachen und bei neuer Datei via wget/curl Steckdose anschalten.

peterglobke
Beiträge: 3
Registriert: 17.08.2020 14:42:15

Re: Cups - Aufruf einer URL bei Druckauftrag

Beitrag von peterglobke » 17.08.2020 17:02:35

Danke für den Tipp.

Für Cups habe ich nichts gefunden, aber mit inotifywait bin ich etwas weitergekommen.

Folgendes Script habe ich mir zusammengebastelt:

Code: Alles auswählen

Code war fehlerhaft. Siehe zwei Postings weiter.
Die Steckdose bleibt von sich aus 10 Minuten an. Die 3 Minuten Wartezeit habe ich eingebaut, damit das Script nicht mehrmals den Link zur Steckdose aufruft (wäre aber auch kein Problem für die Steckdose).

Verbesserungsvorschläge beim Script?

Zum Einbau vom Script:
Ich habe nur nicht verstanden wie ich dieses Script nun automatisiert starte. Mir würde als erstes ein Eintrag in die /etc/rc.local einfallen. Aber ich vermute das klappt nicht.

Wie mache ich es richtig, damit es immer läuft?
Zuletzt geändert von peterglobke am 17.08.2020 23:30:03, insgesamt 1-mal geändert.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Cups - Aufruf einer URL bei Druckauftrag

Beitrag von eggy » 17.08.2020 17:18:08

Grundsätzlich fehlt bei dem Script die "shebang", die erste Zeile, aus der erkennbar ist, dass es z.B. ein Bash Script ist.

Die Idee mit /etc/rc.local ist nicht so ganz falsch, bei nem halbwegs aktuellen Debian ist ne Systemd Unit aber eher das bevorzugte Mittel der Wahl. Gibt hier im Forum nen paar Threads, in denen das Thema ausführlich erklärt wurde, die Suche sollte sie zu Tage bringen. Evtl gabs auch nen Artikel hier im Wiki, einfach mal selbst suchen. Wenn Du garnichs findest, am besten nen neuen Thread aufmachen.

peterglobke
Beiträge: 3
Registriert: 17.08.2020 14:42:15

Re: Cups - Aufruf einer URL bei Druckauftrag

Beitrag von peterglobke » 17.08.2020 23:29:11

Noch mal danke für deine Hinweise.

Ich bin inzwischen ein Stück weiter. Mein Script läuft wie von dir vorgeschlagen über einen Eintrag in /etc/systemd/system. Das klappt.

Mein Scriptaufbau war aber Blödsinn. Der Sleep-Befehl war an der Position und dem Aufbau im ersten Script (inzwischen gelöscht) nutzlos.

Ich habe es umgestellt und so funktioniert es:

Code: Alles auswählen

#!/bin/bash
while true; do inotifywait -e create --format '%w%f' "/var/spool/cups/" && echo ""
curl --silent 'LinkZurSteckdose (Einschaltvorgang)'
sleep 870
done
Für die Sleep-Zeit (hier 870 Sekunden) wird der Befehl inotifywait nicht ausgeführt, sprich so wie es sein soll.

Ich werde das jetzt mal ein paar Tage beobachten. :)

Benutzeravatar
heisenberg
Beiträge: 3542
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Cups - Aufruf einer URL bei Druckauftrag

Beitrag von heisenberg » 09.08.2023 01:03:07

Ich grabe die Leiche gerade nochmal aus und lege ein Blümchen drauf:

Wenn der Drucker ein Tintenstrahldrucker ist, dann ist einschalten vor Druckauftrag und ausschalten danach wohl eher recht blöd, da Tintenstrahldrucker beim einschalten erstmal eine Reinigung durchführen. Auf die Art und Weise bekommt man seine Patronen auch recht schnell leer.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Antworten