Autor Thema: [GELÖST]Shell/Python Script ausführen (via Dummy / system{})  (Gelesen 44710 mal)

Offline masterpete23

  • Full Member
  • ***
  • Beiträge: 476
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #15 am: 24 Januar 2014, 07:27:27 »
Gibt es hierzu noch eine Antwort?
etc sudoers wäre schade

Offline Holgi0815

  • New Member
  • *
  • Beiträge: 37
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #16 am: 20 Februar 2014, 20:11:22 »
Hi,

dank dieses Beitrages habe ich meine Anforderung hinbekommen!!
Ich bekomme nur eine weiter Übergabe von Options (hier  -l deu -m p ) nicht hin.
Bsp:
Linux
:~/Scan/1_Scripte$ ./scan_to_ocr_pdf.sh -l deu -m p
geht

fhem>Linux
system('su USER /home/USER/Scan/1_Scripte/scan_to_ocr_pdf.sh -l deu -m p&');; Script wird ausgeführt, aber im Log zum Script ist erkennbar, daß -l $$ und -m $$ leer sind.

Habt Ihr noch Tipps?!
Danke Holger

Offline Wernieman

  • Hero Member
  • *****
  • Beiträge: 6041
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #17 am: 20 Februar 2014, 20:57:54 »
1. Ich würde Dir empfehlen:
su - USERDas - bewirkt, das die Umgebung von User geladen wird, sonst erfolgt dieses nicht, d.h. die "aktuelle" Version wird verwendet

2. Verwende lieber die "Originale Schreibweise" mit -c, also
su - USER -c "/home/USER/Scan/1_Scripte/scan_to_ocr_pdf.sh -l deu -m p&"
Ich weiß nicht, ob in Deiner Schreibweise in jedem Fall die Parameter -l, -m von su oder Deinem Script übergeben werden. So wie Deine Probleme klingen, würde ich genau auf dieses Problem Tippen

3. Funktioniert denn Deine Kommandozeile als "FHEM"-User auf der Kommandozeile? Mal Händisch probiert?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Offline Holgi0815

  • New Member
  • *
  • Beiträge: 37
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #18 am: 20 Februar 2014, 21:48:33 »
also:
ich hab mal weiter "geechot":
zu 1
su - USER
hat keine Auswirkung, aber gut zu wissen

zu 2
-c
"verschlechtert" das Ergebnis -> im verfeinerten Log kann ich jetzt sehen, daß mit -c nichts ankommt.
echo  "$1">&2
echo  "$2">&2
echo  "$3">&2
echo  "$4">&2
ergibt:
console:
-l
deu
-m
p
fhem ohne "-c"deu
p
-leer-
-leer-
fhem mit "-c"-leer-
-leer-
-leer-
-leer-
in allen Fällen wird das log geschrieben, die Sritp-Ausführung ist also OK

Danke schonmal
Holger

Offline Wernieman

  • Hero Member
  • *****
  • Beiträge: 6041
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #19 am: 21 Februar 2014, 07:56:39 »
Der Titel steht auf [gelöst]? Wie hast Du es jetzt gelöst?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Offline Holgi0815

  • New Member
  • *
  • Beiträge: 37
moin,
nee, das war von meinem Vorgänger, also, wie man überhaupt ein Script zum laufen bekommt!
ich hab mal etwas abgeändert...
Holger
edit:
btw: meine Problematik kann ich natürlich mit verschiedenen Startscripten, die dann das eigentliche Sript rufen, lösen.
gefühlt, ist das aber "unhübsch" ;-)
« Letzte Änderung: 21 Februar 2014, 08:37:14 von Holgi0815 »

Offline Wernieman

  • Hero Member
  • *****
  • Beiträge: 6041
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #21 am: 21 Februar 2014, 08:46:14 »
Du hast 2 mal mit "-c" gepostet. Das erste stimmt ja so,   was ist der Unterschied zum 2. im Aufruf?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

