Blagovest Petrov
10 months ago
commit
f4da646a07
1 changed files with 46 additions and 0 deletions
@ -0,0 +1,46 @@ |
|||
import appuifw, e32 |
|||
import urllib |
|||
|
|||
class LampController: |
|||
def __init__(self): |
|||
self.script_lock = e32.Ao_lock() |
|||
self.main_menu_items = [u"Living Room", u"Exit"] |
|||
self.main_menu = appuifw.Listbox(self.main_menu_items, self.handle_main_selection) |
|||
self.sub_menu_items = [u"Lunichki on/off", u"Back"] |
|||
self.sub_menu = appuifw.Listbox(self.sub_menu_items, self.handle_sub_selection) |
|||
|
|||
def run(self): |
|||
appuifw.app.title = u"Lamp Control" |
|||
appuifw.app.body = self.main_menu |
|||
appuifw.app.exit_key_handler = self.exit_application |
|||
self.script_lock.wait() |
|||
|
|||
def handle_main_selection(self): |
|||
index = self.main_menu.current() |
|||
if index == len(self.main_menu_items) - 1: # Exit option |
|||
self.exit_application() |
|||
else: |
|||
appuifw.app.body = self.sub_menu |
|||
|
|||
def handle_sub_selection(self): |
|||
index = self.sub_menu.current() |
|||
if index == len(self.sub_menu_items) - 1: # Back option |
|||
appuifw.app.body = self.main_menu |
|||
elif index == 0: |
|||
self.lampa_hol() |
|||
|
|||
def lampa_hol(self): |
|||
data = '{"id":1, "method":"Switch.Set", "params":{"id":2, "on":false}}' |
|||
url = "http://relay1.home.blago.cloud/rpc" |
|||
try: |
|||
response = urllib.urlopen(url, data) |
|||
result = response.read() |
|||
appuifw.note(u"Lamp on/off triggered", "info") |
|||
except Exception, e: |
|||
appuifw.note(u"Error: " + str(e), "error") |
|||
|
|||
def exit_application(self): |
|||
self.script_lock.signal() |
|||
|
|||
if __name__ == '__main__': |
|||
LampController().run() |
Loading…
Reference in new issue