uno 4k se reagiert manchmal träge auf die fernbedienung

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • senderlisteffm schrieb:

      Ich habe gelernt, systematisch Fehlerquellen zu suchen
      na aber noch nicht so richtig ;_)
      VTi-Log aktivieren, für diesen Fall reicht Schleife

      wenn diese Verzögerung aufgetreten ist, das log sichern und nachschauen oder hier anhängen und Uhrzeit des Vorfalls dazuschreiben
      darin sollte sicher zu finden sein, was zu diesem Zeitpunkt gerade die Box so beschäftigt hat
      ============================================================================================
    • Erstes Ergebnis nach kurzer Zeit. Wenn die Box mit protokollieren beschäftigt ist, reagiert sie. ;) Auf was sollte man denn schauen? Sie sagt, dass die Taste nach oben gedrückt wurde. Das Ganze auf 1/1000 s genau. Ich habe aber kein Referenz Zeitsignal.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hgdo () aus folgendem Grund: unnötiges Komplettzitat entfernt

    • es macht doch logischerweise erst Sinn, wenn das Problem aufgetreten ist!
      es sei denn, du hast das log auf der HD und dort zB auch Picons - dann wäre die HD jetzt dauerhaft wach und ansonsten muss sie immer erst geweckt werden
      ============================================================================================
    • senderlisteffm schrieb:

      Wenn die Box mit protokollieren beschäftigt ist, reagiert sie
      Das spricht doch exakt für das Problem mit der HDD, während das Log geschrieben wird, geht die Platte nicht schlafen und muss somit nicht für den Zugriff geweckt werden.
      ACHTUNG!!!! Hier folgt eine Signatur:


      Die Benutzung der Suche ist NICHT verboten! D:

      "Hilfe!!!" ist kein sinnvoller Titel für einen neuen Thread, ebensowenig "VU+Zero" oder vergleichbares.

      Keine Hilfe ohne ausgefülltes Profil!
      Kein Netzwerksupport bei manueller IP-Adress-Vergabe :-)
      Kein Support bei portforwardings/ Portfreigaben

      Profil extra angepasst für die arme Emma, die sonst nichts im Leben hat :happy1:
    • Außerdem eine SSD
      ich mag mit Sicherheit nicht Hinweise geben, zu welchen dann die Infos hinterher kommen um sie ad adsurdum zu führen

      leider lässt du keine Infos im Profil erkennen, postest erst gar kein log
      zudem magst du (zumindest grad augenscheinliche) logische Zusammenhänge ignorieren

      da sehe ich von meiner Seite keine weitere Hilfsmöglichkeit, sorry
      ich drück dir aber die Daumen, das du die Ursache finden und beseitigen kannst
      ============================================================================================
    • Hallo!

      Habe das selbe Problem mit meine Uno 4K VTI 14.0.1. Bei mir tritt es nur im EPG auf und in der Kanalliste. Hatte zuerst auch die FB im Verdacht, das Problem habe ich aber auch mit der VU+ Remote am Smartphone, daher kann es vermutlich nur irgendwo in der Soft oder mit Netzwerk zusammenhängen!

      Gruss Markus
    • Das passt zu meinen Erfahrungen mit dem HBBTV Plugin auf meiner uno4kse, die auf openpli läuft, aber auch das vu hbtv plugin unverändert übernimmt. Das Problem ist, dass das Plugin beim Umschalten auf einen Sender mit hbbtv dann nach dem Umschalten die Infos von den Server einsammeln will und dann solange nicht auf die Tasten reagiert.

      Ich habe bei mir das plugin.py com den hbbtv plugin so geändert, dass die Infos von den Servern nur eingesammelt werden, wenn man das hbbtv Plugin aufruft. Dann dauert das Aufrufen etwas länger, aber beim normalen zappen behindert das nicht mehr

      Die Änderungen im plugin.py war eine Zeile rauskommentieren und zwei Zeilen an einer anderen Stelle hinzunehmen

      Quellcode

      1. 252c252
      2. < self._app_info = self.get_autostart_application()
      3. ---
      4. > # self._app_info = self.get_autostart_application()
      5. 269a270,271
      6. > if self._applicationList is None:
      7. > self._app_info = self.get_autostart_application()
    • Ist beim VTI nicht hbbtv immer dabei? Mann müsste es also aktiv deinstallieren, um es nicht zu haben
    • Zumindest wird die Steuerung unter Plugins gelistet.
      hbbtv.py enthält ebenfalls "interessante" Informationen bzgl HbbTV.

      /usr/lib/enigma2/python/Plugins/Extensions/WebkitHbbTV

      Das im folder enthaltene file plugin.py muss angepasst werden.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von emx ()

    • hattest du die plugin.py jetzt geändert mit wie oben beschrieben?

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von anudanan ()

    • Es tritt nicht in Erscheinung, aber wenn die Info über den Sender rein kommt, dass HBBTV angeboten wird, sammelt das plugin die Infos von den Servern ein und das dauert ein wenig. Macht meiner Meinung aber keinen Sinn, dass das schon so früh eingesammelt wird. Es reicht doch, wenn das plugin es einsammelt, wenn es wirklich vom Benutzer aufgerufen wird. Es sammelt das dummerweise auch so ein, dass es solange die Reaktion der Box blockiert,
    • Nein noch nicht, werde es am wochende Testen.

      Habe wie im Post zuvor die letzten beiden Punkte mal auf Nein eingestellt. HbbTV für Streaming und Videotext Pufferung deaktiviert.

      Den ersten Punkt gibt's bei mir gar nicht!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Turbo_4wd ()

    • So wollte das ganze jetzt mal im plugin.py ändern, sehe mich da aber nicht ganz raus welche Zeile wo weg kommt und welche wo dazu kommen soll.

      Das hätte ich getestet "HbbTV für Streaming und Videotext Pufferung deaktiviert." bringt aber keine Veränderung!

      Was mir noch auffiel, Sender die kein HbbTV anbieten verursachen auch diesen lag!
    • Hier die Datei, wie sie bei mir nach der Änderung aussieht


      In Zeile 252. ist der Kommentar # am Anfang neu

      Die Zeilen 270 und 271 sind neu

      Wenn deine Datei genau diese Änderungen nicht hat, kannst du die anhängte plugin.py Datei aus der plugin.zip nehmen

      Am besten sicherst du dir deine vorher.

      Die liegt im Verzeichnis /usr/lib/enigma2/python/Plugins/Extensions/WebkitHbbTV
      Falls du die Änderung selber einbauen willst, nehmen für die Einrückungen in der Zeile 270/271 dann die TAB Taste

      Python-Quellcode

      1. from Plugins.Plugin import PluginDescriptor
      2. from Screens.Screen import Screen
      3. from Screens.InfoBar import InfoBar
      4. from Screens.ChoiceBox import ChoiceBox
      5. from Screens.HelpMenu import HelpableScreen
      6. from Screens.MessageBox import MessageBox
      7. from Screens.VirtualKeyBoard import VirtualKeyBoard
      8. from Components.config import config
      9. from Components.ActionMap import ActionMap
      10. from Components.Language import language
      11. from Components.ServiceEventTracker import ServiceEventTracker
      12. from Components.VolumeControl import VolumeControl
      13. from enigma import eTimer, iServiceInformation, iPlayableService
      14. import os, struct, vbcfg, time
      15. from __init__ import _
      16. from hbbtv import HbbTVWindow
      17. from vbipc import VBController, VBServerThread, VBHandlers
      18. strIsEmpty = lambda x: x is None or len(x) == 0
      19. vbcfg.SOCKETFILE = '/tmp/.browser.support'
      20. vbcfg.CONTROLFILE = '/tmp/.browser.controller'
      21. _OPCODE_LIST = [
      22. 'CONTROL_BACK',
      23. 'CONTROL_FORWARD',
      24. 'CONTROL_STOP',
      25. 'CONTROL_RELOAD',
      26. 'CONTROL_OPENURL',
      27. 'CONTROL_EXIT',
      28. 'CONTROL_TITLE',
      29. 'CONTROL_OK',
      30. 'CONTROL_OUT_OF_MEMORY',
      31. 'CONTROL_INVALIDATE',
      32. 'CONTROL_GET_FBSIZE',
      33. 'CONTROL_GET_VOLUME',
      34. 'CONTROL_SET_VOLUME',
      35. 'CONTROL_VOLUME_UP',
      36. 'CONTROL_VOLUME_DOWN',
      37. 'HBBTV_LOADAIT',
      38. 'HBBTV_OPENURL',
      39. 'YOUTUBETV_OPENURL',
      40. 'BROWSER_OPENURL',
      41. 'BROWSER_MENU_OPEN',
      42. 'BROWSER_MENU_CLOSE',
      43. 'BROWSER_VKB_OPEN',
      44. 'BROWSER_VKB_CLOSE',
      45. 'OOIF_GET_CURRENT_CHANNEL',
      46. 'OOIF_BROADCAST_PLAY',
      47. 'OOIF_BROADCAST_STOP',
      48. 'OOIF_BROADCAST_CHECK',
      49. 'CONTROL_RELOAD_KEYMAP',
      50. 'GET_TIME_OFFSET',
      51. 'OPCODE_END'
      52. ]
      53. class VBHandler(VBHandlers):
      54. def __init__(self, session):
      55. self._session = session
      56. self.current_title = None
      57. self.max_volume = -1
      58. self.soft_volume = -1
      59. self.videobackend_activate = False
      60. self.onSetTitleCB = []
      61. self.onCloseCB = []
      62. VBHandlers.__init__(self, _OPCODE_LIST, '_CB_')
      63. def set_volume(self, volume):
      64. if self.max_volume < 0:
      65. self.max_volume = VolumeControl.instance.volctrl.getVolume()
      66. self.max_volume += volume
      67. if self.max_volume > 100:
      68. self.max_volume = 100
      69. elif self.max_volume < 0:
      70. self.max_volume = 0
      71. if self.soft_volume > 0:
      72. v = int((self.max_volume * self.soft_volume) / 100)
      73. VolumeControl.instance.volctrl.setVolume(v, v)
      74. else:
      75. VolumeControl.instance.volctrl.setVolume(self.max_volume, self.max_volume)
      76. def close_vkb(self, data=""):
      77. vbcfg.osd_lock()
      78. if strIsEmpty(data):
      79. data = ""
      80. VBController.command("BROWSER_VKB_CLOSE", data)
      81. def _CB_CONTROL_EXIT(self, result, packet):
      82. if self.onCloseCB:
      83. for x in self.onCloseCB:
      84. try:
      85. x()
      86. except Exception:
      87. if x in self.onCloseCB:
      88. self.onCloseCB.remove(x)
      89. if self.videobackend_activate is False:
      90. if vbcfg.g_service is not None:
      91. self._session.nav.playService(vbcfg.g_service)
      92. return (True, None)
      93. def _CB_CONTROL_TITLE(self, result, packet):
      94. if packet.startswith('file://') or packet.startswith('http://'):
      95. return (True, None)
      96. for x in self.onSetTitleCB:
      97. try:
      98. x(packet)
      99. self.current_title = packet
      100. except Exception:
      101. if x in self.onSetTitleCB:
      102. self.onSetTitleCB.remove(x)
      103. return (True, None)
      104. def _CB_CONTROL_OK(self, result, packet):
      105. if vbcfg.g_browser and packet.startswith('stop'):
      106. vbcfg.g_browser.keyOK()
      107. return (True, None)
      108. def _CB_CONTROL_OUT_OF_MEMORY(self, result, packet):
      109. vbcfg.need_restart = True;
      110. return (True, None)
      111. def _CB_CONTROL_INVALIDATE(self, result, packet):
      112. # redraw enigma
      113. from enigma import getDesktop
      114. getDesktop(0).paint()
      115. return (True, None)
      116. def _CB_CONTROL_GET_FBSIZE(self, result, packet):
      117. from enigma import getDesktop
      118. desktop_size = getDesktop(0).size()
      119. data = "%dx%d" % (desktop_size.width(), desktop_size.height())
      120. return (True, data)
      121. def _CB_CONTROL_SET_VOLUME(self, result, packet):
      122. if self.max_volume < 0:
      123. self.max_volume = VolumeControl.instance.volctrl.getVolume()
      124. self.soft_volume = int(packet)
      125. v = 0
      126. if self.soft_volume > 0 and self.max_volume > 0:
      127. v = int((self.max_volume * self.soft_volume) / 100)
      128. VolumeControl.instance.volctrl.setVolume(v, v)
      129. return (True, None)
      130. def _CB_CONTROL_VOLUME_UP(self, result, packet):
      131. self.set_volume(5)
      132. return (True, None)
      133. def _CB_CONTROL_VOLUME_DOWN(self, result, packet):
      134. self.set_volume(-5)
      135. return (True, None)
      136. def _CB_BROWSER_VKB_OPEN(self, result, packet):
      137. if vbcfg.g_browser and vbcfg.g_browser.is_browser_opened:
      138. vbcfg.setPosition(vbcfg.g_position)
      139. vbcfg.osd_unlock()
      140. if strIsEmpty(packet):
      141. packet = ""
      142. self._session.openWithCallback(self.close_vkb, VirtualKeyBoard, title=("Please enter URL here"), text=str(packet))
      143. return (True, None)
      144. def _CB_OOIF_GET_CURRENT_CHANNEL(self, result, packet):
      145. appinfo = vbcfg.g_main.get_autostart_application()
      146. orgid = appinfo and appinfo["orgid"]
      147. if (vbcfg.g_channel_info):
      148. try:
      149. data = struct.pack('iiiii', int(orgid), vbcfg.g_channel_info[0], vbcfg.g_channel_info[1], vbcfg.g_channel_info[2], len(vbcfg.g_channel_info[3])) + vbcfg.g_channel_info[3]
      150. except Exception, err:
      151. vbcfg.ERR(err)
      152. return (False, None)
      153. else:
      154. return (False, None)
      155. return (True, data)
      156. def _CB_OOIF_BROADCAST_PLAY(self, result, packet):
      157. if vbcfg.g_service is not None:
      158. self._session.nav.playService(vbcfg.g_service)
      159. self.videobackend_activate = False
      160. return (True, None)
      161. def _CB_OOIF_BROADCAST_STOP(self, result, packet):
      162. vbcfg.g_service = self._session.nav.getCurrentlyPlayingServiceReference()
      163. self._session.nav.stopService()
      164. self.videobackend_activate = True
      165. return (True, None)
      166. def _CB_OOIF_BROADCAST_CHECK(self, result, packet):
      167. if self._session.nav.getCurrentService() is None:
      168. return (False, None)
      169. return (True, None)
      170. def _CB_GET_TIME_OFFSET(self, result, packet):
      171. time_struct = time.localtime()
      172. offset = (time_struct.tm_hour * 3600) + (time_struct.tm_min * 60) + time_struct.tm_sec
      173. try:
      174. data = struct.pack('i', int(offset))
      175. except Exception, err:
      176. vbcfg.ERR(err)
      177. return (False, None)
      178. return (True, data)
      179. class VBMain(Screen):
      180. skin = """<screen name="VBMAIN" position="0,0" size="0,0" backgroundColor="transparent" flags="wfNoBorder" title=" "></screen>"""
      181. def __init__(self, session):
      182. Screen.__init__(self, session)
      183. self.vbcallback = None
      184. self.vbhandler = VBHandler(session)
      185. self.vbserver = VBServerThread()
      186. self.vbserver.open(1)
      187. self.vbserver.start()
      188. self._timer_infobar = eTimer()
      189. self._timer_infobar.callback.append(self._cb_register_infobar)
      190. self._timer_infobar.start(1000)
      191. self._event = ServiceEventTracker(screen=self, eventmap={
      192. iPlayableService.evHBBTVInfo: self._cb_ait_detected,
      193. iPlayableService.evUpdatedInfo: self._cb_info_updated
      194. })
      195. self._applicationList = None
      196. self._app_info = None
      197. try:
      198. from Screens.InfoBarGenerics import gHbbtvApplication
      199. self.m_vuplus = gHbbtvApplication.getUseAit()
      200. except:
      201. self.m_vuplus = False
      202. def _cb_register_infobar(self):
      203. if InfoBar.instance:
      204. self._timer_infobar.stop()
      205. if self._cb_hbbtv_activated not in InfoBar.instance.onHBBTVActivation:
      206. InfoBar.instance.onHBBTVActivation.append(self._cb_hbbtv_activated)
      207. vbcfg.DEBUG("registred HbbTV in InfoBar")
      208. def _cb_hbbtv_activated(self, url=None, app_info=None):
      209. self.start_hbbtv_application(url, app_info)
      210. def _cb_ait_detected(self):
      211. vbcfg.g_channel_info = None
      212. self._applicationList = None
      213. # self._app_info = self.get_autostart_application()
      214. vbcfg.DEBUG("detected AIT")
      215. def _cb_info_updated(self):
      216. vbcfg.g_service = self.session.nav.getCurrentlyPlayingServiceReference()
      217. vbcfg.DEBUG("updated channel info")
      218. def start_hbbtv_application(self, url, app_info):
      219. if vbcfg.need_restart:
      220. vbcfg.need_restart = False
      221. if not app_info:
      222. app_info = self._app_info
      223. InfoBar.instance.hide()
      224. self.session.open(HbbTVWindow, url, app_info)
      225. def menu_hbbtv_applications(self):
      226. if self._applicationList is None:
      227. self._app_info = self.get_autostart_application()
      228. applications = []
      229. if self._applicationList is not None:
      230. for x in self._applicationList:
      231. applications.append((x["name"], x))
      232. else:
      233. applications.append((_("No detected HbbTV applications."), None))
      234. self.session.openWithCallback(self.start_application_selected, ChoiceBox, title=_("Please choose an HbbTV application."), list=applications)
      235. def start_application_selected(self, selected):
      236. vbcfg.DEBUG(selected)
      237. try:
      238. if selected[1] is not None:
      239. self._cb_hbbtv_activated(selected[1]["url"], selected[1])
      240. except Exception, ErrMsg:
      241. vbcfg.ERR(ErrMsg)
      242. def get_autostart_application(self):
      243. if self._applicationList is None:
      244. service = self.session.nav.getCurrentService()
      245. info = service and service.info()
      246. if info is not None:
      247. sid = info.getInfo(iServiceInformation.sSID)
      248. onid = info.getInfo(iServiceInformation.sONID)
      249. tsid = info.getInfo(iServiceInformation.sTSID)
      250. name = info.getName()
      251. vbcfg.g_channel_info = (sid, onid, tsid, name)
      252. pmtid = info.getInfo(iServiceInformation.sPMTPID)
      253. demux = info.getInfoString(iServiceInformation.sLiveStreamDemuxId)
      254. # avoid demux is 0xFF
      255. demux = demux if demux > '/' else '0'
      256. vbcfg.DEBUG("demux = %s, pmtid = 0x%x, sid = 0x%x" % (demux, pmtid, sid))
      257. from aitreader import eAITSectionReader
      258. reader = eAITSectionReader(demux, pmtid, sid)
      259. if reader.doOpen(info, self.m_vuplus):
      260. reader.doParseApplications()
      261. reader.doDump()
      262. else:
      263. vbcfg.ERR("no AIT")
      264. try:
      265. self._applicationList = reader.getApplicationList()
      266. except:
      267. pass
      268. if self._applicationList is not None:
      269. for app in self._applicationList:
      270. if app["control"] in (1, -1):
      271. return app
      272. return None
      273. def HelpableScreen__init__(self):
      274. if isinstance(self, HelpableScreen):
      275. HelpableScreen.showManual = showManual
      276. self["helpActions"] = ActionMap(["HelpbuttonActions"], {
      277. "help_b" : self.showHelp,
      278. "help_l" : self.showManual,
      279. }, -2)
      280. def showManual(self):
      281. if not os.path.exists(vbcfg.MANUALROOT):
      282. return
      283. url = 'file://' + vbcfg.MANUALROOT + '/main.html'
      284. lang = language.getLanguage()
      285. if os.path.exists(vbcfg.MANUALROOT + '/' + lang):
      286. url = 'file://' + vbcfg.MANUALROOT + '/' + lang + '/main.html'
      287. vbcfg.set_bgcolor("ffffffff")
      288. vbcfg.g_browser = self.session.open(HbbTVWindow, url, None)
      289. def auto_start_main(reason, **kwargs):
      290. if reason:
      291. try:
      292. if vbcfg.g_main.vbserver is not None:
      293. vbcfg.g_main.vbserver.kill()
      294. except: pass
      295. def session_start_main(session, reason, **kwargs):
      296. vbcfg.g_main = session.open(VBMain)
      297. HelpableScreen.__init__ = HelpableScreen__init__
      298. HelpableScreen.session = session
      299. def extension_start_application(session, **kwargs):
      300. if vbcfg.g_main is not None:
      301. vbcfg.g_main.menu_hbbtv_applications()
      302. def Plugins(**kwargs):
      303. l = []
      304. l.append(PluginDescriptor(where=PluginDescriptor.WHERE_AUTOSTART, fnc=auto_start_main))
      305. l.append(PluginDescriptor(where=PluginDescriptor.WHERE_SESSIONSTART, needsRestart=True, fnc=session_start_main, weight=-10))
      306. l.append(PluginDescriptor(name=_("HbbTV Applications"), where=PluginDescriptor.WHERE_EXTENSIONSMENU, needsRestart=True, fnc=extension_start_application))
      307. return l
      Alles anzeigen
      Dateien
      • plugin.zip

        (3,34 kB, 4 mal heruntergeladen, zuletzt: )
    • Hallo!

      Habe das ganze mal getestet, zappen ist fast lag frei wobei beim Red Button die box abschmiert und nur mit reboot wieder alles normal läuft.

      Hab's ein paar mal getestet. Werde das Plug-in mal gegen die Sicherung ersetzen und testen was passiert!