FHEM > fhem-users

[FHZ] define at

(1/3) > >>

Dr. Boris Neubert:
hiya,

ganz einfacher at-job:

define bu.Drucker.timer at +*00:00:25   "[[ "$(lpq -P ml5000a | tail -n +2 |
head -n 1)" != "keine Einträge" ]] && fhem.pl localhost:7072 "set bu.Drucker
on-for-timer 320""

zur erklärung:

alle 25 sec soll der timer die queue vom drucker ml5000a abfragen.
wenn wert ungleich "keine Einträge" ist, soll er den Drucker für 320 sec.
anschalten.

obwohl "$(lpq -P ml5000a | tail -n +2 | head -n 1)" gleich "keine Einträge"
ist, führt fhem dennoch den befehl alle 25 sec aus:

2008.01.17 21:03:02 2: FS20 set bu.Drucker on-for-timer 320
2008.01.17 21:03:27 2: FS20 set bu.Drucker on-for-timer 320
2008.01.17 21:03:52 2: FS20 set bu.Drucker on-for-timer 320

in der bash funktioniert dieses ohne probleme!

also irgendwie mag mich fhem.pl nicht oder ich hab's nicht begriffen.

gruß martin

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-

Dr. Boris Neubert:
Originally posted by: <email address deleted>

Hi,

Martin Fischer:
> obwohl "$(lpq -P ml5000a | tail -n +2 | head -n 1)" gleich "keine Einträge"
> ist

Sicher?

Auch mit den Environment-Variablen, die der im Hintergrungd laufende
FHEM hat? Das dürfte entweder Englisch sein, oder ein anderer Code
(d.h. das System liefert UTF-8, aber dein Skript ist in Latin1 kodiert,
oder umgekehrt).

Machs anders (und sicherer und einfacher):

  lpq -P ml5000a | grep -qs 'Muster-wie-ein-Job-Eintrag-aussieht' && fhem ...

--
Matthias Urlichs   |   {M:U} IT Design @ m-u-it.de   |  smurf@smurf.noris.de
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
 - -
Aleph-null bottles of beer on the wall,
Aleph-null bottles of beer,
You take one down, and pass it around,
Aleph-null bottles of beer on the wall.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-

rudolfkoenig:
hi,

Am Freitag, 18. Januar 2008 schrieb Matthias Urlichs:
> Martin Fischer:
> > obwohl "$(lpq -P ml5000a | tail -n +2 | head -n 1)" gleich "keine
> > Einträge" ist
>
> Sicher?
>
> Auch mit den Environment-Variablen, die der im Hintergrungd laufende
> FHEM hat? Das dürfte entweder Englisch sein, oder ein anderer Code
> (d.h. das System liefert UTF-8, aber dein Skript ist in Latin1 kodiert,
> oder umgekehrt).
>
> Machs anders (und sicherer und einfacher):
>
>   lpq -P ml5000a | grep -qs 'Muster-wie-ein-Job-Eintrag-aussieht' && fhem

danke für deine anregung! doch das löst das eigentliche problem nicht!

ich habe gerade mal folgendes gemacht:

define bu.Drucker.timer at +*00:00:25   "/usr/local/lib/FHEM/scripts/cups"

cups:
#!/bin/bash

# set encoding
export LANG=de_DE.utf8
export LC_CTYPE=de_DE.utf8

LPQ=`lpq -P ml5000a | tail -n +2 | head -n 1`

FHEM_BIN="/usr/local/bin/fhem.pl localhost:7072"

if [ "${LPQ}" != "keine Einträge" ]; then
        ${FHEM_BIN} "set bu.Drucker on-for-timer 320"
fi


das funktioniert in der bash definitiv! probier es mal aus...

fhem.pl macht daraus:
2008.01.18 16:00:53 0: Server started (version =VERS= from =DATE= ($Id:
fhem.pl,v 1.36 2007/12/31 14:43:02 rudolfkoenig Exp $), pid 18529)
2008.01.18 16:01:18 2: FS20 set bu.Drucker on-for-timer 320
2008.01.18 16:01:43 2: FS20 set bu.Drucker on-for-timer 320
2008.01.18 16:02:08 2: FS20 set bu.Drucker on-for-timer 320
2008.01.18 16:03:23 2: FS20 set bu.Drucker on-for-timer 320
2008.01.18 16:03:48 2: FS20 set bu.Drucker on-for-timer 320
2008.01.18 16:04:01 0: Server shutdown

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-

