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:
parent
43657440a3
commit
816f9e6dab
2 changed files with 26 additions and 21 deletions
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
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue