Hallo Experten,
ich hab mich ein wenig verrannt und komme nicht weiter: Neben Bash, Basic for Android und Arduino habe ich eine weitere Baustelle aufgemacht und scheitere wohl an einer Kleinigkeit in Python.
Ich habe mit aus der IHAD-Anleitung ein Python-Script gezimmert, mit dem ich ein Bild einer Tür-Webcam laden kann... dieses wird auch im Screen dargestellt....
Alles anzeigen
Was mir noch fehlt, dass sich das Bild im 2sec Takt automatisch neu lädt und dann nach 60sec der Screen sich wieder schließt.
Ich habe schon mit einem Timer experimentiert - aber mit diesem Script funktioniert es nicht... irgendetwas kommt dann durcheinander...
Kann mir jemand auf die Sprünge helfen?
Wie baue ich einen Timer ein und wo kann ich den Timer einbauen.....?
Vielen Dank!
Viele Grüße
Tom
ich hab mich ein wenig verrannt und komme nicht weiter: Neben Bash, Basic for Android und Arduino habe ich eine weitere Baustelle aufgemacht und scheitere wohl an einer Kleinigkeit in Python.
Ich habe mit aus der IHAD-Anleitung ein Python-Script gezimmert, mit dem ich ein Bild einer Tür-Webcam laden kann... dieses wird auch im Screen dargestellt....
Python-Quellcode
- # Basis von:
- # Ihad.tv enigma2-plugin tutorial 2010
- # lesson 8
- # by emanuel
- ###########################################################################
- from twisted.web.client import downloadPage
- from Screens.MessageBox import MessageBox
- from Plugins.Plugin import PluginDescriptor
- from Screens.Screen import Screen
- from Components.Label import Label
- from Components.Pixmap import Pixmap
- from Components.AVSwitch import AVSwitch
- from Components.ActionMap import ActionMap
- from enigma import ePicLoad
- ###########################################################################
- class PictureScreen(Screen):
- skin="""
- <screen name="PictureScreen" position="100,70" size="800,600" title="Picture Screen" flags="wfNoBorder" backgroundColor="#002C2C39">
- <widget name="myPic" position="center,center" size="600,400" zPosition="1" alphatest="on" />
- </screen>"""
- def __init__(self, session, picPath = None):
- Screen.__init__(self, session)
- print "[PictureScreen] __init__\n"
- self.picPath = picPath
- self.Scale = AVSwitch().getFramebufferScale()
- self.PicLoad = ePicLoad()
- self["myPic"] = Pixmap()
- self["myActionMap"] = ActionMap(["SetupActions"],
- {
- "ok": self.cancel,
- "cancel": self.cancel
- }, -1)
- self.PicLoad.PictureData.get().append(self.DecodePicture)
- self.onLayoutFinish.append(self.ShowPicture)
- def ShowPicture(self):
- if self.picPath is not None:
- self.PicLoad.setPara([
- self["myPic"].instance.size().width(),
- self["myPic"].instance.size().height(),
- self.Scale[0],
- self.Scale[1],
- 0,
- 1,
- "#002C2C39"])
- self.PicLoad.startDecode(self.picPath)
- def DecodePicture(self, PicInfo = ""):
- if self.picPath is not None:
- ptr = self.PicLoad.getData()
- self["myPic"].instance.setPixmap(ptr)
- def cancel(self):
- print "[PictureScreen] - cancel\n"
- self.close(None)
- ###########################################################################
- class getPicfromUrl(object):
- def __init__(self, session, url=None, path=None):
- self.path = path
- self.session = session
- self.download(url, path)
- def download(self, url, path):
- downloadPage(url, path).addCallback(self.downloadDone).addErrback(self.downloadError)
- def downloadError(self, raw):
- print "[e2Fetcher.fetchPage]: download Error", raw
- self.session.open(MessageBox, text = _("Error downloading: ") + self.path, type = MessageBox.TYPE_ERROR)
- def downloadDone(self,raw):
- print "[e2Fetcher.fetchPage]: download done", raw
- self.session.open(PictureScreen, picPath = self.path)
- ###########################################################################
- def main(session, **kwargs):
- getPicfromUrl(session,"http://webcam.skilifte-kaltenbronn.de/Hang/WEBCAM_Hang.jpg", "/tmp/myPic.tmp")
- ###########################################################################
- def Plugins(**kwargs):
- return PluginDescriptor(
- name="AAA FritzBox Klingel",
- description="AAA FritzBox Klingel",
- where = PluginDescriptor.WHERE_PLUGINMENU,
- icon="fritz.png",
- fnc=main)
Was mir noch fehlt, dass sich das Bild im 2sec Takt automatisch neu lädt und dann nach 60sec der Screen sich wieder schließt.
Ich habe schon mit einem Timer experimentiert - aber mit diesem Script funktioniert es nicht... irgendetwas kommt dann durcheinander...
Kann mir jemand auf die Sprünge helfen?
Wie baue ich einen Timer ein und wo kann ich den Timer einbauen.....?
Vielen Dank!
Viele Grüße
Tom