Dr. Boris Neubert:
                                                   

Das ist ziemlich sicher kein fhem Problem. Ich wuerde es an deine
Stelle im script debuggen, z.Bsp mit
env >> /tmp/cups.log
echo $LPQ >> /tmp/cups.log

Rudi

On Jan 18, 4:09 pm, Martin Fischer wrote:
> hi,
>
> Am Freitag, 18. Januar 2008 schrieb Matthias Urlichs:
>
> > Martin Fischer:
> > > obwohl "$(lpq -P ml5000a | tail -n +2 | head -n 1)" gleich "keine
> > > Einträge" ist
>
> > Sicher?
>
> > Auch mit den Environment-Variablen, die der im Hintergrungd laufende
> > FHEM hat? Das dürfte entweder Englisch sein, oder ein anderer Code
> > (d.h. das System liefert UTF-8, aber dein Skript ist in Latin1 kodiert,
> > oder umgekehrt).
>
> > Machs anders (und sicherer und einfacher):
>
> >   lpq -P ml5000a | grep -qs 'Muster-wie-ein-Job-Eintrag-aussieht' && fhem
>
> danke für deine anregung! doch das löst das eigentliche problem nicht!
>
> ich habe gerade mal folgendes gemacht:
>
> define bu.Drucker.timer at +*00:00:25   "/usr/local/lib/FHEM/scripts/cups"
>
> cups:
> #!/bin/bash
>
> # set encoding
> export LANG=de_DE.utf8
> export LC_CTYPE=de_DE.utf8
>
> LPQ=`lpq -P ml5000a | tail -n +2 | head -n 1`
>
> FHEM_BIN="/usr/local/bin/fhem.pl localhost:7072"
>
> if [ "${LPQ}" != "keine Einträge" ]; then
>         ${FHEM_BIN} "set bu.Drucker on-for-timer 320"
> fi
>
> das funktioniert in der bash definitiv! probier es mal aus...
>
> fhem.pl macht daraus:
> 2008.01.18 16:00:53 0: Server started (version =VERS= from =DATE= ($Id:
> fhem.pl,v 1.36 2007/12/31 14:43:02 rudolfkoenig Exp $), pid 18529)
> 2008.01.18 16:01:18 2: FS20 set bu.Drucker on-for-timer 320
> 2008.01.18 16:01:43 2: FS20 set bu.Drucker on-for-timer 320
> 2008.01.18 16:02:08 2: FS20 set bu.Drucker on-for-timer 320
> 2008.01.18 16:03:23 2: FS20 set bu.Drucker on-for-timer 320
> 2008.01.18 16:03:48 2: FS20 set bu.Drucker on-for-timer 320
> 2008.01.18 16:04:01 0: Server shutdown
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-

Martin Fischer:
Am Freitag, 18. Januar 2008 schrieb Rudolf Koenig:
> > ich habe gerade mal folgendes gemacht:
> >
> > define bu.Drucker.timer at +*00:00:25  
> > "/usr/local/lib/FHEM/scripts/cups"
> >
> > cups:
> > #!/bin/bash
> >
> > # set encoding
> > export LANG=de_DE.utf8
> > export LC_CTYPE=de_DE.utf8
> >
> > LPQ=`lpq -P ml5000a | tail -n +2 | head -n 1`
> >
> > FHEM_BIN="/usr/local/bin/fhem.pl localhost:7072"
> >
> > if [ "${LPQ}" != "keine Einträge" ]; then
> >         ${FHEM_BIN} "set bu.Drucker on-for-timer 320"
> > fi

> Das ist ziemlich sicher kein fhem Problem. Ich wuerde es an deine
> Stelle im script debuggen, z.Bsp mit
> env >> /tmp/cups.log
> echo $LPQ >> /tmp/cups.log

ich bin deinem rat gefolgt und habe folgendes ergebnis in cups.log:
gekürzt:
LANG=de_DE.utf8 -> richtig
LC_CTYPE=de_DE.utf8 -> richtig
keine Einträge -> richtig

und nu? also mit utf hat es nichts zu tun, da ich den if auch auf "keine"
reduzieren kann und trotzdem der at-job alle 25 sec. den befehl ausführt.

gruß martin


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln