diff --git a/pyswap/swap/SwapServer.py b/pyswap/swap/SwapServer.py index 5bfdbfe..9a6516e 100644 --- a/pyswap/swap/SwapServer.py +++ b/pyswap/swap/SwapServer.py @@ -246,15 +246,17 @@ def _checkMote(self, mote): if self._eventHandler.newMoteDetected is not None: self._eventHandler.newMoteDetected(mote) # Notify the event handler about the discovery of new endpoints - for reg in mote.regular_registers: - for endp in reg.parameters: - if self._eventHandler.newEndpointDetected is not None: - self._eventHandler.newEndpointDetected(endp) + if mote.regular_registers is not None: + for reg in mote.regular_registers: + for endp in reg.parameters: + if self._eventHandler.newEndpointDetected is not None: + self._eventHandler.newEndpointDetected(endp) if self._poll_regular_regs: # Query all individual registers owned by this mote - for reg in mote.regular_registers: - reg.sendSwapQuery() + if mote.regular_registers is not None: + for reg in mote.regular_registers: + reg.sendSwapQuery() def _updateMoteAddress(self, oldAddr, newAddr): diff --git a/pyswap/swap/protocol/SwapMote.py b/pyswap/swap/protocol/SwapMote.py index 3993fc3..4687837 100644 --- a/pyswap/swap/protocol/SwapMote.py +++ b/pyswap/swap/protocol/SwapMote.py @@ -350,13 +350,15 @@ def dumps(self, include_units=False): data["name"] = self.definition.product data["address"] = self.address data["txinterval"] = self.txinterval - + regs = [] - try: - for reg in self.regular_registers: - regs.append(reg.dumps(include_units)) - except SwapException: - raise + + if self.regular_registers is not None: + try: + for reg in self.regular_registers: + regs.append(reg.dumps(include_units)) + except SwapException: + raise data["registers"] = regs