Ankündigung

Einklappen
Keine Ankündigung bisher.

Drucker einschalten bei anstehenden Dokumenten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Drucker einschalten bei anstehenden Dokumenten

    Hallo,
    vermutlich bin ich hier im falschen Forum, aber IT Experten sich hier allemal.
    Ich habe keinen CUPS Server, möchte aber den Netzwerkdrucker einschalten, wenn an meinem Desktop oder Laptop Dokumente in der lokalen Drucker-Spool liegen.
    Hat einer eine Ahnung, wie ich diese Spool abfragen kann, um davon abhängig meinen Drucker einzuschalten.
    Geht sowas per snmp oder lpq? Hat vielleicht einer eine gute Idee oder noch besser schon die Lösung ;-)

    Per KNX kann ich den Drucker zwar schalten, möchte mir aber den Aufruf des GUIs oder habdroid sparen ...

    Viele Grüße
    Michael

    #2
    Hallo Michael,

    sehr gute Idee bisher hatte ich das eigentlich so geplant das der Drucker sich einfach immer einschaltet sobald bestimmte Clients an sind, dafür habe ich schon Lösungen gesehen.
    Deine Idee ist aber wesentlich eleganter und leider auch anspruchsvoller umzusetzen.

    Man müsste irgendwie mitbekommen, das Drucker angefragt wird.
    Da fallen mir folgende Möglichkeiten ein:
    - Ethernetschnittstelle von Openhab im promicous mode
    - DNS Server auf Openhab Rechner, die dann aber die Anfragen irgendwie nach draßen weitergibt(zb. Logdatei), dann müssen die Drucker aber über einen Namen angesprochen werden
    - Irgendwas am Router rumbasteln und da Logdateien oder sowas auswerten
    Ich glaube am zuverlässigsten wäre das mit dem DNS.


    Gruß
    Ben

    Kommentar


      #3
      Die Frage ist, ob der Drucker schnell genug startet, um das initiale nicht-Drucken zu vermeiden; außerdem sehen viele Clients den Drucker nur dann, wenn er sich aktiv im Netz beteiligt und seine Präsenz annonciert.

      Ich würde das Problem daher mit einem zwischengeschalteten CUPS lösen; da der nicht selber rendert, sondern nur das PDF durchreichen muss, reicht dafür ein RasPi o.Ä..

      Die Druckerqueue auf diesem Pi kann man periodisch auf anstehende Jobs abfragen. Das tatsächliche Abarbeiten der Queue kann man außerdem mit CUPS-Bordmitteln davon abhängig machen, ob der Drucker auch wirklich erreichbar ist; das verhindert, dass der nach dem Einschalten erstmal minutenlang nichts zu tun hat, bis CUPS sich bequemt, den Auftrag zu wiederholen.
      DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

      Kommentar


        #4
        Hallo Smurf,

        ehrlich gesagt scheue ich mich einen CUPS zu installieren, weil ich den Aufwand fürchte. Ich habe mit CUPS schon mal etwas rumgespielt, aber erfolglos, ich konnte meinen Netzwerkdrucker nicht ansprechen/auswählen. Und zum Zeitverschwenden habe ich genügend andere Projekte ;-), die mir wichtiger sind.
        Mein LAN-Drucker funzt einwandfrei und meine Windows-Clients spollen ja selber die Dokumente solange, bis der Drucker erreichbar ist.
        Daher war mein Gedanke, "einfach" (das einfach scheint leider nicht der Fall zu sein) die lokale Spool meines Clients abzufragen. Sollte ein Dokument drin liegen, wird der Drucker angeschmissen.
        Den Drucker immer anzuschalten, wenn ein Client ans Netz geht wäre bei mir eine Stromverschwendung, denn den Drucker benötige ich bei <1% der Client-Laufzeit, ansonsten wäre der einfach nur an.

        Aber vielleicht versuche ich mein Glück irgendwann nochmal mit CUPS, wenn keiner mit einer weiteren Idee um die Ecke kommt ;-).

        Viele Grüße
        Michael

        Kommentar


          #5
          Nein, das mit dem lokalen Spool ist nicht einfach, zumindest nicht unter Windows. Er hängt ja nicht aktiv als Druckerserver im Netz …

          Mit Mac oder Linux läuft auf dem Client genauso ein CUPS, da ist das ziemlich simpel.
          DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

          Kommentar


            #6
            Für genau diesen Anwendungszweck gibt es das CUPS-Binding in openhab:
            https://github.com/openhab/openhab/wiki/CUPS-Binding

            Eine Weg ohne externen Druckserver ist mit nicht bekannt.
            Gruß
            Tobias

            Kommentar


              #7
              Ich habe mal eine Frage, bei mir gibt es ein Problem mit dem Cups Addon,
              Es kann natürlich sein, dass der von Synology ausgelieferte Cups server etwas abgespeckt ist. aber das Cups-Test.jar liefert mir meinen Drucker.

              Gebe ich diese Werte nun ins openhab.cfg sowie in mein Item ein, steht im Log
              Code:
              there is no printer for path http://127.0.0.1:631/printers/HL4570CDW
              Zuvor wurde jedoch der Drucker gefunden.
              Code:
              [main] INFO org.cups4j.test.CupsTest - printer uri=http://localhost:631/printers/HL4570CDW default=false name=HL4570CDW

              Vielen Dank schonmal

              Kommentar


                #8
                Ist der Cups-Server auf demselben Rechner installiert, wie openhab? Ist der Drucker direkt am Cups-Server angeschlossen? Ich vermute mal, dass in der cupsd.conf (heißt die so? bin mir grad nicht sicher...) als Adresse fälschlicherweise localhost angegeben ist, da sollte der fqdn drin stehen, oder alternativ die korrekte IP-Adresse. Und dann sollte in der vom Script zurückgelieferten URI eben diese IP oder der fqdn auftauchen.

                Weiterhin könnte es sein, dass die Rechte für dne Zugriff auf cups nicht stimmen (ist schon ne Weile her, dass ich mein cups eingerichtet hab, und nein, ich habe das cups binding bisher nicht drin, habe dafür bisher keine Verwendung.)
                Zuletzt geändert von udo1toni; 18.05.2015, 16:42.

                Kommentar


                  #9
                  Genau, das ist der Fall.. Mittlerweile hat sich herrausgestellt, dass irgendein Skript den CUPS-Server zweimal aufrufen wollte, erkennbar am "unable to bind" im Log.
                  Habe nun die Directories gelöscht und clean installiert. DIe config file, cupsd.conf war korrekt. Mittlerweile klappt auch der Smarte Drucker

                  Kommentar


                    #10
                    Hallo,

                    ich möchte den alten Treath noch mal aufwärmen. Ich habe jetzt einem Raspberry Pi als Printerserver laufen. Eigentlich hatte ich das gemacht, um gemäß der Anleitung einen nicht Airprint-fähigen Druck unseren iDevices zur Verfügung zustellen.
                    Jetzt nutze ich den auch, um die Drucker nach Bedarf einzuschalten. Kommt ein Druck rein, schaut ein mit tea4cups einen einem mit prehook gestartetes Script nach, ob die Steckdose des Druckers eingeschaltet ist. Wenn nicht, Dose einschalten und dann 10 Sekunden warten. Dadurch kommt auf iphone und ipad keine Meldung, dass der Drucker offline ist. Klappt auch gut von Mac und Windows.

                    - Muecke

                    Kommentar

                    Lädt...
                    X