Skip to content

Commit

Permalink
Update plugin.py
Browse files Browse the repository at this point in the history
osd angepasst, nun auch die farbe im tv sichtbar
  • Loading branch information
HDMU committed Jul 30, 2014
1 parent 03468c0 commit c68494a
Showing 1 changed file with 112 additions and 40 deletions.
152 changes: 112 additions & 40 deletions usr/lib/enigma2/python/Plugins/Extensions/MiLightControl/plugin.py
Expand Up @@ -10,6 +10,9 @@
from Components.ActionMap import ActionMap
from Tools.Directories import fileExists
from os import system, remove
from Components.Sources.CanvasSource import CanvasSource
def RGB(r,g,b):
return (r<<16)|(g<<8)|b
config.plugins.milight = ConfigSubsection()
config.plugins.milight.boblight = ConfigYesNo(default=False)
config.plugins.milight.select = ConfigSelection(default = "ip", choices = [("ip", _("IP&other config")),("allzones", _("All zones")),("zone1", _("Zone 1")),("zone2", _("Zone 2")),("zone3", _("Zone 3")),("zone4", _("Zone 4"))])
Expand Down Expand Up @@ -38,23 +41,59 @@
class HDMU_MilightControl(Screen, ConfigListScreen):
def __init__(self, session):
Screen.__init__(self, session)
skin = """<screen name="HDMU_MilightControl" position="280,75" size="720,605" title="Milight Control" flags="wfNoBorder" backgroundColor="#ff000000">
skin = """<screen name="HDMU_MilightControl" position="center,center" size="720,605" title="Milight Control" flags="wfNoBorder" backgroundColor="#000">
<eLabel position="0,0" zPosition="-3" size="720,605" backgroundColor="black" />
<widget name="config" zPosition="2" position="253,215" size="400,300" scrollbarMode="showOnDemand" foregroundColor="white" backgroundColor="black" transparent="1"/>
<eLabel position="50,50" zPosition="-1" size="620,505" backgroundColor="black" />
<widget name="config" zPosition="2" position="center,center" size="400,300" scrollbarMode="showOnDemand" foregroundColor="white" backgroundColor="black" transparent="1"/>
<ePixmap position="250,530" zPosition="2" size="35,25" pixmap="skin_default/buttons/key_red.png" alphatest="blend"/>
<ePixmap position="250,560" zPosition="2" size="35,25" pixmap="skin_default/buttons/key_green.png" alphatest="blend"/>
<ePixmap position="250,571" zPosition="2" size="35,25" pixmap="skin_default/buttons/key_green.png" alphatest="blend"/>
<ePixmap position="450,530" zPosition="2" size="35,25" pixmap="skin_default/buttons/key_yellow.png" alphatest="blend"/>
<ePixmap position="450,560" zPosition="2" size="35,25" pixmap="skin_default/buttons/key_blue.png" alphatest="blend"/>
<ePixmap position="450,571" zPosition="2" size="35,25" pixmap="skin_default/buttons/key_blue.png" alphatest="blend"/>
<widget name="red" zPosition="2" halign="left" position="300,530" size="150,25" foregroundColor="white" backgroundColor="black" transparent="1" font="Regular;20"/>
<widget name="green" zPosition="2" halign="left" position="300,560" size="150,25" foregroundColor="white" backgroundColor="black" transparent="1" font="Regular;20"/>
<widget name="green" zPosition="2" halign="left" position="300,571" size="150,25" foregroundColor="white" backgroundColor="black" transparent="1" font="Regular;20"/>
<widget name="yellow" zPosition="2" halign="left" position="500,530" size="150,25" foregroundColor="white" backgroundColor="black" transparent="1" font="Regular;20"/>
<widget name="blue" zPosition="2" halign="left" position="500,560" size="150,25" foregroundColor="white" backgroundColor="black" transparent="1" font="Regular;20"/>
<widget name="blue" zPosition="2" halign="left" position="500,571" size="150,25" foregroundColor="white" backgroundColor="black" transparent="1" font="Regular;20"/>
<widget name="r" zPosition="2" halign="right" position="460,182" size="150,80" foregroundColor="white" backgroundColor="black" transparent="1" font="Regular;21"/>
<widget name="rstat" zPosition="2" halign="right" position="505,182" size="150,80" foregroundColor="white" backgroundColor="black" transparent="1" font="Regular;21"/>
<widget source="Canvas" render="Canvas" position="25,25" zPosition="-2" size="670,550" transparent="1"/>
</screen>"""
self.skin = skin
self["green"] = Label(_("All zones on"))
self["red"] = Label(_("All zones off"))
self["yellow"] = Label(_("All zones min brightness"))
self["blue"] = Label(_("All zones max brightness"))
self["Canvas"] = CanvasSource()
if config.plugins.milight.select.value == "allzones":
r = config.plugins.milight.zoneall_color_r.value
g = config.plugins.milight.zoneall_color_g.value
b = config.plugins.milight.zoneall_color_b.value
elif config.plugins.milight.select.value == "zone1":
r = config.plugins.milight.zone1_color_r.value
g = config.plugins.milight.zone1_color_g.value
b = config.plugins.milight.zone1_color_b.value
elif config.plugins.milight.select.value == "zone2":
r = config.plugins.milight.zone2_color_r.value
g = config.plugins.milight.zone2_color_g.value
b = config.plugins.milight.zone2_color_b.value
elif config.plugins.milight.select.value == "zone3":
r = config.plugins.milight.zone3_color_r.value
g = config.plugins.milight.zone3_color_g.value
b = config.plugins.milight.zone3_color_b.value
elif config.plugins.milight.select.value == "zone4":
r = config.plugins.milight.zone4_color_r.value
g = config.plugins.milight.zone4_color_g.value
b = config.plugins.milight.zone4_color_b.value
else:
r = 0
g = 0
b = 0
self["r"] = Label(str(r) +"\n"+ str(g) +"\n"+ str(b))
self["rstat"] = Label("/255\n/255\n/255")
if config.plugins.milight.select.value == "ip":
self["r"].hide()
self["rstat"].hide()
self["Canvas"].fill(0, 0, 720, 605, RGB(r,g,b))
self["Canvas"].flush()
self.ip = '%d.%d.%d.%d' % tuple(config.plugins.milight.ip.value)
self.led_connection = wifileds.limitlessled.connect(self.ip, int(config.plugins.milight.port.value))
self.list = [ ]
Expand Down Expand Up @@ -87,6 +126,8 @@ def createsetup(self):
getConfigListEntry(_('Port:'), config.plugins.milight.port),
getConfigListEntry(_('Enable Boblight:'), config.plugins.milight.boblight),
]
self["r"].hide()
self["rstat"].hide()
elif config.plugins.milight.select.value == "allzones":
list = [
getConfigListEntry(_('Select config:'), config.plugins.milight.select),
Expand Down Expand Up @@ -129,21 +170,13 @@ def createsetup(self):
]
self["config"].list = list
self["config"].setList(list)
self.ip = '%d.%d.%d.%d' % tuple(config.plugins.milight.ip.value)
self.led_connection = wifileds.limitlessled.connect(self.ip, int(config.plugins.milight.port.value))
def keyLeft(self):
self["config"].handleKey(KEY_LEFT)
if self["config"].getCurrent()[1] == config.plugins.milight.select:
self.up()
self.createsetup()
elif self["config"].getCurrent()[1] == config.plugins.milight.boblight:
if config.plugins.milight.boblight.value is True:
if fileExists("/etc/.milight.lock"):
return
else:
system("touch /etc/.milight.lock")
else:
if fileExists("/etc/.milight.lock"):
remove("/etc/.milight.lock")
self.boblight()
elif self["config"].getCurrent()[1] in (config.plugins.milight.ip, config.plugins.milight.port):
self.ip = '%d.%d.%d.%d' % tuple(config.plugins.milight.ip.value)
self.led_connection = wifileds.limitlessled.connect(self.ip, int(config.plugins.milight.port.value))
Expand All @@ -152,21 +185,57 @@ def keyLeft(self):
def keyRight(self):
self["config"].handleKey(KEY_RIGHT)
if self["config"].getCurrent()[1] == config.plugins.milight.select:
self.up()
self.createsetup()
elif self["config"].getCurrent()[1] == config.plugins.milight.boblight:
if config.plugins.milight.boblight.value is True:
if fileExists("/etc/.milight.lock"):
return
else:
system("touch /etc/.milight.lock")
else:
if fileExists("/etc/.milight.lock"):
remove("/etc/.milight.lock")
self.boblight()
elif self["config"].getCurrent()[1] in (config.plugins.milight.ip, config.plugins.milight.port):
self.ip = '%d.%d.%d.%d' % tuple(config.plugins.milight.ip.value)
self.led_connection = wifileds.limitlessled.connect(self.ip, int(config.plugins.milight.port.value))
else:
self.update()
def boblight(self):
if config.plugins.milight.boblight.value is True:
if fileExists("/etc/.milight.lock"):
return
else:
system("touch /etc/.milight.lock")
else:
if fileExists("/etc/.milight.lock"):
remove("/etc/.milight.lock")
def up(self):
self["r"].show()
self["rstat"].show()
r = [ ]
g = [ ]
b = [ ]
if config.plugins.milight.select.value == "allzones":
r = config.plugins.milight.zoneall_color_r.value
g = config.plugins.milight.zoneall_color_g.value
b = config.plugins.milight.zoneall_color_b.value
elif config.plugins.milight.select.value == "zone1":
r = config.plugins.milight.zone1_color_r.value
g = config.plugins.milight.zone1_color_g.value
b = config.plugins.milight.zone1_color_b.value
elif config.plugins.milight.select.value == "zone2":
r = config.plugins.milight.zone2_color_r.value
g = config.plugins.milight.zone2_color_g.value
b = config.plugins.milight.zone2_color_b.value
elif config.plugins.milight.select.value == "zone3":
r = config.plugins.milight.zone3_color_r.value
g = config.plugins.milight.zone3_color_g.value
b = config.plugins.milight.zone3_color_b.value
elif config.plugins.milight.select.value == "zone4":
r = config.plugins.milight.zone4_color_r.value
g = config.plugins.milight.zone4_color_g.value
b = config.plugins.milight.zone4_color_b.value
else:
r = 0
g = 0
b = 0
self["r"].setText(str(r) +"\n"+ str(g) +"\n"+ str(b))
self["Canvas"].fill(0, 0, 720, 605, RGB(r,g,b))
self["Canvas"].flush()
def update(self):
if self["config"].getCurrent()[1] == config.plugins.milight.zoneallbrightness:
self.led_connection.rgbw.set_brightness(config.plugins.milight.zoneallbrightness.value)
Expand All @@ -180,31 +249,34 @@ def update(self):
self.led_connection.rgbw.set_brightness(config.plugins.milight.zone4brightness.value, 4)
else:
if self["config"].getCurrent()[1] in (config.plugins.milight.zoneall_color_r, config.plugins.milight.zoneall_color_g, config.plugins.milight.zoneall_color_b):
r = float(config.plugins.milight.zoneall_color_r.value)
g = float(config.plugins.milight.zoneall_color_g.value)
b = float(config.plugins.milight.zoneall_color_b.value)
r = config.plugins.milight.zoneall_color_r.value
g = config.plugins.milight.zoneall_color_g.value
b = config.plugins.milight.zoneall_color_b.value
elif self["config"].getCurrent()[1] in (config.plugins.milight.zone1_color_r, config.plugins.milight.zone1_color_g, config.plugins.milight.zone1_color_b):
r = float(config.plugins.milight.zone1_color_r.value)
g = float(config.plugins.milight.zone1_color_g.value)
b = float(config.plugins.milight.zone1_color_b.value)
r = config.plugins.milight.zone1_color_r.value
g = config.plugins.milight.zone1_color_g.value
b = config.plugins.milight.zone1_color_b.value
elif self["config"].getCurrent()[1] in (config.plugins.milight.zone2_color_r, config.plugins.milight.zone2_color_g, config.plugins.milight.zone2_color_b):
r = float(config.plugins.milight.zone2_color_r.value)
g = float(config.plugins.milight.zone2_color_g.value)
b = float(config.plugins.milight.zone2_color_b.value)
r = config.plugins.milight.zone2_color_r.value
g = config.plugins.milight.zone2_color_g.value
b = config.plugins.milight.zone2_color_b.value
elif self["config"].getCurrent()[1] in (config.plugins.milight.zone3_color_r, config.plugins.milight.zone3_color_g, config.plugins.milight.zone3_color_b):
r = float(config.plugins.milight.zone3_color_r.value)
g = float(config.plugins.milight.zone3_color_g.value)
b = float(config.plugins.milight.zone3_color_b.value)
r = config.plugins.milight.zone3_color_r.value
g = config.plugins.milight.zone3_color_g.value
b = config.plugins.milight.zone3_color_b.value
elif self["config"].getCurrent()[1] in (config.plugins.milight.zone4_color_r, config.plugins.milight.zone4_color_g, config.plugins.milight.zone4_color_b):
r = float(config.plugins.milight.zone4_color_r.value)
g = float(config.plugins.milight.zone4_color_g.value)
b = float(config.plugins.milight.zone4_color_b.value)
h, l, s = colorsys.rgb_to_hls(r/255.0,g/255.0,b/255.0)
r = config.plugins.milight.zone4_color_r.value
g = config.plugins.milight.zone4_color_g.value
b = config.plugins.milight.zone4_color_b.value
h, l, s = colorsys.rgb_to_hls(float(r)/255.0,float(g)/255.0,float(b)/255.0)
h=int(int(h * 360) + 120)
if h>=360:
h = h - 360
h=abs(h-360)
h = int((h / 360.0) * 255.0)
self["r"].setText(str(r) +"\n"+ str(g) +"\n"+ str(b))
self["Canvas"].fill(0, 0, 720, 605, RGB(r,g,b))
self["Canvas"].flush()
if self["config"].getCurrent()[1] in (config.plugins.milight.zoneall_color_r, config.plugins.milight.zoneall_color_g, config.plugins.milight.zoneall_color_b):
if r == 255 and g == 255 and b == 255:
self.led_connection.rgbw.white()
Expand Down

0 comments on commit c68494a

Please sign in to comment.