Jump to content

OpenWebif


matzg

Recommended Posts

Instalacja.

Najlepiej usunąć TC starszą wersję i podmienić na nową zgodnie ze strukturą katalogów.

Można też pod konsolą...:

 

rm -rf /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif

tar -xvf OpenWebif0.2.3.tar.gz -C /

 

Changelog

## Version 0.2.3
**FEATURES**

* add API to use STB as WOL "client" to send MagicPackets
* add API for WOLSetup plugin

## Version 0.2.2
**FEATURES**

* add API for transcoding plugin


## Version 0.2.1
**FEATURES**

* add bouqueteditior plugin api support
* add full interface option for mobile devices
* add radio bouquet on mobile interface
* add parental control for zap and stream in channel list


## Version 0.2.0
**FEATURES**

* add preparations bouqueteditior plugin api support
* add autotimer plugin api support
* add epgrefresh plugin api support
* add preparations for IPV6 support (Needs IPv6 in Python and probably newer Twisted)


## Version 0.1.8

**FEATURES**

* add alternative channels to epgnownext

**FIXES**

* Fix channel list in "Add Timer" not filling - Refs #73
* Fix all known problems with Alternatives (Issue #18 and more)

## Version 0.1.7

**FEATURES**

* add movie rename
* add movie move

**FIXES**

* playable services


## Version 0.1.6

**CHANGES**

* some images to lower size

## Version 0.1.5

**FIXES**

* parental control
* playlist remove non existing file

## Version 0.1.4

**FEATURES**

* Support more box types
* message answer
* limit file access
* update SSL support

**FIXES**

* stream sub service
* ET4000 remote

## Version 0.1.3

**FEATURES**

* Stream Port Settings
* IPKG Interface
* german "umlaute" in epgsearch

**FIXES**

* stream sub service


## Version 0.1.2


**FEATURES**

* ... TODO ...

**FIXES**

* ... TODO ...

OpenWebif0.2.3.tar.gz

Link to comment
Share on other sites

  • Replies 146
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Moja modyfikacja... Jakoś tak wyszło, że modyfikowałem źródła a dopiero później wszedłem na forum. Uwzględniłem poprawki Nimlotha a dodatkowo zrobiłem osobne obrazki dla 2850 i 2849 oraz dopisałem fragment dotyczący wyświetlania informacji o odbiorniku. Podmieniłem też fragment dotyczący wyboru pilota, tak że jest używany jeden i ten sam dla "wszystkich" modeli używających pilota N. Kod obsługi pilota wyciągnięty z Gratelii 1.

 

Załączam 2 pliki: plug_openwebif_023.tar.gz - kompletny plugin z GitHuba z dodanym kodem do obsługi nboksa, tylko źródła; plug_openwebif_small_g1.tar.gz - skompilowany plugin na Pythonie 2.6, czyli pod Gratelię 1.x.x - tylko pliki skompilowane, wycięte obrazki i kody obsługi pilotów innych niż domyślne i nbox. Jeżeli nie wyciąłem czegoś za dużo, to ta druga wersja jest idealna dla użytkowników Gratelii 1.x.x mających system w NAND/NOR.

 

Mam jeszcze pytanie dotyczące "wszystkich" modeli. Co jest zawarte w /proc/stb/info/model we wszystkich modelach obsługiwanych przez Gratelię??

  • esi88 - w SagemComie ESI-88 (sprawdziłem u siebie)
  • nbox - wydaje mi się, że to było w moim ADB 5800SX
  • adb2849/adb2850 - odpowiednio dla ITI-2849ST i ITI-2850ST, bazując na poprawkach nadesłanych przez Nimlotha

Czy to powyżej się zgadza? Jaka jest wartość tej zmiennej dla UHD i DSI?

 

PS. Z tego co wyczytałem, to poprzednie wersje OpenWebif miały problemy ze strumieniowaniem. Tutaj przetestowałem na szybko i SD działa. HD ... na tym komputerze, którego obecnie używam nie pójdzie, więc nie testowałem.

 

PPS. Do kompletu informacji o tunerze przydałoby się jeszcze następujące informacje, na przykładzie ESI-88:

# cat /proc/cpuinfo
machine         : STx7105 Mboard
processor       : 0
cpu family      : sh4
cpu type        : STx7105
cut             : 4.x
cpu flags       : fpu icbi synco fpchg
cache type      : split (harvard)
icache size     : 32KiB (2-way)
dcache size     : 32KiB (2-way)
address sizes   : 32 bits physical
bogomips        : 448.51

plug_openwebif_023.tar.gz

plug_openwebif_small_g1.tar.gz

Link to comment
Share on other sites

PPS. Do kompletu informacji o tunerze przydałoby się jeszcze następujące informacje, na przykładzie ESI-88:

 

Mówisz i masz, z 5800 BSLA

# cat /proc/cpuinfo
machine         : STb7100 Reference board
processor       : 0
cpu family      : sh4
cpu variant     : sh4-202
cpu type        : STx7100
cut             : 3.x
cpu flags       : fpu
cache type      : split (harvard)
icache size     : 16KiB (2-way)
dcache size     : 32KiB (2-way)
address sizes   : 29 bits physical
bogomips        : 264.19

# cat /proc/stb/info/model
nbox

Link to comment
Share on other sites

Drobne poprawki: Pilot nbox dla wszystkich (jakie udało mi się zidentyfikować) sprzętów obsługiwanych przez oprogramowanie Gratelia/Freebox. Dodano informacje o używanym procesorze, czy też chipsecie i obrazek z DSI-87. Dzięki wszystkim za podesłanie zawartości "plików" z katalogu /proc.

 

PS. Moim zdaniem strumieniowanie w wersji 0.2.3 nie tylko działa, ale do tego działa lepiej niż bywało wcześniej.

plug_openwebif.tar.gz

plug_openwebif_small_g1.tar.gz

Link to comment
Share on other sites

PS. Moim zdaniem strumieniowanie w wersji 0.2.3 nie tylko działa, ale do tego działa lepiej niż bywało wcześniej.

 

Nie wiem jak działa strumieniowanie, bo z niego nie korzystam, natomiast mam silne wrażenie, że sam interfejs webif pracuje wyraźnie stabilniej. Mniej więcej porównywalnie w każdej przeglądarce, gdy wcześniejsza wersja chodziła "tak sobie" pod IE oraz poprawnie pod chrome oraz firefox.

Link to comment
Share on other sites

  • 2 weeks later...

Konfiguracja jak zwykle w /etc/enigma2/settings. Odpowiednie wpisy są następujące (fragment plugina), czyli w pliku konfiguracyjnym po nazwie zmiennej ma być jej wartość (zobaczysz w innych opcjach):

config.OpenWebif.enabled = ConfigYesNo(default=True)
config.OpenWebif.port = ConfigInteger(default = 80, limits=(1, 65535) )
config.OpenWebif.streamport = ConfigInteger(default = 8001, limits=(1, 65535) )
config.OpenWebif.auth = ConfigYesNo(default=False)
config.OpenWebif.xbmcservices = ConfigYesNo(default=False)
config.OpenWebif.webcache = ConfigSubsection()
config.OpenWebif.webcache.collapsedmenus = ConfigText(default = "remote", fixed_size = False)
config.OpenWebif.webcache.remotegrabscreenshot = ConfigYesNo(default = True)
config.OpenWebif.webcache.zapstream = ConfigYesNo(default = False)
config.OpenWebif.https_enabled = ConfigYesNo(default=True)
config.OpenWebif.https_port = ConfigInteger(default = 443, limits=(1, 65535) )
config.OpenWebif.parentalenabled = ConfigYesNo(default=False)
config.OpenWebif.service_name_for_stream = ConfigYesNo(default=False)

Po zmianach reboot albo nawet reboot -f, bo jeżeli zrobisz restart ładnie przez enigmę, czyli np. używając system.sh, to Ci nadpisze aktualne ustawienia.

Link to comment
Share on other sites

A pomyśleć chwilę to nie łaska? Zajrzałeś w ogóle /etc/enigma2/settings? Widziałeś jak wyglądają wpisy tam?

 

Niech będzie, że odpowiem. Powinno to wyglądać tak:

config.OpenWebif.enabled=True
config.OpenWebif.port=888

a właściwie powinno wystarczyć:

config.OpenWebif.port=888

bo filozofia jest taka, że jeżeli coś jest domyślne, to zwykle nie ma tego w pliku konfiguracyjnym.

 

Link to comment
Share on other sites

Oczywiście, że zajrzałem i stąd wynikło pytanie bo tu to właśnie wyglądało zupełnie inaczej i nie rozumiałem z tego nic ConfigYesNo nawiasy... a wg. mnie właśnie powinno tam zostać tego troszku mniej...

 

 

W każdym razie dziękuje za odpowiedź - już sobie poradziłem.

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

Version 0.2.6

 

FEATURES

  • add localising support

 

FIXES

  • improve current info while movie playing

 


 

Jest to niby wersja 0.2.6 ale projekt sobie żyje i poprawki są na bieżąco. Więc faktycznie jest to 0.2.6 + poprawki do południa dnia 05.12.2013 ;)

 

