def exec_data(data_ev): if ('Name' in data_ev) and ('Value' in data_ev): name = data_ev.get('Name') value = data_ev.get('Value') #print name, value szns = inputs(name,value) for szene in szns: if szene <> None: scenes.threadExecute(szene, check_bedingung=False, wert = value) # elif data_ev.get('Command')=='Update': # aes.new_event(description="System update", prio=0) # cmd_internal.git_update() elif ('Szene' in data_ev): name = data_ev.get('Szene') if name in mdb_read_table_column(constants.sql_tables.szenen.name, 'Name'): scenes.threadExecute(name) elif ('GCM-Client' in data_ev): aes.new_event('GCM Client: ' + data_ev.get('GCM-Client'))
def on_receive(data): if not constants.run: sys.exit("Error message") global heartbeat global last_data global ldt if False: ldt.cancel() ldt = Timer(1, last_data_reset) ldt.start() if last_data == data: return count = int(setting_r("NumRestart")) if count > 0: setting_s("NumRestart", str(0)) if count > 1: aes.new_event(description="XS1 wieder erreichbar", prio=3) setting_s("XS1_off", "inactive") #Zerlegung des Empfangs value = float(data.split(" ")[-1]) name = str(data.split(" ")[-3]) #now = datetime.datetime.now().strftime("%H:%M:%S.%f") #aes.new_event(description="Empfangen: " + name + " " + str(now), prio=0) ##################### #Heartbeat & Server Steuerung ##################### if (("heartbeat" == name) and (value == 0)): heartbeat.cancel() heartbeat = Timer(constants.heartbt, heartbeat_sup) heartbeat.start() ezcontrol.SetSwitchFunction("heartbeat", "1") szns = inputs(name,value) for szene in szns: if szene <> None: scenes.threadExecute(szene, check_bedingung=False, wert = value) last_data = data