Skip to main content

Hier ist beschrieben, wie die Installation geht: https://community.xentral.com/hc/de/articles/360016756299-Drucker#toc-19

Hier ist beschrieben wie die Konfiguration geht: https://community.xentral.com/hc/de/articles/360016756299-Drucker#toc-0

Was aber noch nicht funktioniert ist der Befehl zum Abrufen der Druckaufträge:

php /var/www/html/wawisionspooler/cronapi.php

Wenn ich nämlich das cronapi Skript manuell starte, kommt in einer Schleife folgender Output:

{"status":false,"message":"Offline"}{"status":false,"message":"Offline"}{"status":false,"message":"Offline"}…

Das Webinterface ist ebenfalls noch rot, obwohl

  1. Xentral von vom Raspberry Pi aus erreichbar ist (getestet mit curl).
  2. Der Security Key mit dem in den Xentral Device API Grundeinstellungen übereinstimmt und die API dort aktiviert undgespeichert ist.
     

Hat jemand eine Idee, was noch falsch sein könnte? Drucker sind schon eingerichtet und haben auch gleiche Bezeichnung/Name in Xentral und und auf dem Raspi, aber soweit komme ich ja anscheinend gar nicht...

Jetzt bin ich einen Schritt weiter, habe die Security Keys nochmal neu generiert.

Die Weboberfläche vom Spooler ist immer noch rot. Und Druckaufträge aus Xentral kommen nicht an. Wenn ich das cronapi Skript ausführe, kommt jetzt immer:

{"status":true,"message":"Warten auf Druckauftr\u00e4ge"}

Egal ob in Xentral neue Testseiten in der Warteschlange sind oder nicht.


Heute ist die Weboberfläche abwechselnd auf grün und rot, manchmal kommen Druckaufträge in der Weboberfläche an:

Die angezeigten Druckaufträge werden aber nicht gedruckt und komme nauch nicht beim Drucksystem cups an.

Auf dem Raspberry:

lpstat zeigt keine Druckaufträge an.

echo test | lp -D HP_HP_Officejet_Pro_8610

funktioniert aber, da wird eine Testseite gedruckt. Das heißt der Drucker ist am Raspberry schon installiert und funktioniert.


Nach einem Blick in den Quellcode api.php → getJobs():

Dort wird der Befehl lpr, nicht lp zum Drucken verwendet. lpr war nicht installiert.

sudo apt-get install cups cups-bsd

Letzteres Package enthält lpr.


Frage1... steht der Drucker im LAN?

Frage2... Xentral im LAN selbst gehostet?

*Edit... Fragen erledigt.. sehe ich ja in den Screenshots..

Warum willst du das über den spooler machen? Binde Den Drucker doch direkt über CUPS ein

 

Ich habe den den selben drucker mehrfach per Cups eingerichtet:

1x schwaz-weiß

1x farbe

1x solo

1x duplex

 

und dann direkt per xentral angesteuert: z.b.

Bei CUPS-Installation auf dem selben Server:

lpr -P Büro_Duplex_SW

lpr -P Büro_Duplex_Farbe

Bei CUPS-Installation auf einem anderen Server:

lpr -H 192.168.2.170 -P HP_Duplex_farbe

lpr -H 192.168.2.170 -P HP_Duplex_sw

 

jenachdem welchen weg du wählst

 


Hi Andre,

danke für die Hilfestellung. Xentral haben wir in der Cloud gehosted, also unter xxx.xentral.biz. Deswegen kann ich die Drucker wohl nur über einen Spooler-Server anbinden. Aber das scheint jetzt zumindest beim Testdruck zu funktionieren! Ich werd's jetzt mal testen. Seit dem Wochenende sieht's gut aus und der Balken "Warte auf Druckaufträge" in der Weboberfläche bleibt grün.


Hallo, 

ich saß vor einigen Monaten an exakt demselben Problem. Leider bin nicht noch nicht so belesen zu Linux und dem Raspberry, ich habe dann keine Zeit mehr gehabt das Problem zu lösen.

Hast du das Setup vervollständigen können und funktioniert es jetzt? 

Grüße

Florian

 


Hallo Florian,

interessant, dass du auch Heute (09.06.2021) nach dem selben Problem suchst... 

Der Spooler ist bei mir nur 10-15 Minuten Grün übernimmt die Jobs / gibt die Jobs an den Drucker und es funktioniert alles... Danach ist alles wieder Rot..

 

