Hallo,
großes Thema hier im Forum ist schon das an/ausschalten eines Druckers über einen Aktor gewesen. Aber einen Druckauftrag aus Fhem heraus anzustoßen dazu findet man gar nichts. Würde gerne oft genutzte Dokumente (PDF's, Bilder etc.) die auf einer lokalen Festplatte abgelegt sind über einen Dummy ausdrucken können. CUPS läuft sowieso schon auf dem pi.
Ist das überhaupt möglich ? Hat jemand nen Beispiel oder einen Link wo man sich einlesen könnte.
Gruß
Thomas
Hi,
wenn Du ein Systemkommando hast, dass das Gewünschte macht, dann kannst Du das von FHEM aus über ein at, notify oder was auch immer, triggern. Das geht prinzipiell einfach indem Du das Systemkommando dort hinschreibst, wo ansonsten ein FHEM-Kommando stehen würde, nur in " eingeschlossen.
Falls irgendwelche dynamischen Anteile dabei sind, dann muss man den Befehl per Perl zusammenbauen und dann mit { system(...) } schicken.
...zumindest mal wäre das die erste Näherung. Dann muss man sich noch darum kümmern, dass der Befehl ggf. "blockiert".
Gruß,
Thorsten
OK. Danke.
Hab mich mal bisschen genähert.☺
Das gewünschte Kommando hab ich nun, geb ich in der Konsole
lpr hello-kitty-3.gif
ein, wird mein Dokument gedruckt.
Nach kurzer Recherche hab ich dann mal sowas
system("/home/pi/Downloads/lpr hello-kitty-3.gif")
in die Befehlszeile eingegeben.
Die Antwort ist
Unknown command system("/home/pi/Downloads/lpr, try help.
Liegt das jetzt am Leerzeichen?
edit:
In geschweiften Klammern
{system("/home/pi/Downloads/lpr hello-kitty-3.gif")}
erhalte ich ein -1
gedruckt wird nichts. Rechteproblem glaub ich nicht.
OK. Ich sehe im Log File ich mache was falsch
2017.02.05 18:18:14 1: PERL WARNING: Can't exec "/home/pi/Downloads/lpr": Datei oder Verzeichnis nicht gefunden at (eval 336883) line 1.
Hi,
ich nehme mal nicht an, dass lpr in /home/pi/Downloads liegt, oder? Es ist wohl eher
lpr /home/pi/Downloads/hello-kitty-3.gif
...oder?
Gruß,
Thorsten
Danke dir.
Gleich ausprobiert.
Mit
{system('lpr /home/pi/Downloads/hello-kitty-3.gif')}
bekomme ich ein
lpr: Error - no default destination available.
im Logfile.
Da ich nach meinem Verständnis zuvor nur einen Standarddrucker für den Benutzer pi definiert hatte, hab ich nun also den Benutzer von pi zu fhem gewechselt und mit
lpoptions -d HL2035
unter dem Benutzer fhem einen Standarddrucker festgelegt.
Ein
Zitatlpstat -s
mit dem Benutzer fhem ergibt nun
Zitatsystem default destination: HL2035
device for HL2035: socket://192.168.188.21:9100
Trotzallem bleibt die gleiche Fehlermeldung
lpr: Error - no default destination available.
im FileLog.
Ein shutdown restart hatte ich vorsichtshalber auch gemacht.
Hi,
geht es, wenn Du lpr mit -P startest? ...ich meine von FHEM aus?
Btw.: shutdown restart ist da unnötig.
Gruß,
Thorsten
Hallo,
auch mit einem
{system('lpr -p /home/pi/Downloads/hello-kitty-3.gif')}
erhalte ich ein
lpr: Error - no default destination available.
im Logfile
mach mal "man lpr"
...Linux unterscheidet durchaus zwischen Groß- und Kleinbuchstaben
Gruß,
Thorsten
Ui da tut sich was, aber jetzt keine Zeit heute abend geht's weiter.
lpr(1) Apple Inc. lpr(1)
NAME
lpr - druckt Dateien
SYNOPSIS
lpr [ -E ] [ -H Server[:Port] ] [ -U Benutzername ] [ -P Ziel[/Instanz]
] [ -# Anzahl-Kopien [ -h ] [ -l ] [ -m ] [ -o Option[=Wert] ] [ -p] [
-q ] [ -r ] [ -C/J/T Titel ] [ Datei(en) ]
BESCHREIBUNG
lpr reicht Dateien zum Drucken ein. Auf der Kommandozeile benannte
Dateien werden zum benannten Drucker (oder zum Standardziel falls kein
Ziel angegeben ist) gesandt. Falls auf der Kommandozeile keine Dateien
aufgeführt sind, liest lpr die zu druckenden Dateien von der Standar‐
deingabe.
DAS VORGABEZIEL
CUPS stellt viele Möglichkeiten bereit, den Vorgabebeziele zu setzen.
Die Umgebungsvariablen »LPDEST« und »PRINTER« werden zuerst herangezo‐
gen. Wenn keine von beiden gesetzt ist, wird der aktuell unter Benut‐
zung des Befehls lpoptions(1) gesetzte benutzt, gefolgt von der durch
den Befehl lpadmin(8) gesetzten Vorgabe.
OPTIONEN
Die folgenden Optionen werden von lpr erkannt:
-E
Erzwingt Verschlüsselung bei Verbindungen zum Server.
-H Server[:Port]
Spezifiziert einen alternativen Server.
-C "Name"
-J "Name"
-T "Name"
Setzt den Namen des Auftrags.
-P Ziel[/Instanz]
Druckt Dateien auf den benannten Drucker.
-U Benutzername
Spezifiziert einen alternativen Benutzernamen.
-# Kopien
Setzt die Anzahl der zu druckenden Kopien zwischen 1 und 100.
-h
Deaktiviert das Drucken von Deckblättern. Diese Option ist äquiva‐
lent zu »-o job-sheets=none«.
-l
Spezifiziert, dass die Druckdatei bereits für das Ziel formatiert
ist und ohne Filtern gesendet werden soll. Diese Option ist äqui‐
valent zu »-o raw«.
-m
Schickt eine E-Mail nach Erledigung des Auftrags.
-o Option[=Wert]
Setzt eine Auftrags-Option.
-p
Spezifiziert, dass die Druckdatei mit einem schattierten Kopf mit
Datum, Uhrzeit, Auftragsname und Seitennummer formatiert werden
soll. Diese Option Ist äquivalent zu »-o prettyprint« und ist nur
beim Druck von Textdateien nützlich.
-q
Druckauftrag zum Drucken anhalten.
-r
Spezifiziert, dass die benannte Druckdatei nach dem Druck gelöscht
werden soll.
KOMPATIBILITÄT
Die Optionen »c«, »d«, »f«, »g«, »i«, »n«, »t«, »v« und »w« werden von
CUPS nicht unterstützt und führen bei Benutzung zu einer Warnmeldung.
SIEHE AUCH
cancel(1), lp(1), lpadmin(8), lpoptions(1), lpq(1), lprm(1), lpstat(1),
http://localhost:631/help
COPYRIGHT
Copyright 2007-2013 by Apple Inc.
29. August 2008 CUPS lpr(1)
man: -p-/home/pi/Downloads/hello-kitty-3.gif: Datei oder Verzeichnis nicht gefunden
man: -p_/home/pi/Downloads/hello-kitty-3.gif: Datei oder Verzeichnis nicht gefunden
Kein Handbucheintrag für -p vorhanden
<standard input>:1: warning [p 1, 0.0i]: can't break line
<standard input>:3: warning [p 1, 0.2i]: cannot adjust line
<standard input>:3: warning [p 1, 0.3i]: can't break line
<standard input>:4: warning [p 1, 0.5i]: cannot adjust line
<standard input>:5: warning [p 1, 0.7i]: cannot adjust line
<standard input>:5: warning [p 1, 0.8i]: can't break line
<standard input>:7: warning [p 1, 1.2i]: cannot adjust line
<standard input>:7: warning [p 1, 1.3i]: can't break line
<standard input>:7: warning [p 1, 1.5i]: cannot adjust line
<standard input>:7: warning [p 1, 1.7i]: can't break line
<standard input>:7: warning [p 1, 1.8i]: can't break line
<standard input>:7: warning [p 1, 2.0i]: can't break line
<standard input>:8: warning [p 1, 2.2i]: can't break line
<standard input>:9: warning [p 1, 2.3i]: cannot adjust line
<standard input>:9: warning [p 1, 2.5i]: cannot adjust line
<standard input>:9: warning [p 1, 2.7i]: can't break line
<standard input>:13: warning [p 1, 3.0i]: cannot adjust line
<standard input>:13: warning [p 1, 3.2i]: can't break line
<standard input>:14: warning [p 1, 3.5i]: can't break line
<standard input>:15: warning [p 1, 3.7i]: can't break line
<standard input>:15: warning [p 1, 3.8i]: can't break line
<standard input>:15: warning [p 1, 4.0i]: can't break line
<standard input>:15: warning [p 1, 4.2i]: can't break line
<standard input>:16: warning [p 1, 4.3i]: can't break line
<standard input>:18: warning: numeric expression expected (got `b')
<standard input>:18: warning [p 1, 4.5i]: cannot adjust line
<standard input>:18: warning [p 1, 4.7i]: can't break line
<standard input>:19: warning [p 1, 4.8i]: can't break line
<standard input>:20: warning [p 1, 5.0i]: cannot adjust line
<standard input>:20: warning [p 1, 5.2i]: can't break line
<standard input>:24: warning [p 1, 5.5i]: can't break line
<standard input>:27: warning [p 1, 5.8i]: can't break line
<standard input>:27: warning [p 1, 6.0i]: can't break line
<standard input>:27: warning [p 1, 6.2i]: can't break line
<standard input>:28: warning [p 1, 6.3i]: cannot adjust line
<standard input>:28: warning [p 1, 6.5i]: can't break line
<standard input>:29: warning [p 1, 6.7i]: can't break line
<standard input>:30: warning [p 1, 6.8i]: cannot adjust line
<standard input>:31: warning [p 1, 7.0i]: cannot adjust line
<standard input>:31: warning [p 1, 7.2i]: can't break line
<standard input>:33: warning [p 1, 7.3i]: cannot adjust line
<standard input>:34: warning [p 1, 7.5i]: cannot adjust line
<standard input>:34: warning [p 1, 7.7i]: can't break line
<standard input>:34: warning [p 1, 7.8i]: cannot adjust line
<standard input>:34: warning [p 1, 8.0i]: cannot adjust line
<standard input>:35: warning [p 1, 8.2i]: cannot adjust line
<standard input>:35: warning [p 1, 8.3i]: can't break line
<standard input>:35: warning [p 1, 8.5i]: can't break line
<standard input>:35: warning [p 1, 8.7i]: cannot adjust line
<standard input>:35: warning [p 1, 8.8i]: can't break line
<standard input>:37: warning [p 1, 9.2i]: cannot adjust line
<standard input>:37: warning [p 1, 9.3i]: can't break line
<standard input>:39: warning [p 1, 9.5i]: cannot adjust line
<standard input>:39: warning [p 1, 9.7i]: can't break line
<standard input>:39: warning [p 1, 9.8i]: cannot adjust line
<standard input>:39: warning [p 1, 10.0i]: can't break line
<standard input>:39: warning [p 1, 10.2i]: can't break line
<standard input>:40: warning [p 1, 10.5i]: can't break line
<standard input>:41: warning [p 1, 10.7i]: can't break line
<standard input>:41: warning [p 1, 10.8i]: can't break line
GIF87a�.@����<:<���,�.......@���������ڋ����H�扦�ʶ���L�������
��L*�� �J� ........�
���,7�N�ן@@/���‐�ϧ��?+�'8H�d��wV����(�h�hy��1�9��� z��Y�'���Hj�:�
�檵���*��+e�9�[l\[uFFFD]*I|��x���Y�q����b���‐>N���6I���љ‐
�.?�?��~�s�[W熞@#���SQ��
\[uFFFD]h�60"e0�9a�a<��k$:�BpEv<�"#�$rhY�ʙ!�P ��<.....��Y�䌏���9��Bi}iϥT1D��*��4����U�J��Q�GAu�ٹ�����7�t�"h�Oj[)��V�'‐‐��Rg��0��}<���S\[uFFFD]�yfT�?����#m.......u:5�?�y���Y�ό�mK�'i��4+y*5qv����S6�Z�n�{�&p�㭵]ԟ�DN����XƛX܌�j�MzE�~�>���M��U}a�R���*I��It'R��I �J���9h�W)�JC1}��yS4H'{(�[�K�7ABE��B�BId�F�(HF�}��C���D��^VI��zh��0��@��d�UGd��j�F�+|�emg�'%J���DBY^��IfgG�邘�Y�E�a(F�� �|Tڐ%����GZ‐
zC\[uFFFD]f ܣE�(*�(d &9Q�z��B� ^�.�y���bn4��
�i��Bꨔ���kN���kqdژ�B�&�� �J‐��a9���� ^fK��R;m�;<+�6
˩Q�����4���Ӭ<*‐�����/���A��¿�8�í����:Y��.���"��?(�?W|&�'|� ~��K��c0t(�\[uFFFD] N��f�y�)��!�y��'�1?p䷖��kEDW9u�F���5�[dx��jeU�Ө�'7�qa�B}�J���Ժ��J
��k�PP"�
4t�c�q��Er���ݱ��{c�S�s��ڥ�%�DAᙏ�����Ě���9 ,&>��a�p�8qO���筺��y���S��3�
S������~����~/P‐!>��.��F�#�I �N����&�??z�}�v�\[uFFFD]/��gӜR�K���v���,���d*zIݺ�T2��!g�
�Oh��!�Z��U��(�����0���(���1*�K]���UҤFo�V�B�*ح�(� �B�+v@I�Q/\[uFFFD]#�@[�ʟg�� REq0���88��~v��
�#Dx�Xc���BC����s‐�%���M�!�E�X‐�"�e����U�P�� @�����a&��CH~Q���d�
Kz��El�Ք�)������
�t���m�d+���jO�+yK��C�$����O��~�\[uFFFD]'��0���'3uJ
�}�e.��7�E��ӌ�5'�M�X�լd�RY�p2S�J��4 �d�왅����9JJ�`�'8�����wq�τĵr
���4]�c�rN�DE�")�����#8lL44x1���b�B)&.�P@��2'�N7��� D~
T�.g�A‐�Q��*u��h�z���J���ER��G�ju�−�z
��.���hIU#"����g‐�R�eT��Qf�j�֊�[P�kQ�T�.!�{�HZ�����E��R���u|���W�R��I���%$;Y�V�iN
�S�N� �z�*@Z
�,惭6m��������jl�I��hU�b�‐R��x��w��_�Y��4��V���Q7'ҵ&RQ[]lu�=�j��[X07�8�%��AV���+{ߥU��5���@]e����7��a�fz��6MFn��+'�R��[+S�^�n�������t���ny........C��ĕ��L��P�
�*��VA2b��4fU�K�H�Z�K3���<����O�Ä@�A����^��U�.......��,��Ɛ�]��h�܀�c�.������?nn}��g���v��dޚ����9 b�_w�...�AZ�I�6ƫh1�P��#�g�ҏ^j�1g���NåAm���Ɲ5��8i�&9}�~uO,��B�ԶNu�ɈW4/!j�ѝY��RS.....����_k�ba/���Bp���......����u����RO��/�nc��uT@�]��t$�'jX�<�B��������|�z�}��[�p������!p��\[uFFFD]�n�� �1.�����?�p�R��o�{[q�'��qep��r���?m‐���q���<�07(D�s)�+w9'D���=_,��d:��3۴.....��7j��ޅ��X���/�宏��z����Ut<����H������<Ip��3��t\[uFFFD]�:xg�������?���
��o��~��v=��Л��My��]1����x�{~�T��G��ă��GM�����,z4���?�=v��L8��K;�����'���y?~�Пr�z���;��v��_��z���O~����O�������|���U�A�������|��~܇}�'��~��}�wq�ǀ�w���hts�}h���v��fuu�
��....h����rX��ah�5Ȃ4w]��:L�W�ց@�<�V��_Fۆ�� 2Ȅ>�U�l�7���rU�(P�Y�Bȅ
�N���/�4�P�v���C��fu�l�4�#.......}S(�e�S�$׃�G���>��t'�#�U�x��HK�(��&T
x��(��%��ȉ3���8����h����膫���‐�8X��֊��犑��b�W#�Xu�{����G'AeR���o�_�����q�&h���҂��|��;�V�(K��*XcdV�b%���mP�iu�W�:{Ә{�e�"�ņ)b���e6‐�d�����Vn6��x�j�7�(
�X�x��%�x�P�e‐�L�X!�8P ���kyX�R9��%�8�/hm$Ye����6
k�S䤑*F��T�y]:��0Z�?g�(�c��e�lU�7@q��lRQ�d2�Z�zW ^G��x�����,�@��39�YA2�Ra�TYIk�4O��6Cbt�2 d,�Y\[uFFFD]��&��Xbe�k�&dYӒ[�n=9��VA��H�+���_eY�@jJh���YgqA���ZԗkW9��b�n�BPi �)�4k
�K�l��#��@rt��fi����lEy��{��� �)��i8�i���k�p�9�t#��y��>�z'(�X�Bt���R�q��5�|9E��C(�)�|G�'��9��0W��Qf���� sҹ��%��6�yC�P��WM���9�i��‐��"*p*�:�щ�Gȝ��/:�1�rt��'��$�襞3��3*���J��䞰���S≀�i����3����J)T:.�^�]�'ʣ2JQ
�L�yD�I���lJ�,Z_p��$Zot�Ef�Ch:�[�2m��W�~54�)��*8Y~H
�j��*DV��k柄�'5�YZ��Z���Z�W�u�za��y�������w�������9�������FY��=�d����*����@�‐٫|ڧ���'c�t���*��jr�*W�Z�poA��8�غPӺ�Mh�ɪ6�Zڮ�ʤ���p'����*amq��b*�@D��h�� +���
��� �� �����]
����Ӱ�R%�K;"....*���i�sc��x�&�1k��]�z�;�����w%��b��#�<ӣC�N뮝�Q�.�(�I�M������@[�3����j|W+�m�q�t���#^�Ϛ��eK�3K��*�,�nj+��1�y���ʷ�1�*�9ZO�{��Xˀo;�j���)�4+�Y��h��V�
۔E:.�~�0�K��'c+h!y�zڷ'�W����k��˪���@X�ZØև� �������Q����a�0�v���
�5�S��W��˞�T��ի�+'����s���ۑ�K�Ӫ��e��뻎P�&���٠6���z��U�(��*�ϊ��W�:��{��D���cb��H�f��w����L���WKH���ص�9��7��G�h��Y�����h�����(\[uFFFD]����<뚽�Q�+����2K�vw+�z�2&f�X7t‐��wx�VܭA'�R�e��^|�'+�
��諉8�^�>|��˱B��S�'�j�dZÚ�]�z� {�T���a�#�ȆP��u�r܀Fl�^�|ǂ�ȍ?q�a��cl���ml���^�q!�l�P��ո�ò#q[��K�z���{ȅ4�{j˟(�M��z�쬲윿<X��;��{���ɂ�_Μ��ʥ�ܥ�lK�\[uFFFD]�,��ۯ���^B*[U���$��'1��,���!�gL���ؼ>F��ZZ
|ϟ�P���%��:���@QWSga���mI�T��!���� g�4Aď+�+���Z�U7Az��ѽ‐��7��V@�(��������r��C��...‐��<��?�v0��K��Fa2D=�bT��f�˅���B���� �T��W��aM^�\[uFFFD]]M3�����'
��w}�V��{m�NE�������
F��Z�q��N����Ї�JS+�Vjμ���d�e)��Mi_���N�ܟ'‐ء�ؙ�^�}��‐K��Z��)ؖ�a*۸��wi�s�p�ذ�����ϯ��h$�iM���^��
�~1Q!�=����k}�����������(��=�����ޘ��Ѝ��m)�C�=����=�{wO���]J�m����mx����=u�‐��]�o\[uFFFD].Qj�'� A}[sM^��}�N���J��"���:�[�Z6��&^�M���=Y����qߡ���ܡ������G�C��C��Pi�}�2��P>ޱ%�+>�Sn����D�[���x�A����e������N���j�a�'���������Q��;�<R��ž��(�eծ���6ݼ��4������瑩��N�б�^�......~��5�9���V�J~y��‐���/n)<�N�a>ٽ~��.K���^�[�r��[���.��'�N��m�w�a����6:��Z��*��g��ӎ��垏��*�����^ɑ�[�^e��ہMn���{����|����L��������^�>�+��� ����߆l}��}��"�}I�ǎ������oz����F�����+�=����6�L^�s����.�\[uFFFD]��w��*��䫹�<��[�lM��������^�pn��)��V�D����|N��6���n������z�<Y���\[uFFFD]���[N�o_m��A��}��b�oi���]y�~���O�oi‐���n^��M�3o��n�o�@�o�_��L�5y��?��b��O�O��p�,a���O�����:��,������Z��y�/sN��ݟ���m�v$��j��{�����������O���e�����ϐ�_hM�1u��a��V˂�w��‐P���T]�v�*�P�q�x���A/����A�>�L�26�X����~������
U=‐�M��n�����?'���A�������%?�‐e'5M.;�
鮐�*ÈxnK=Y'2�zTx[kY@�ZfWm�Da^���%p��?
}���������9�����}���ù..����C���>rk���m������;�����!m�������:my{�C!bV�Z�V��s�p�5�QH���I4��h9�"%�Q��TSs�MG0�T�
�O!<UڢG�h�P�!C
'hSS��Z��Q�ӐVݺ$,7zc���?�M�ȼWm�+D�3��e�#|5���'���v��$:�_���
Q��5...wh�Jd+'n�d��$�'���'����ڰ�o�{|z,8�km���%Z���o�}[��c][������咻��[���9�.�����t�:�x��/0C]����w��ދ�y�����/�&Xg9$N�=��
��.�(��"|�n>����j:�' ����{�Iq�돂#�M/R<�XC��A�~�E
gHR.......S�n�%�|'D
M|�J�D&K,ϫ�H'}l�C�h�bF1�M�����B6�|3���J!��
�$!Nu�3=O�Tt�...}�H<�D�(m,tL/��P�<!TSf��3�F�lO�G7�а*e�PG�)��/5%‐��t�Ly���Bi 6�C� NO�=
%Ҵ,�=�Tv�f�}[U3�Wf�m��pc4$�p'ZW(sY��u# ]7��6�bl�tt�‐qNl]%X�pQ�u�'6�Hw�Ec^t��Wև��'���bC��ܝ��8Ϗ�l�_\[uFFFD]�d�����j�M‐
Q�{��b�Ge�}��ye��Z�sqN‐
Whb�f��6��9a�C���uv�Ӥ�%���1�٧��:kL�����f^�O����9�b[�~��u'����Ϥ��m���gh���j�&��2�|<h�n�����Kf[��\[uFFFD]O;��!��ح>;U��ݼ�Q�[��Aם���;r��F�=w�u�kw�?���i��M�敵�Q�c/����I��f�ˎ�o�Q�
ڱ��m�ߜu�/q���ڰ�k|���:氮q�;���?���y�Kڵp&A ���\[uFFFD]
��!Я|�S\[uFFFD](XBn��1[��
$��$�.�$锧$����3� '��z���{� ǿ��o�a[wD�35|��f����=��G��A���#��=�qy�{��(84�
�n�"s��9�
�?�#���=����X���8*�c?"��H$�/W��$+i�,r�Hu�#&?�82�K6t��Ę+��......�R�#Y��PJ��������G����"��
@Ð>��/�L0q���‐��7)ʓ���(�VbLL���
...... Km��NZ�f�pi�l�s������N��mtg'��D�S��l@i�Oсs0���C�sV�s��A���Ќ��t
:=��G��#�U�Q....����BCK�Q�~�z�,:�U��E�4��L��t#)�4�gJ�=�OBeZ�y,,*5j2�nE���Sh��
����R���H5���?�V�Nu+ ��)������u�I1WZ�d!�
�(pX�b�Ab�OF��'$f+S��@K����#�U�Z���n�]M��e����p���R��KA��ı�‐�z��Gl.���i�Z٢$'��ou����6(�up���c'��j�Ȕ�]�Z¸��fp�@�����@�W��$���)ưK�v�
�,+��ҧ$Qo{զݟ�g�s�ۇ��K��.....��u�‐ fp��O|'�5&}Ƹ.�(8���
{C[�D�m�,܈�Te�0^��A�Ǘ�Z�z�u�_8������b�d�Jr�,�;օɛ��"e�b3�;�rFO��+o��#�f+�K��02���3w�pfO����Fvz�s�S
��6�iu0�C/� E �!iIO�ҕ���;
Hi,
oha, da scheinen schon ein paar Grundlagen zu fehlen.
"man" ist ein Linux-Befehl, der Dir Doku anzeigt. Die solltest Du lesen.
Mein anderer Kommentar hat darauf abgezielt, dass es durchaus einen Unterschied zwischen "-p" und "-P" gibt.
Gruß,
Thorsten
Nochmals Danke.
meine Grundlage beruht auf rd. einem Jahr hier im Forum mitlesen nicht mehr und nicht weniger. Vlt. Etwas selbstbeigebrachtes Html.
Es ist also ein
{system("lpr -P HL2035 /home/pi/Downloads/hello-kitty-3.gif")}
Du hattest auch gleich die dynamischen Anteile angesprochen. Gerne wollt ich Alexa natürlich sagen das sie das Dokument x-mal ausdrucken soll. Da die Perl-Kenntnisse gleich mehr oder weniger Null sind, sehe ich da keinen Erfolg bei mir. Ich bräuchte vergleichbare Beispiele, welche ich auf meine Bedürfnisse dann anpasse bzw. nen Anfang .Wär nett wenn da paar zusätzliche Schubser geben könntest.
Zitat von: TomLee am 06 Februar 2017, 18:31:05
Es ist also ein
{system("lpr -P HL2035 /home/pi/Downloads/hello-kitty-3.gif")}
Du hattest auch gleich die dynamischen Anteile angesprochen. Gerne wollt ich Alexa natürlich sagen
Alexa hab ich nicht und will ich nicht. Was Software braucht, die nur in der Cloud läuft, will ich nicht haben. D.h. da kann ich nicht helfen.
Zitat
das sie das Dokument x-mal ausdrucken soll. Da die Perl-Kenntnisse gleich mehr oder weniger Null sind, sehe ich da keinen Erfolg bei mir. Ich bräuchte vergleichbare Beispiele, welche ich auf meine Bedürfnisse dann anpasse bzw. nen Anfang .Wär nett wenn da paar zusätzliche Schubser geben könntest.
Keine Ahnung. Schau mal bei "man lpr" ob es da was zum mehrfach Ausdrucken gibt.
Gruß,
Thorsten
Oder Du schickst eben den Befehl X mal ab ...
Geht es jetzt eigentlich mit fhem oder nicht?
(bzw. als User fhem?)
@Wernieman
mag mir den Alltag erleichtern, nicht irgendwie füllen.
Wie erwähnt druckt mir
{system("lpr -P HL2035 /home/pi/Downloads/hello-kitty-3.gif")}
jetzt das Bild aus. Ich geh mal davon aus auch andere Dokumente werden gedruckt und auch Alexa wird tun was ich ihr sagen werde. Habs noch gar ich eingerichtet
@ Thorsten Pferdekaemper
ob Alexa oder Cloud hin oder her. Am Ende geht's doch darum mit einer Aktion zwei Befehle auszuführen.
Zitat von: TomLee am 06 Februar 2017, 21:53:26
ob Alexa oder Cloud hin oder her. Am Ende geht's doch darum mit einer Aktion zwei Befehle auszuführen.
Zwei Befehle? Bisher ist's nur einer...
Gruß,
Thorsten
1x drucken und 1x die Anzahl der Seiten dachte ich sind in der Summe zwei.
Nachdem ich es ausgeschrieben hatte wurde mir bewusst das dies aber mit Alexa zur Zeit wsl. gar nicht geht, eher einmal eine best. Anzahl Seiten an bspw. an einen Dummy übergeben mit einem Sprachbefehl und einem notify oder dergleichen das durch einen weiteren Sprachbefehl den Druck von x Seiten auslöst.
Hi,
also erstmal Stück für Stück: Du brauchst erst einmal irgend ein Kommando, dass die Dir die gewünschte Anzahl druckt. Schau doch mal bei "man lpr" nach, ob es da sowas gibt.
Gruß,
Thorsten
WeDu hast mich nicht richtig verstanden:
Wenn DU per dummy drucken kannst, kannst DU die Anzahl durch Fhem selber lösen, das Du eben für X Seiten den Dummy X mal aufrufst. Das hat nicht mit "mag mir den Alltag erleichtern, nicht irgendwie füllen." zu tuen.
Das es auch anders geht:
Ein Denkanstoß aus der man-page:
-#num The quantity num is the number of copies desired of each file
named. For example,
$ lpr -#3 foo.c bar.c more.c
Also das
-#x
Ist weniger das Problem.
...dann ist mir momentan nicht so 100% klar, was das Problem ist.
Also ich rate mal: Du hast jetzt einen Dummy, in dem irgendwie Anzahl zu druckender Kopien steht. Richtig? Falls ja, dann gib mal ein list von dem Dummy.
Gruß,
Thorsten
Richtig☺
Bisher sieht er so aus
Internals:
NAME du_AnzahlSeiten
NR 505
STATE state
TYPE dummy
Readings:
2017-02-07 10:38:17 state state
2017-02-07 11:22:22 volume 3
Attributes:
alexaName druck
genericDeviceType speaker
homebridgeMapping AnzahlSeiten=volume,cmd=volume
readingList volume
room AlexaControl,DUMMY
setList volume:slider,0,1,20
Vielleicht so:
{system("lpr -#".ReadingsVal("du_AnzahlSeiten","volume","1")." -P HL2035 /home/pi/Downloads/hello-kitty-3.gif")}
Gruß,
Thorsten
Abermals ein großes merci.
In einem Doif eingepackt sieht das bei mir jetzt so aus
Internals:
CFGFN
DEF (["^MyAlexa:^fhemIntent: druckehellokittymitschleife"]) ({system("lpr -#".ReadingsVal("du_AnzahlSeiten","volume","1")." -P HL2035 /home/pi/Downloads/hello-kitty-3.gif")})
NAME doif_printDocuments
NR 8087
NTFY_ORDER 50-doif_printDocuments
STATE cmd_1
TYPE DOIF
Readings:
2017-02-07 16:15:55 Device MyAlexa
2017-02-07 16:15:55 cmd 1
2017-02-07 16:15:55 cmd_event MyAlexa
2017-02-07 16:15:55 cmd_nr 1
[color=red] 2017-02-07 16:15:55 error {system("lpr -#".ReadingsVal("du_AnzahlSeiten","volume","1")." -P HL2035 /home/pi/Downloads/hello-kitty-3.gif")}: -1 [/color]
2017-02-07 16:15:55 matched_event_c1_1 fhemIntent: druckehellokittymitschleife
2017-02-07 16:15:55 state cmd_1
Condition:
0 EventDoIf('^MyAlexa',$hash,'^fhemIntent: druckehellokittymitschleife',0)
Devices:
Do:
0:
0 {system("lpr -#".ReadingsVal("du_AnzahlSeiten","volume","1")." -P HL2035 /home/pi/Downloads/hello-kitty-3.gif")}
Helper:
event fhemIntent: druckehellokittymitschleife
globalinit 1
last_timer 0
sleeptimer -1
timerdev MyAlexa
timerevent fhemIntent: druckehellokittymitschleife
triggerDev MyAlexa
timerevents:
fhemIntent: druckehellokittymitschleife
timereventsState:
fhemIntent: druckehellokittymitschleife
triggerEvents:
fhemIntent: druckehellokittymitschleife
triggerEventsState:
fhemIntent: druckehellokittymitschleife
Internals:
Itimer:
Readings:
Regexp:
0:
0 ^MyAlexa:^fhemIntent: druckehellokittymitschleife
All:
0 ^MyAlexa:^fhemIntent: druckehellokittymitschleife
State:
Trigger:
Attributes:
do always
Funktioniert einwandfrei, was irritiert ist die Fehlermeldung.Kann die ignoriert werden? Liegt's an dem -1 welches zurückgeliefert wird, aber normal ist?
Zitat von: TomLee am 07 Februar 2017, 16:31:08Funktioniert einwandfrei, was irritiert ist die Fehlermeldung.Kann die ignoriert werden? Liegt's an dem -1 welches zurückgeliefert wird, aber normal ist?
Welche Fehlermeldung?
Gruß,
Thorsten
Habs versucht rot hervorzuheben geht wohl in Code Tags nicht.
Aber man siehts ja(error in den Readings)😊
Ach das.
Keine Ahnung. Schau mal bei man lpr warum das mit -1 zurück kommt.
Ansonsten:
{system("lpr -#".ReadingsVal("du_AnzahlSeiten","volume","1")." -P HL2035 /home/pi/Downloads/hello-kitty-3.gif");;return 0}
...oder so.
Gruß,
Thorsten
fhem hat bei mir keinen Zugriff auf
pr: Error - unable to access "/media/pi/DRIVE-N-GO/Ausmalbilder/hello-kitty-4.jpg" - Keine Berechtigung
Hab den ganzen abend mit der Suche nach der Ordnerfreigabe (Berechtigung) verbracht und alles mögliche versucht, werde das Thema nie verstehen.
Kannst dazu bitte nochmals einen Hinweis geben.
Zitat von: TomLee am 08 Februar 2017, 08:01:03
fhem hat bei mir keinen Zugriff auf
pr: Error - unable to access "/media/pi/DRIVE-N-GO/Ausmalbilder/hello-kitty-4.jpg" - Keine Berechtigung
Hab den ganzen abend mit der Suche nach der Ordnerfreigabe (Berechtigung) verbracht und alles mögliche versucht, werde das Thema nie verstehen.
Kannst dazu bitte nochmals einen Hinweis geben.
Hi,
ls -ls /media/pi/DRIVE-N-GO
ls -ls /media/pi
und...
man chmod
Möglicherweise ist DRIVE-N-GO auch ein externes Laufwerk. Da muss man sich dann die Mount-Optionen anschauen.
Gruß,
Thorsten
Wie schon mmehrfach geschrieben, probiere es als User fhem (ohne fhem).
was sagt denn ein "ls -lha /media/pi/DRIVE-N-GO/Ausmalbilder/hello-kitty-4.jpg"
P.S.
Die Berechtigung von Windows sind übrigens wegen der ACL-Möglichkeiten noch komplizierter ....
pi@raspberrypi:~ $ ls -ls /media/pi/DRIVE-N-GO
insgesamt 1792
256 drwx------ 2 pi pi 262144 Feb 3 17:05 AccessDatenbankSicherungen
256 drwx------ 2 pi pi 262144 Feb 7 17:43 Ausmalbilder
256 drwx------ 3 pi pi 262144 Feb 3 17:06 ESP8266
256 drwx------ 3 pi pi 262144 Mai 23 2016 Neuer Ordner
256 drwx------ 6 pi pi 262144 Dez 8 08:02 Norbert u. Petra
256 drwx------ 20 pi pi 262144 Mai 15 2016 Haus
256 drwx------ 13 pi pi 262144 Okt 22 20:39 Privat
pi@raspberrypi:~ $ ls -ls /media/pi
insgesamt 256
256 drwx------ 9 pi pi 262144 Feb 5 15:41 DRIVE-N-GO
Hier
https://wiki.ubuntuusers.de/chown/ (https://wiki.ubuntuusers.de/chown/)
steht
ZitatDer Benutzer andreas wird als dauerhafter Besitzer des Verzeichnisses /media/VERZEICHNIS bestimmt:
Darum hatte ich ein
sudo chown -c fehm /media/pi/DRIVE-N-GO
versucht.
chown: ungültiger Benutzer: ,,fehm"
oder auch
sudo chown -cR fehm:fhem /media/pi/DRIVE-N-GO
chown: ungültiger Benutzer: ,,fehm:fhem"
Ja DRIVE-N-GO ist eine ext. Festplatte.
@Wernieman
pi@raspberrypi:~ $ ls -lha /media/pi/DRIVE-N-GO/Ausmalbilder/hello-kitty-4.jpg"
>
mehr passiert nicht.
Korrektur da hatte sich das Anführungszeichen irgendwie eingeschlichen:
pi@raspberrypi:~ $ ls -lha /media/pi/DRIVE-N-GO/Ausmalbilder/hello-kitty-4.jpg
-rw-r--r-- 1 pi pi 9,7K Feb 7 07:07 /media/pi/DRIVE-N-GO/Ausmalbilder/hello-kitty-4.jpg
Zitat von: TomLee am 08 Februar 2017, 09:14:24
sudo chown -cR fehm:fhem /media/pi/DRIVE-N-GO
chown: ungültiger Benutzer: ,,fehm:fhem"
Ohje... Schau mal ganz genau hin. Ganz, ganz genau.
Zitat
Ja DRIVE-N-GO ist eine ext. Festplatte.
Wie genau ist die gemountet? Vielleicht gibt's da noch Optionen, das Teil anders zu mounten, so dass alle Benutzer Zugriff haben. Ansonsten hilft wahrscheinlich chmod a+x für Verzeichnisse und chmod a+r für Dateien.
Den Rest sagt Dir man chmod.
Gruß,
Thorsten
auch wenn man fhem richtig schreibt bleibt's bei
chown: ungültiger Benutzer: ,,fehm:fhem"
Hi,
aha. Kann es sein, dass Du nicht genug geschlafen hast? Schau noch mal ganz, ganz genau hin.
Gruß,
Thorsten
Sry. Aber ja zu wenig Schlaf und ich werde krank.
Ich mache natürlich ein
pi@raspberrypi:~ $ sudo chown -cR fhem:fhem /media/pi/DRIVE-N-GO
chown: ungültige Gruppe: ,,fhem:fhem"
oder
pi@raspberrypi:~ $ sudo chown -c -R fhem:fhem /media/pi/DRIVE-N-GO
chown: ungültige Gruppe: ,,fhem:fhem"
Hi,
ich glaube, eine Gruppe fhem gibt es normalerweise nicht. Ich glaube, es muss so heißen:
chown -R fhem:dialout ...
oder einfach
chown -R fhem ...
Gruß,
Thorsten
Zu
ZitatWie genau ist die gemountet?
hoffe ich doch das dies die richtige Antwort ist
/dev/sda1 on /media/pi/DRIVE-N-GO type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=437,iocharset=ascii,shortna
me=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
In der Datei
/etc/fstab
siehts so aus
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
Also, weder
sudo chown -R fhem:dialout /media/pi/DRIVE-N-GO
noch
sudo chown -R fhem /media/pi/DRIVE-N-GO
ist es. Beides führt zu einer Ausgabe aller in DRIVE-N-GO befindlichen Dateien, hier ein Ausschnitt
chown: der Eigentümer von ,,/media/pi/DRIVE-N-GO/AccessDatenbankSicherungen/Original.mdb" wird geändert: Die Operation ist nicht erlaubt
chown: der Eigentümer von ,,/media/pi/DRIVE-N-GO/AccessDatenbankSicherungen" wird geändert: Die Operation ist nicht erlaubt
chown: der Eigentümer von ,,/media/pi/DRIVE-N-GO" wird geändert: Die Operation ist nicht erlaubt
Hi,
dann ist wahrscheinlich mit chmod/chown nichts zu machen. Das muss man vielleicht beim mounten erledigen. Offenbar steht das Teil nicht in der fstab. Wie hast Du die externe Disk den gemountet? D.h. welchen Befehl hast Du dafür verwendet?
Gruß,
Thorsten
Der Stick ist mit einem FAT-Dateisystem versehen, Abhilfe schafft wirklich nur ein umount und mount mit den richtigen Vorgaben.
Zum Weiterlesen:
https://wiki.ubuntuusers.de/Windows-Partitionen_einbinden/#Dateirechte
Gruß
Beta-User
Richtig steht nicht in der fstab, hatte ich oben erwähnt.
Wie der Befehl genau war, hab ich ehrlich gesagt keine Ahnung mehr, zu lange jetzt her.
Ich glaub ich war nach dieser Anleitung vorgegangen.
https://jankarres.de/2013/01/raspberry-pi-usb-stick-und-usb-festplatte-einbinden/ (https://jankarres.de/2013/01/raspberry-pi-usb-stick-und-usb-festplatte-einbinden/)
Warum ich aber den Eintrag in der fstab nicht gemacht habe?
Meine Festplatte ist doch immer erreichbar, auch nach einem an/ausschalten.
Sie ist erreichbar, aber eben nur für den User pi (uid=1000). Es sollte reichen, hier statt der Gruppen-ID pi z.B. dialout zu verwenden oder eine andere umask-Angabe zu machen.
Dann kann sowohl user pi wie auch fhem darauf zugreifen (das erste solltest Du nicht ändern, sonst funktioniert vielleicht was viel wichtigeres nicht mehr.
Alternativ: Linux-Filesystem nutzen ;).
Also für eine dauerhaft angeschlossene Festplatte ist Dateisystem vfat ... sinnlos. Würde Dir da, um es zu vereinfachen, zu einem anderen Dateisystem raten.
Also ich habs fast so befolgt wie Beta-User sagte, damit klappts☺
erst ein
sudo umount /media/pi
dann ein
sudo mount -t vfat -o utf8,uid=pi,gid=dialout,noatime /dev/sdb1 /media/pi
und fhem hat Zugriff auf die Festplatte.Allerdings jetzt ja ohne Ordner DRIVE-N-GO. Also dacht ich kein Problem einfach wieder ein umount, Ordner erstellen und wieder ein mount.Nix is:
pi@raspberrypi:~ $ sudo umount /media/pi
umount: /media/pi: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
Ziel besetzt😀
Und jetzt nachdem auch alles zu spät ist, kommt mir das ja auch Sonos auf die Festplatte Zugriff hatte, da hatte ich doch das ganze mit einer Samba-Freigabe gelöst ich Trottel.
@Wernieman
werd ich mich mal irgendwann beschäftigen
Du solltest es vielleicht schon in die fstab eintragen, dann aber mit dem Pfad, den Samba kennt (mit DRIVE-N-GO) und den richtigen Userrechten wie jetzt in den manuellen mount-Befehlen ;).