Tłumaczenie PL zrobił jakiś mickey, więc jest jakie jest...

 

@pppp: Jako, że jesteś głównym tłumaczem systemu, to może zerknij do pliki OpenWebif.po i ewentualnie popraw. Poza poprawną polszczyzną trzeba jeszcze uważać miejscami na dostępne miejsce w interfejsie webowym :(

 


 

PS. Jak ktoś ma jeszcze jakąkolwiek wersję starszą to proszę, żeby sprawdził, czy przy dodawaniu/edycji timera da się wybrać kanał...

plug_openwebif_26.tar.gz

Link to comment
Share on other sites

W wersji 2.6 niestety nie da się dodać w zadaniach planowych żadnej pozycji (edytować też nie) w miejscu wyboru kanału jest napis "nic"  wersji  0.2.5 z poprzedniego postu nie było tego problemu :( testowałem.

 

----------------------------------------

poprawka w  wersji 2.5 można dodawać timery z epg, ale edycja pola kanał zarówno przy już istniejącym zaplanowanym nagrywaniu jak i próbie dodania nowego przez Timerlist nie ma mozliwości edycji pola kanał.

 

 

------------------------------------------------------------

Ps. Mam pytanie do kolegi @mickey czy mogę liczyć na poprawkę do wersji 0.2.6 przetłumaczonej przez kolegę?

Link to comment
Share on other sites

  • 1 month later...

Postaram się wytłumaczyć wchodzę w zakładkę EPG z programem w postaci kolumn jeśli kliknę na dowolną pozycje na liście otwiera się małe okienko z opisem audycji po kliknięciu na "add timer" otwiera się okno ze szczegółami i kiedy klikam zapisz otrzymuje wyżej wymieniony komunikat. Właśnie sprawdziłem i w wersji 0.2.5 ten problem u mnie też występuje. Podobny komunikat przy próbie edycji zaplanowanego zadania. Czy może ktoś potwierdzić wyżej wymieniony problem?

Link to comment
Share on other sites

@myszka20: Potwierdzam problem ... i niewiele na to poradzę. Trzeba by sprawdzić, czy wersja oryginalna jest ok - do pobrania stąd: .

 

W załączniku wersja aktualna na dziś:

 

Version 0.2.6

 

FEATURES

  • add translation support
  • display standby / recording state in header

 

FIXES

  • improve current info while movie playing
  • fix standby state info
  • fix currently playing info at header

 

Wersja pełna działa. Wersji slim nie testowałem. Powinno być oki: wycięte są tylko obrazki tunerów i piloty inne niż domyślny oraz nboksowy. Wersja slim działa - od pełnej różni się tylko tym, że nie ma obrazków ani pilotów innych niż te obsługiwane przez G2. Dodałem też wersję slim_mega - to to samo co slim, tylko w wersji skompilowanej i z usuniętymi źródłami.

plug_openwebif_026.tar.gz

plug_openwebif_026_slim.tar.gz

plug_openwebif_026_slim_mega.tar.gz

Link to comment
Share on other sites

Na oryginalnym OpenWebif to samo, wykonałem dziś jeszcze kilka testów różnych wersji nawet 0.2.0 i dalej to samo. Wynika z tego, że to u mnie jest coś pokopane. Zastanawia mnie tylko czy w miejscu "kanał" kiedy jest ta ostatnia plansza ze szczegółami też macie napis "nic" po rozwinięciu listy kanałów pusto tylko napis ten napis. Podobnie jeśli próbuje edytować zaplanowane zadanie lista kanałów pusta. Tuner to BLSA z OpenPLI 8.3.0 2013-05-23 z dograną poprawką na TVN. Ma ktoś jakieś pomysły?

Link to comment
Share on other sites

Jak coś się sypie, to się patrzy do loga ... w końcu sobie o tym przypomniałem. I co mamy w logu:

 

[OpenWebif] page '/ajax/multiepg2' ok (cheetah template)
[OpenWebif] page '/ajax/edittimer' ok (cheetah template)
[eDVBLocalTimerHandler] no transponder tuned... or no TDT/TOT avail .. try to use RTC :)
[eDVBLocalTimerHandler]    getRTC returned time=0. RTC problem?
[OpenWebif] page '/ajax/event?idev=34084&sref=1%3A0%3A1%3A3ABD%3A514%3A13E%3A820000%3A0%3A0%3A0%3A&_=1389782395987' ok (cheetah template)
main thread is non-idle! display spinner!
[OpenWebif] page '/api/getallservices?_=1389782407280' ok (json)
Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/twisted/protocols/basic.py", line 564, in dataReceived

  File "/usr/lib/python2.7/site-packages/twisted/web/http.py", line 1551, in lineReceived

  File "/usr/lib/python2.7/site-packages/twisted/web/http.py", line 1618, in allContentReceived

  File "/usr/lib/python2.7/site-packages/twisted/web/http.py", line 773, in requestReceived

--- <exception caught here> ---
  File "/usr/lib/python2.7/site-packages/twisted/web/server.py", line 156, in process

  File "/usr/lib/python2.7/site-packages/twisted/web/server.py", line 191, in render

  File "/usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/base.py", line 94, in render
    request.write(json.dumps(data))
  File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
    return _iterencode(o, 0)
exceptions.UnicodeDecodeError: 'utf8' codec can't decode byte 0x8c in position 230: invalid start byte
[OpenWebif] page '/api/getlocations?_=1389782411512' ok (json)
[OpenWebif] page '/api/gettags?_=1389782411709' ok (json)
mao1 None
mao2 None
find old format eServiceReference string
[TIMER] record time changed, start prepare is now: Wed Jan 15 13:44:40 2014
timer conflict detected!
[RecordTimerEntry(name=Jaka to melodia, begin=Wed Jan 15 13:45:00 2014, serviceref=-1:35900192:20F94A0:2A34EF98:20F9320:0:0:0:0:0:, justplay=False)]
[OpenWebif] page '/api/timeradd?&sRef=0&begin=1389789900&end=1389792900&name=Jaka+to+melodia&description=%5BGame-Show%5D++(Ep.2786)+(2013)&disabled=0&justplay=0&afterevent=3&dirname=None&tags=&repeated=0&_=1389782424520' ok (json)

 

I jaki stąd wniosek? Pojęcia zielonego nie mam ;)

 