Habe vorhin mit dem Support Telefoniert, mir wurde geraten RasperryOS Updates durchzuführen... --> Keine Besserung --> Darauf verwies man mich an die Kostenpflichtige Techniker... 

Ich habe jetzt den Server nochmal Neugestartet --> Grün ... Mal sehen wie lange.. 


Bei uns läuft es seit längerem nun stabil.

Florian, hast du mal den php Befehl ganz oben probiert, und das Skript cronapi.php manuell gestartet?


Also 24 Stunden Test ist gescheitert... Exakt 24 Stunden später ist der Server wieder ausgefallen --> Reboot und seitdem läuft er wieder.. 

 

Habe jetzt auch mal ein Tool in VB geschrieben welches alle 10 Sekunden die Spoolerseite neu lädt. 

 


Seltsam. Würde mich aber wundern, wenn ein Reload der Spooler-Seite was hilft. Die Seite ist ja eigentlich nur zur Anzeige, das eigentliche Drucken macht ja der cronjob.

Für nen autom. Reload – fällt mir gerade ein – könntest du auch einfach eine Zeile in HTML hinzufügen statt einem Script: https://en.wikipedia.org/wiki/Meta_refresh


Also nun ist eine Woche vergangen, das Reload Skript bringt nichts. 

Lediglich das Neustarten alle paar Stunden bewirkt wunder. 

Wird der Druckerserver nicht alle 6 h Neugestartet, kann nichts gedruckt werden... 


Das ist ja wirklich seltsam. Du könntest mal ausprobieren, nicht den Raspi sondern nur den apache web server neu zustarten. Oder nur den cups daemon, das Drucksystem, neu zu starten. Dann würde man vllt auch rausfinden, ob's der web server ist (was ich nicht glaube), oder doch das lokale Drucksystem.


@Jakob Schöttl 

Kurze Info zur Spooler Seite, zum Api.php und zur Cronapi.php

  • Die API.php Datei beinhaltet in der Funktion getJobs den einmaligen Abruf der Druckdateien von der Xentral Cloud.
  • Das cronapi.php script ruft die Funktion getJobs in der api.php jede Sekunde auf - um zu prüfen ob Druckjobs auf dem Xentral Server vorhanden sind.
    Das macht sie 60 mal (also 60 Sekunden lang), dann beendet das Script.
  • Um einen konstanten Abruf zu gewährleisten, wird das Script cronapi.php per CRONTAB jede Minute neu ausgeführt (zumindest will die Anleitung, dass man das so einstellt).

Das Webinterface (bzw die Web App oder auch einfach nur die “Spooler Seite”) ruft hingegen selbstständig die Funktion getJobs auf. Das tut sie circa alle 3 Sekunden (hab extra ne Zeit Anzeige mit eingebaut). Je nach Return Wert, stellt sie den Status auf rot oder grün.

Selbstständig heißt dann: Das Webinterface überprüft auf Druckjobs völlig unabhängig von der cronapi.php.

 

Ergo würde ich @MarH MarH fragen, ob denn ein Cronjob auf dem Raspi läuft, der die cronapi.php jede Minute ausführt.

Ich vermute, dass der fehlt und die Abfrage der Druckjobs da einfach über den Webbrowser lief. Und wenn der Webbrowser alle 6 Stunden die geladene Website wegen Inaktivität schlafen legt - na dann geht das Drucksystem einfach nicht mehr.

(sorry wenn die Antwort jetzt super spät kommt, aber vllt hilft sie ja anderen Leuten beim Einrichten)

 


Ich habe gestern seit längerem mal wieder ein neues Ubuntu Linux aufgesetzt und mit etwas Mühe auch php7.0 installiert. Der manuelle Aufruf der cronapi.php scheint auch zu funktionieren. Leider bisher nicht die Web App. Die bleibt auf Rot stehen.

Gibt es bis dahin noch irgendwelche Hinweise? Parallel ist auch php 8.1 installiert. Welche Version ruft denn die WebApp auf? 

Drucker einrichten und dann mal Testausdrucke starten kann ich erst am Montag wieder.

Bis dahin.

Moritz


Also ich habe jetzt mal verschiedene Versionen probiert - das Resultat:

php5.6 - cronapi.php und Druck funktoniert über den cronjob. Webserver bleibt rot, ebenso gibt es keine Statistik etc.

alle neueren php Versionen führen nicht zum Erfolg.

 


Antworten