def receive_message(self): response = gateway_pb2.GadgetsResponse() request = gateway_pb2.GatewayRequest() request.ParseFromString(self.socket.recv(1024)) if self.ON_OFF: if request.request_type == 2: self.message_lamp = request.value response.result = f'messagem atual: {self.message_lamp}' if request.request_type == 0: response.result = f'messagem atual: {self.message_lamp}' if request.request_type == 3: self.ON_OFF = False response.result = f'{self.nome} esta off' if request.request_type == 4: response.result = ' Trocar messagem: Digite msg, Ver messagem: Digite smsg, Desligar: Digite off' response.object_comands[:] = ['msg', 'smsg', 'off'] else: response.result = f'{self.nome} em standby, para ativar digite on' response.object_comands[:] = ['on'] if request.request_type == 3: self.ON_OFF = True response.result = f'{self.nome} Esta: ON' response.name = self.nome response.object_status = self.ON_OFF response.sensor_ident = 0 response.client_ident = request.client_ident self.socket.send(response.SerializeToString())
def send_to_object(self, message, client_ident): server_request = gateway_pb2.GatewayRequest() connection = self.object_dict[f'{message.name}'] server_request.aux = message.aux server_request.request_type = message.request_type server_request.value = message.value server_request.client_ident = client_ident connection.send(server_request.SerializeToString())
def MulticastConnect(self): connection_message = self.multicastsocket.recv(1024) message = gateway_pb2.GatewayRequest() message.ParseFromString(connection_message) self.socket.connect((self.server_ip, self.server_port)) response = gateway_pb2.GadgetsIdent() response.nome = self.nome response.ip = self.server_ip response.port = self.server_port self.socket.send(response.SerializeToString())
def receive_message(self): response = gateway_pb2.GadgetsResponse() request = gateway_pb2.GatewayRequest() request.ParseFromString(self.socket.recv(1024)) if self.IsWorking(): if request.request_type == 2: if request.aux == 'vol': self.volume = request.value response.result = f'VOL: {self.volume}' if request.aux == 'channel': self.channel = request.value response.result = f'channel: {self.channel}' if request.request_type == 0: if request.aux == 'svol': response.result = f'VOL: {self.volume}' if request.aux == 'schannel': response.result = f'channel: {self.channel}' if request.request_type == 3: self.ON_OFF = False response.result = f'{self.nome} esta OFF' if request.request_type == 4: response.result = '\n Mudar Volume: Digite vol \n Mudar canal: digite channel \n Ver volume: digite svol \n Ver Canal: digite schannel \n Desligar: Type off' response.object_comands[:] = [ 'vol', 'channel', 'svol', 'schannel', 'off' ] else: response.result = f'{self.nome} em standby, para usar digite on' response.object_comands[:] = ['on'] if request.request_type == 3: self.ON_OFF = True response.result = f'{self.nome} esta ON' response.name = self.nome response.object_status = self.ON_OFF response.sensor_ident = 0 response.client_ident = request.client_ident self.socket.send(response.SerializeToString())
def receive_message(self): response = gateway_pb2.GadgetsResponse() request = gateway_pb2.GatewayRequest() request.ParseFromString(self.socket.recv(1024)) if self.IsWorking(): if request.request_type == 2: if request.aux == 'temp': self.temperature_set = float(request.value) response.result = f'Setted Temperature: {self.temperature_set}' if request.request_type == 0: if request.aux == 'sstemp': response.result = f'Setted Temperature:{self.temperature_set}' if request.request_type == 1: response.result = f'Room Temperature: {self.temperature_sensor}' if request.request_type == 3: self.ON_OFF = False response.result = f'{self.nome} Esta: OFF' if request.request_type == 4: response.result = '\n Modifique Temperatura: Digite temp \n Modifique Temperatura: Digite sstemp \n Veja Temperatura da sala: Digite sensor \n Desligue o Ar: Digite off' response.object_comands[:] = [ 'temp', 'sstemp', 'sensor', 'off' ] else: response.result = f'{self.nome} em standby, para usar digite on' response.object_comands[:] = ['on'] if request.request_type == 3: self.ON_OFF = True response.result = f'{self.nome} Esta: ON' response.name = self.nome response.object_status = self.ON_OFF response.sensor_ident = 0 response.client_ident = request.client_ident self.socket.send(response.SerializeToString())
def find(self): message = gateway_pb2.GatewayRequest() self.multicastsocket.sendto(message.SerializeToString(), self.cast_address)