def __init__(self, aid: AID, substation: str, IEDs: List[IED], debug=False): super().__init__(aid, substation, debug) # Instance IEDs self.IEDs = {} for ied in IEDs: self.IEDs[ied.id] = ied ied.callback = self.receive_ied_event # Adiciona behaviours self.behaviours_enviodedados = \ FipaSubscribeProtocol(self, is_initiator=False) # Permite enviar dados ao ADC self.behaviours_recebercomando = \ FipaRequestProtocol(self, is_initiator=False) # Permite receber comandos do ADC self.behaviours_enviodedados.set_subscribe_handler( self.handle_subscribe) self.behaviours_recebercomando.set_request_handler(self.handle_request) self.deadtime = 1.5 # Tempo em segundos do deadtime # Mantém o ACom à escuta durante um certo tempo de deadtime antes de notificar eventos self.in_hold = False # Armazena temporariamente o documento enquanto ele está sendo construído self.document_to_send = None
def __init__(self, aid): super().__init__(aid=aid, debug=False) self.subscribe = FipaSubscribeProtocol(self, is_initiator=False) self.subscribe.set_subscribe_handler(self.on_subscribe) # informer def informer(): inform = ACLMessage() inform.set_content(str(randint(0, 1000))) self.subscribe.send_inform(inform) self.call_later(5.0, informer) informer()
def __init__(self, aid, publisher_aid): super().__init__(aid=aid, debug=False) self.subscribe = FipaSubscribeProtocol(self, is_initiator=True) self.call_later(5.0, lambda: self.call_subscribe(publisher_aid))