Exemple #1
0
    def __init__(self):
        '''
        Start teleinfo device handler
        '''
        XplPlugin.__init__(self, name='teleinfo')
        self._config = Query(self.myxpl, self.log)
        device = self._config.query('teleinfo', 'device')
        interval = self._config.query('teleinfo', 'interval')

        # Init Teleinfo
        teleinfo  = Teleinfo(self.log, self.send_xpl)
        
        # Open Teleinfo modem
        try:
            teleinfo.open(device)
        except TeleinfoException as err:
            self.log.error(err.value)
            print(err.value)
            self.force_leave()
            return
            
        self.add_stop_cb(teleinfo.close)
        # Start reading Teleinfo
        teleinfo_process = threading.Thread(None,
                                   teleinfo.listen,
                                   'teleinfo-listen',
                                   (float(interval),),
                                   {})                                  
        teleinfo_process.start()                              
        self.enable_hbeat()
Exemple #2
0
    def read(self, args = None):
        """ Read electrric meter
        """
            
        tele = Teleinfo(self._log, None)
        try:
            tele.open(args[0])
        except TeleinfoException as err:
            return [err.value]

        data = tele.read()

        try:
            tele.close()
        except TeleinfoException as err:
            return [err.value]

        resp = []
        resp.append("Electric meter data : ")
        for entry in data:
            resp.append("%-10s : %-15s" % (entry["name"], entry["value"]))
        return resp