runtime/ServicePublisher.py
changeset 2477 4866c01e7428
parent 2320 dd959601e67a
child 2492 7dd551ac2fa0
equal deleted inserted replaced
2476:1881d0ff5ae2 2477:4866c01e7428
    26 from __future__ import print_function
    26 from __future__ import print_function
    27 import socket
    27 import socket
    28 import threading
    28 import threading
    29 import zeroconf
    29 import zeroconf
    30 
    30 
    31 service_type = '_PYRO._tcp.local.'
       
    32 
    31 
       
    32 service_type = '_Beremiz._tcp.local.'
    33 
    33 
    34 class ServicePublisher(object):
    34 class ServicePublisher(object):
    35     def __init__(self):
    35     def __init__(self, protocol):
    36         # type: fully qualified service type name
    36         # type: fully qualified service type name
    37         self.serviceproperties = {'description': 'Beremiz remote PLC'}
    37         self.serviceproperties = {
       
    38             'description': 'Beremiz remote PLC',
       
    39             'protocol': protocol
       
    40         }
    38 
    41 
    39         self.name = None
    42         self.name = None
    40         self.ip_32b = None
    43         self.ip_32b = None
    41         self.port = None
    44         self.port = None
    42         self.server = None
    45         self.server = None
    50             self.retrytimer = threading.Timer(2, self.RegisterService, [name, ip, port])
    53             self.retrytimer = threading.Timer(2, self.RegisterService, [name, ip, port])
    51             self.retrytimer.start()
    54             self.retrytimer.start()
    52 
    55 
    53     def _RegisterService(self, name, ip, port):
    56     def _RegisterService(self, name, ip, port):
    54         # name: fully qualified service name
    57         # name: fully qualified service name
    55         self.service_name = 'Beremiz_%s.%s' % (name, service_type)
    58         self.service_name = '%s.%s' % (name, service_type)
    56         self.name = name
    59         self.name = name
    57         self.port = port
    60         self.port = port
    58 
    61 
    59         if ip == "0.0.0.0":
    62         if ip == "0.0.0.0":
    60             print("MDNS brodcasted on all interfaces")
    63             print("MDNS brodcasted on all interfaces")