add option to disable analog event publishing
This commit is contained in:
parent
fc78dc7f4d
commit
78f001fd70
@ -9,3 +9,4 @@ digitalInputTopicPrefix = dt1/di
|
||||
analogInputEventTopicPrefix = dt1/ai/event
|
||||
analogInputPeriodicTopicPrefix = dt1/ai/periodic
|
||||
analogInputPublishPeriod = 10.0
|
||||
disableAnalogInputEventPublishing = true
|
@ -30,12 +30,14 @@ Configuration is done using a configuration file
|
||||
analogInputEventTopicPrefix = dt1/ai/event
|
||||
analogInputPeriodicTopicPrefix = dt1/ai/periodic
|
||||
analogInputPublishPeriod = 10.0
|
||||
|
||||
disableAnalogInputEventPublishing = true
|
||||
|
||||
### Operation details
|
||||
|
||||
While the input and discrete input registers are scanned with the configured scanrate, an action on a coil according to a received message is issued immediately. At the same time the all input registers are scanned.
|
||||
|
||||
Using a configuration option it is possible to disable the publishing of analog change event - if only periodic information (like for a thermometer or so) is required.
|
||||
|
||||
The MQTT messages related to change events of input or discrete input registers are marked as //retained//.
|
||||
|
||||
|
||||
|
@ -12,6 +12,7 @@ def mqttEventPublisherStart(config, processImage):
|
||||
class MqttEventPublisher(AbstractMqttPublisher):
|
||||
def __init__(self, config, processImage):
|
||||
super().__init__(config, processImage)
|
||||
self.disableAnalogInputEventPublishing = self.config["disableAnalogInputEventPublishing"].lower() in [ "true", "on" ]
|
||||
|
||||
def localLoop(self):
|
||||
while True:
|
||||
@ -19,6 +20,7 @@ class MqttEventPublisher(AbstractMqttPublisher):
|
||||
self.processImage.wait()
|
||||
|
||||
discreteInputChangeset = self.processImage.getChangedDiscreteInputs()
|
||||
if not self.disableAnalogInputEventPublishing:
|
||||
analogInputChangeset = self.processImage.getChangedAnalogsInputs()
|
||||
|
||||
for discreteInputChangeItem in discreteInputChangeset:
|
||||
@ -30,6 +32,7 @@ class MqttEventPublisher(AbstractMqttPublisher):
|
||||
str(discreteInputChangeItem[1][0]),
|
||||
retain=True)
|
||||
|
||||
if not self.disableAnalogInputEventPublishing:
|
||||
for analogInputChangeItem in analogInputChangeset:
|
||||
logger.debug("Analog input {} changed from {} to {}"
|
||||
.format(analogInputChangeItem[0],
|
||||
|
Loading…
x
Reference in New Issue
Block a user