Skocz do zawartości

Uruchomienie pluginu z konsoli


pablocool

Rekomendowane odpowiedzi

Czesc Mam pytanie do osób które conieco pisaly w pythonie dla enigmy. Otóz mam prosty plugin wyswietlajacy komunikat. Plugin dziala i jest dostepny w menu pluginów. Chcialbym go cronem odpalac co jakis czas. Tu zaczynaja sie schody. Pierwsze pytanie brzmi. Jak uruchomic plugin dla enigmy napisany w pythonie z konsoli lub skryptu sh?

Moje próby:

 

root@vusolo2:/usr/lib/enigma2/python/Plugins/IhadTutorial/lesson_01# python plugin.py
Traceback (most recent call last):
  File "plugin.py", line 6, in <module>
    from Screens.Screen import Screen
ImportError: No module named Screens.Screen

 

Kopiac conieco na stackoverflow znalazlem ze potrzebuje najpierw:

 

export PYTHONPATH="/usr/lib/enigma2/python/:$PYTHONPATH"

 

Niestety niewiele to pomoglo:

 

root@vusolo2:/usr/lib/enigma2/python/Plugins/IhadTutorial/lesson_01# python plugin.py
Traceback (most recent call last):
  File "plugin.py", line 6, in <module>
    from Screens.Screen import Screen
  File "/usr/lib/enigma2/python/Screens/Screen.py", line 1, in <module>
  File "/usr/lib/enigma2/python/Tools/Profile.py", line 3, in <module>
  File "/usr/lib/enigma2/python/Tools/Directories.py", line 6, in <module>
  File "/usr/lib/enigma2/python/enigma.py", line 30, in <module>
  File "/usr/lib/enigma2/python/enigma.py", line 22, in swig_import_helper
ImportError: No module named _enigma

 

Ja dlubie dalej. Tymczasem prosze Was o pomoc:)

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki za odpowiedź. Zapewne oszczędziłeś mi wiele czasu. Nie potrzebuję wiele. Chcę wyświetlić komunikat. Może być taki jak wyświetla się przez openwebif za pomocą "Wyślij wiadomość". Tylko potrzebuję by komunikat wyświetlał się do momentu aż użytkownik nie wciśnie zatwierdzi OK. (Openwebif ma tylko opcję TAK/NIE). I chciałbym przechwytywać informację że naciśnięto przycisk. Nie wiem czy te wszystkie informację mogę złapać w skrypcie.

Czy wiesz może jak wyświetlić komunikat przez openwebif i złapać akcję użytkownika?

Odnośnik do komentarza
Udostępnij na innych stronach

DZięki za pomoc:) Oto co chcę:

1. Wyświetlać komunikat na ekranie.

2. Wykonywać skrypt periodycznie

3. Rozpoznawać akcję pilotem na komunikat.

4. Rozpoznawać tryb standby

 

Punkty 1 i 4 osiągnę chyba tylko za pomocą pythona. Punkt 2 idealnie można osiągnąć cronem. Chciałem uniknąć pluginu pythonowego działającego w nieskończonej pętli.

Odnośnik do komentarza
Udostępnij na innych stronach

Dziwne. Z przeglądarki komenda

 

http://127.0.0.1/web/message?text=test&type=0

 

wchodzi  i zatwierdzając YES lub NO na ekranie da się sprawdzić co zostało wprowadzone komendą

 

http://127.0.0.1/web/messageanswer?getanswer=now

 

Niestety nie mogę odtworzyć tego w terminalu. Testowane na vusolo2 i esi z takim samym rezultatem:

 

root@vusolo2:/# wget -qO - http://127.0.0.1/web/message?text=test&type=0
root@vusolo2:/# <?xml version="1.0" encoding="UTF-8"?>
<e2simplexmlresult>
        <e2state>False</e2state>
        <e2statetext>Brak wymaganego parametru 'type'</e2statetext>
</e2simplexmlresult>

[1]+  Done                       wget -qO - http://127.0.0.1/web/message?text=test
root@vusolo2:/# telnet 10.1.1.15

Entering character mode
Escape character is '^]'.


esi88 login: root


BusyBox v1.19.3 (2012-01-04 10:10:53 PST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

esi88:~#  wget -qO - http://127.0.0.1/web/message?text=test&type=0
esi88:~# <?xml version="1.0" encoding="UTF-8"?>
<e2simplexmlresult>
        <e2state>False</e2state>
        <e2statetext>Missing mandatory parameter 'type'</e2statetext>
</e2simplexmlresult>

[1]+  Done                       wget -qO - http://127.0.0.1/web/message?text=test
esi88:~#

 

Nie wiem czy on w terminalu nie widzi ampersandu? Zobaczcie co jest po "[1]+ Done". Tak jakby obcinał komendę po 1 parametrze. Gdy zamienię parametry text i type miejscami to za każdym razem mówi że nie ma tego 2 parametru...

 

EDIT:

Już wiem co było. Trzeba uciec ampersand:)

wget -qO - http://127.0.0.1/web/message?text=test\&type=0

 

Panowie chciałem podziękowac za pomoc. Openwebif był prawie wystarczający do napisania pluginu. Musiałem tylko poprawic MessageBox.py żeby domyślnie po braku reakcji użytkownika na wiadomośc nie była odpowiedź pozytywna oraz żeby wcisnięcie dowolnego przycisku nie zatrzymywało licznika timeoutu.

 

 

JEdnak mam dziwny problem z cronem. Mam skrypt uruchamiany co minutę. Jego egzekucja może trwać kilka sekund lub kilkadziesiąt minut. Oczywiście zabezpieczyłem skrypt by nie wykonywał dalszej egzekucji jeśli wykryje w procesach poprzedni proces. Wszystko jest logowane do pliku loga. Gdy skrypt wykonuję ręcznie wszystko działa jak należy w pierwszej minucie widzę że 1 instancja się uruchomiła i wykonuje dalsze akcje w kolejnej minucie 1 instancja wykonuje akcje a 2 instancja po starcie wypisuje że inna działa więc kończy pracę - OK.

 

Jednak gdy zaaplikuję skrypt do crona:

*/1 * * * * /cron.sh

Jest dziwnie. Pierwsza instancja się uruchamia i pracuje przez załóżmy 30 minut. Co minutę powinna próbować uruchamiać się druga instancja i wypisywać komunikat że kończy pracę. Jednak robi to dopiero po dokładnie 10 minutach i wtedy już co minutę działa jak należy.

Czy ktoś się orientuje skąd te rozbieżności?

 

Log:

Fri Oct 30 14:45:01 CET 2015-Start
Fri Oct 30 14:46:03 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:47:03 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:48:04 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:49:04 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:50:04 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:51:05 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:52:05 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:53:06 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:54:06 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:55:01 CET 2015-Proces uruchomiony, wychodzę
Fri Oct 30 14:55:07 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:56:01 CET 2015-Proces uruchomiony, wychodzę
Fri Oct 30 14:56:07 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:57:01 CET 2015-Proces uruchomiony, wychodzę
Fri Oct 30 14:57:08 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:58:01 CET 2015-Proces uruchomiony, wychodzę
Fri Oct 30 14:58:08 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 14:59:01 CET 2015-Proces uruchomiony, wychodzę
Fri Oct 30 14:59:09 CET 2015-Następne sprawdzenie za minutę
Fri Oct 30 15:00:01 CET 2015-Proces uruchomiony, wychodzę

 

scalono Edytuj posty!

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...