U siebie podmieniałem jsona ... ale przywróciłem oryginalnego i b.z. Twisted nie ruszałem.

 

Dalsze przemyślenia: Funkcja /api/getallservices generuje listę kanałów do listboksa (tak się nazywa ten obiekt w html?) dla wszystkich bukietów. Ale tak sobie pomyślałem, że u mnie ta lista trochę długa jest. Mam richter 2x1 + LastScanned powstałą po skanowaniu nieba. Wyciąłem prawie do zera - czyli zostawiłem tylko listy własne i wszystko zaczęło działać normalnie. Zostało ustalić, czy błąd jest skutkiem błędu na listach kanałów, czy też zbyt dużej liczby kanałów.

 

Główny problem to "Nic" (Nothing) na liście kanałów przy edycji zadania planowego (timera). Komunikat o którym pisał myszka20 to skutek tego. Brzmi dziwnie, a wynika z tego, że nie ma numeru referencyjnego serwisu.

Link to comment
Share on other sites

Skąd kolega ma tego loga (gdzie się zapisuje)?

 

Główny problem to "Nic" (Nothing) na liście kanałów przy edycji zadania planowego (timera). Komunikat o którym pisał myszka20 to skutek tego. Brzmi dziwnie, a wynika z tego, że nie ma numeru referencyjnego serwisu

 

