All long labels have been removed as the bridge list interface and discovery interface was reworked. Discovery of new lights happens automatically and bridges are refereshed when changes happen.
This commit is contained in:
父節點
43657440a3
當前提交
816f9e6dab
共有 2 個文件被更改,包括 26 次插入 和 21 次删除
19
main.py
19
main.py
|
@ -55,25 +55,25 @@ class Hui(wx.Frame):
|
|||
"""Add bridges to sizer, the entry point of the program
|
||||
"""
|
||||
self.SetTitle('Tinge - All Bridges')
|
||||
one_unreachable: bool = False
|
||||
all_unreachable: bool = True
|
||||
no_bridges: bool = True
|
||||
if self.m_tinge.get_bridges():
|
||||
no_bridges = False
|
||||
for bridge in self.m_tinge.get_bridges():
|
||||
if bridge.is_reachable():
|
||||
bridge.refresh_bridge()
|
||||
all_unreachable = False
|
||||
btn: wx.Button = wx.Button(self.pnl, label=str(bridge))
|
||||
self.sizer.Add(btn, 0, wx.EXPAND)
|
||||
self.Bind(wx.EVT_BUTTON,
|
||||
lambda event, mbridge=bridge: self.goto_bridge(mbridge), btn)
|
||||
else:
|
||||
one_unreachable = True
|
||||
label = "{} {} ({})".format(self.m_unreachable_icon, str(bridge), "unreachable")
|
||||
btn: wx.Button = wx.Button(self.pnl, label=label)
|
||||
self.sizer.Add(btn, 0, wx.EXPAND)
|
||||
|
||||
if one_unreachable or no_bridges:
|
||||
if one_unreachable:
|
||||
warn_label = "{} At least one previously discovered bridge unreachable.".format(self.m_unreachable_icon)
|
||||
warning: wx.StaticText = wx.StaticText(self.pnl, label=warn_label, style=wx.ALIGN_CENTER)
|
||||
self.sizer.Add(warning, 0, wx.EXPAND)
|
||||
label = "Press Hue Bridge button, and then here within 30 seconds to connect"
|
||||
if no_bridges or all_unreachable:
|
||||
label = "Discover bridge"
|
||||
btn: wx.Button = wx.Button(self.pnl, label=label)
|
||||
self.sizer.Add(btn, 0, wx.EXPAND)
|
||||
self.Bind(wx.EVT_BUTTON,
|
||||
|
@ -113,7 +113,8 @@ class Hui(wx.Frame):
|
|||
lambda event, mgroupid=groupid: self.goto_group(mgroupid), group_btn)
|
||||
self.sizer.Add(inner_sizer, 0, wx.EXPAND)
|
||||
if has_unattached:
|
||||
unattached_label: wx.StaticText = wx.StaticText(self.pnl, label=" ⚬ Unattached lights ⚬ ", style=wx.ALIGN_CENTER)
|
||||
unattached_label: wx.StaticText = wx.StaticText(self.pnl, label=" ⚬ Unattached lights ⚬ ",
|
||||
style=wx.ALIGN_CENTER)
|
||||
self.sizer.Add(unattached_label, 0, wx.EXPAND)
|
||||
for light in self.cur_bridge.unattached_lights:
|
||||
inner_sizer = wx.BoxSizer(orient=wx.HORIZONTAL)
|
||||
|
|
|
@ -23,28 +23,32 @@ class HueBridge:
|
|||
self.m_ipaddress: str = ipaddress
|
||||
self.m_username: str = username
|
||||
self.m_is_reachable = is_reachable
|
||||
self.unattached_lights: list[HueLight] = list()
|
||||
if name:
|
||||
self.m_name: str = name
|
||||
else:
|
||||
self.m_name = self.m_ipaddress
|
||||
if is_reachable:
|
||||
self.m_lights: list[HueLight] = self.discover_lights()
|
||||
self.discover_new_lights()
|
||||
self.m_new_lights: list[HueLight] = self.get_new_lights()
|
||||
self.unattached_lights: list[HueLight] = list()
|
||||
self.m_groups: list[HueGroup] = self.discover_groups()
|
||||
for light in self.get_lights():
|
||||
is_in_group: bool = False
|
||||
for group in self.get_groups():
|
||||
if group.is_light_in_group(light.get_id()):
|
||||
is_in_group = True
|
||||
if not is_in_group:
|
||||
self.unattached_lights.append(light)
|
||||
self.refresh_bridge()
|
||||
else:
|
||||
self.m_lights: list[HueLight] = list()
|
||||
self.m_new_lights: list[HueLight] = list()
|
||||
self.m_groups: list[HueGroup] = list()
|
||||
|
||||
def refresh_bridge(self):
|
||||
self.m_lights: list[HueLight] = self.discover_lights()
|
||||
self.discover_new_lights()
|
||||
self.m_new_lights: list[HueLight] = self.get_new_lights()
|
||||
self.m_groups: list[HueGroup] = self.discover_groups()
|
||||
self.unattached_lights: list[HueLight] = list()
|
||||
for light in self.get_lights():
|
||||
is_in_group: bool = False
|
||||
for group in self.get_groups():
|
||||
if group.is_light_in_group(light.get_id()):
|
||||
is_in_group = True
|
||||
if not is_in_group:
|
||||
self.unattached_lights.append(light)
|
||||
|
||||
def __str__(self) -> str:
|
||||
"""The string representation of this bridge
|
||||
|
||||
|
|
載入中…
Add table
Reference in a new issue