MacisHere

  • Gast
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #22 am: 12 Mai 2014, 21:14:46 »
Hallo zusammen,
ich scheitere derzeit daran, aus FHEM heraus einen Python3-Einzeiler aufzurufen. Von der Kommandozeile aus funktioniert der Aufruf (Relais auf PiFace schalten).
Ich rufe das auf mit
{system('python3 /home/pi/Scripts/PiFaceOut_on.py');;}

Auch
{system("python3 /home/pi/Scripts/PiFaceOut_on.py");;}
funktioniert nicht.

Vielleicht hat jemand nen Tip?

Offline chr2k

  • Sr. Member
  • ****
  • Beiträge: 593
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #23 am: 30 August 2015, 13:34:17 »
Auch ich bin gerade dran ein python script via fhem zu starten. Leider habe ich ähnliche Probleme wie der Thread Starter und MacisHere.

Es wird mir auch die "-1" angezeigt. Aber der GPIO und die daran (richtig) angeschloseene LED leuchten nicht. Wenn ich das Script per Python ausführe klappt es. Auch über die Kommandozeile des Raspian Systems klappt es.

Auch die Änderung zwischen " und ' hat nicht funktioniert - Außer dass mir immer "-1" angezeigt wird.

Ich muss das Python Script mit sudo starten, da GPIOs angesprochen werden.

Im Log von FHEM steht folgende Zeile:
sudo: no tty present and no askpass program specified
Irgendwie liest sich das für mich, als würden noch Pakete fehlen, die ich in FHEM installieren muss. Stimmt das?

Danke Euch.

Gruß
Christian

Online Otto123

  • Hero Member
  • *****
  • Beiträge: 14986
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #24 am: 30 August 2015, 17:15:48 »
Das hier diskutierte mit den Rechten für sudo hast Du beachtet?

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline chr2k

  • Sr. Member
  • ****
  • Beiträge: 593
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #25 am: 30 August 2015, 18:04:39 »
Das hier diskutierte mit den Rechten für sudo hast Du beachtet?

ay Karamba, da ist mir doch die untere Zeile im sudoers durch die Lappen gegangen.

Nunja, jetzt läuft halt alles als SU... fürs erste Ok.


Ich lese gerade in deiner SIgnatur dass du die Fritzbox benutzt. Für FHEM?

Online Otto123

  • Hero Member
  • *****
  • Beiträge: 14986
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #26 am: 30 August 2015, 22:05:32 »
Hallo Christian,

Zitat
Ich lese gerade in deiner SIgnatur dass du die Fritzbox benutzt. Für FHEM?
hatte ich, als zweite Instanz wegen der Anwesenheitserkennung. Mittlerweile nicht mehr...
Diese Thema und die Umstellung kannst Du ziemlich gut auf meinem Blog nachlesen.

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline no_Legend

  • Hero Member
  • *****
  • Beiträge: 1232
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #27 am: 29 Oktober 2015, 12:27:15 »
Kann man auch eine init script per DOIF starten?
Hier auch mit der übergabe start stop restart.

Eventuell auch per Ubuntu Services?

Gruß Robert
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Online Otto123

  • Hero Member
  • *****
  • Beiträge: 14986
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #28 am: 29 Oktober 2015, 14:27:37 »
DOIF unterscheidet sich da nicht vom restlichen FHEM. Warum sollte man kein script aus DOIF starten können?

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline no_Legend

  • Hero Member
  • *****
  • Beiträge: 1232
Antw:[GELÖST]Shell/Python Script ausführen (via Dummy / system{})
« Antwort #29 am: 29 Oktober 2015, 14:57:35 »
Ich bekomm es einfach nicht hin.

Hintergrund ist, dass ich mir Homebridge eingerichtet habe und momentan per Konsole den Dienst immer restarten muss.

Nun würde ich gerne in das DOIF den Befehl sudo service homebridge start schicken.
Bekomme es aber nicht hin.
Hier wie ich es mri gedacht habe:

([FHEM.Homebrige] eq "on") ({system ('sudo service homebridge start')})


Edit: Habs nu n hinbekommen, hab vergessen das Script fur fhem freizugeben in der sudoers.

Danke und Gruß Robert
« Letzte Änderung: 29 Oktober 2015, 15:06:03 von no_Legend »
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

 

decade-submarginal