Usunąłem prawie wszystkie listy kanałów i dalej to samo. Jak kolega sprawdził gdzie brakuje numeru referencyjnego dla kanału?

A może jednak ta podmiana:

U siebie podmieniałem jsona ... ale przywróciłem oryginalnego i b.z. Twisted nie ruszałem.
Link to comment
Share on other sites

Jak kolega sprawdził gdzie brakuje numeru referencyjnego dla kanału?

 

Ostatnia linia z logu, który zamieściłem.

 

Na 99.99% problem ma związek z listą kanałów. Tylko nie do końca wiem o co chodzi. Raz mi z konkretnym zestawem list działa a za chwilę już nie ... tyle, że nie ma też błędu w logach.

 

Aaaa... Jeszcze było pytanie skąd wziąć loga. Metoda 1: kabelek do złącza debug i jakiś terminal na porcie szeregowym w kompie. Metoda 2: http://forum.xunil.pl/index.php?topic=768.msg10231#msg10231.

Link to comment
Share on other sites

Właśnie u mnie po dodadaniu listy Cyfrowego Polsatu się wysypuje, jednak usunąłem 90 ostatnich obcojęzycznych pozycji na liście i jest ok. Oznaczałoby, że któryś z serwisów nie otrzymuje kodu referencyjnego? Listę podejrzałem Notepadem i nic dziwnego na niej nie było.

