diff --git a/pyhomematic/devicetypes/generic.py b/pyhomematic/devicetypes/generic.py index c3ad663fa..546716e8b 100644 --- a/pyhomematic/devicetypes/generic.py +++ b/pyhomematic/devicetypes/generic.py @@ -323,6 +323,7 @@ def getWriteData(self, name, channel=None): def _getNodeData(self, name, metadata, channel=None): """ Returns a data point from data""" + nodeChannel = None if name in metadata: nodeChannelList = metadata[name] if len(nodeChannelList) > 1: @@ -332,7 +333,7 @@ def _getNodeData(self, name, metadata, channel=None): else: LOG.warning("HMDevice._getNodeData: %s not found in %s, empty nodeChannelList" % (name, metadata)) return None - if nodeChannel in self.CHANNELS: + if nodeChannel is not None and nodeChannel in self.CHANNELS: return self._hmchannels[nodeChannel].getValue(name) LOG.error("HMDevice._getNodeData: %s not found in %s" % (name, metadata)) @@ -346,13 +347,14 @@ def actionNodeData(self, name, data, channel=None): def _setNodeData(self, name, metadata, data, channel=None): """ Returns a data point from data""" + nodeChannel = None if name in metadata: nodeChannelList = metadata[name] if len(nodeChannelList) > 1: nodeChannel = channel if channel is not None else nodeChannelList[0] elif len(nodeChannelList) == 1: nodeChannel = nodeChannelList[0] - if nodeChannel in self.CHANNELS: + if nodeChannel is not None and nodeChannel in self.CHANNELS: return self._hmchannels[nodeChannel].setValue(name, data) LOG.error("HMDevice.setNodeData: %s not found with value %s on %i" %