Link to comment
Share on other sites

Przetestowałem slima i dodałem mega slima ... więcej wyżej :)

 

Hmmm... Po przemyśleniach wyszło mi, że wycięcie obrazków tunerów nie spowoduje żadnych problemów. Nie ma to będzie "unknown.jpg" i tyle. Z pilotami już tak lekko nie jest i jak nie ma kodu innych pilotów, to rozpoznawanie trzeba by wyciąć z plików pythona. Tak też zrobiłem i w związku z tym załączam nowe wersje slim. Testowane na ESI na G2.

 

PS. Mega slim jest większy ale już nie urośnie. Slim przy restarcie enigmy się skompiluje i spuchnie o pliki pyo.

plug_openwebif_026_slim.tar.gz

plug_openwebif_026_slim_mega.tar.gz

Link to comment
Share on other sites

  • 1 month later...

Oficjalny log zmian zawiera:

 

Version 0.2.7

 

FEATURES

  •     update transcoding API to latest transcoding features

 

A bardziej istotne praktycznie są zmiany w kodzie grab.py, które kompletnie rezygnują z używanie os.system (nie wiem jak będzie teraz, ale to powodowało, że z czasem webif przestawał generować zrzuty ekranu) oraz możliwość włączenia uwierzytelniania przy strumieniowaniu (jeszcze nie testowałem). Ponadto przerobiłem plik pilota ... u mnie działa, ale jakby co to piszcie, poprawię albo przywrócę stary. I poprawiłem _init_.py zgodnie ze wskazówkami @matzg, bo bez tego na GOS 2.1.0 może nie działać tłumaczenie.

 

Wersja pełna przetestowana [przynajmniej webifa mogę testować ;)] - kompiluje się, działa u mnie na RC jest PL. Strumieniowanie też działa. Wersja slim ... wyciąłem jak zwykle, ale nie sprawdziłem czy działa. Test wskazany.

plug_openwebif_027.tar.gz

plug_openwebif_027_slim.tar.gz

Link to comment
Share on other sites

Próbowałem z restartem...

tuxish-Box:~# free

            total      used      free    shared    buffers    cached

Mem:        98156      84512      13644          0      2024      25048

-/+ buffers/cache:      57440      40716

Dla testu zainstalowałem wcześniejszą wersje 0.2.3 (taka miałem pod ręką) i zrzut zadziałał... a na tej nie chce.

OS świeżutki dopiero co aktualizowany.

 

Wrzuciłem grab.py (...controllers/models/grab.py) z wersji 0.2.6 i jest OK

Widzę że poprawki były również w tym pliku w wersji 0.2.7

 		self.filepath = "/tmp/screenshot." + self.fileformat

		graboptions.append(self.filepath)

-		grabcommand = " ".join(graboptions)

-		self.container.execute(grabcommand)

+		self.container.execute(GRAB_PATH, *graboptions)

		return server.NOT_DONE_YET



	def grabData(self, data):

 

Link to comment
Share on other sites

  • 2 months later...

Version 0.2.9

 

FEATURES

  • add gzip high speed epg requests

FIXES

  • fix settings
  • show full recording description

 

Version 0.2.8

 

FEATURES

  • add gzip high speed opkg list command

FIXES

  • fix bouqueteditior backup/restore

 

Z mojej strony poprawki do pilota - powinien działać już dokładnie tak jak rzeczywisty. Jeżeli jeszcze któryś klawisz zachowuje się inaczej, to proszę o info.

 

Wersje slim i mega slim ... powinny się pojawić w repzytoriach GOS jak paczki ze źródłami oraz skompilowane. Jak ktoś chce, to może ściągnać stąd: https://github.com/mickeyreg/e2openplugin-OpenWebif/tree/graterlia. Oficjalna wersja pełna tutaj: https://github.com/E2OpenPlugins/e2openplugin-OpenWebif - zawiera już większość poprawek dla naszych odbiorników. Nie zaakceptowali jedynie poprawki związanej z inicjalizacją tłumaczenia...

plug_openwebif_029.tar.gz

Link to comment
Share on other sites

  • 3 months later...

Kilka drobnych zmian od czasu 0.2.9:

 

Version 0.4.1

 

FEATURES

  •     show lastseen postion for recordings
  •     autotimer settings editor
  •     epgrefresh webif

 

FIXES

 

  •     autotimer editor
  •     delete timer

Version 0.4.0

 

FEATURES

 

  •     bouqueteditor webif
  •     autotimer webif
  •     new recording list design
  •     new timer list design
  •     several css and html performance optimizations
  •     extend movietags api
  •     use gzip encoding for large lists

 

FIXES

 

  •     edit timer

 

Version 0.3.0

 

FEATURES

 

  •     mobile interface timer add/delete
  •     spanish translation
  •     prepare autotimer API
  •     prepare bouqueteditor API

FIXES

 

  •     vps plugin API
  •     epgrefresh API
  •     mobile interface zap channel

plug_openwebif_041.tar.gz

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...