diff --git a/doc/picontrolserver.html b/doc/picontrolserver.html index 12ed28a..f00c03f 100644 --- a/doc/picontrolserver.html +++ b/doc/picontrolserver.html @@ -37,7 +37,7 @@ Functions RevPi PLC-Server.

Diese Klasste stellt den RevPi PLC-Server zur verfuegung und akzeptiert - neue Verbindungen. Dieser werden dann als RevPiSlaveDev abgebildet. + neue Verbindungen. Diese werden dann als RevPiSlaveDev abgebildet.

Ueber die angegebenen ACLs koennen Zugriffsbeschraenkungen vergeben werden.

@@ -84,7 +84,7 @@ Static Methods

RevPiSlave (Constructor)

-RevPiSlave(ipacl, port=55234) +RevPiSlave(ipacl, port=55234, bindip="")

Instantiiert RevPiSlave-Klasse.

@@ -94,6 +94,9 @@ AclManager
port
Listen Port fuer plc Slaveserver +
bindip
+
+IP-Adresse an die der Dienst gebunden wird (leer=alle)

diff --git a/doc/revpipyload.html b/doc/revpipyload.html index 7f120ae..625fb74 100644 --- a/doc/revpipyload.html +++ b/doc/revpipyload.html @@ -34,7 +34,7 @@ begrenzt werden!

Global Attributes

- +
__author__
__copyright__
__license__
__version__
__author__
__copyright__
__license__
__version__
min_revpimodio

Classes

diff --git a/eric-revpipyload.api b/eric-revpipyload.api index a4952f1..a661233 100644 --- a/eric-revpipyload.api +++ b/eric-revpipyload.api @@ -36,7 +36,7 @@ picontrolserver.RevPiSlave.check_connectedacl?4() picontrolserver.RevPiSlave.newlogfile?4() picontrolserver.RevPiSlave.run?4() picontrolserver.RevPiSlave.stop?4() -picontrolserver.RevPiSlave?1(ipacl, port=55234) +picontrolserver.RevPiSlave?1(ipacl, port=55234, bindip="") picontrolserver.RevPiSlaveDev.run?4() picontrolserver.RevPiSlaveDev.stop?4() picontrolserver.RevPiSlaveDev?1(devcon, acl) @@ -126,6 +126,7 @@ revpipyload.__author__?9 revpipyload.__copyright__?9 revpipyload.__license__?9 revpipyload.__version__?9 +revpipyload.min_revpimodio?7 revpipyload.shared.__author__?9 revpipyload.shared.__copyright__?9 revpipyload.shared.__license__?9 diff --git a/revpipyload.e4p b/revpipyload.e4p index 6e0ee46..a099a48 100644 --- a/revpipyload.e4p +++ b/revpipyload.e4p @@ -1,7 +1,7 @@ - + en_US @@ -9,7 +9,7 @@ Python3 Console Dieser Loader wird über das Init-System geladen und führt das angegebene Pythonprogramm aus. Es ist für den RevolutionPi gedacht um automatisch das SPS-Programm zu starten. - 0.7.3 + 0.7.5 Sven Sager akira@narux.de diff --git a/revpipyload/mqttserver.py b/revpipyload/mqttserver.py index a2d4e96..e95d047 100644 --- a/revpipyload/mqttserver.py +++ b/revpipyload/mqttserver.py @@ -84,6 +84,7 @@ class MqttServer(Thread): self._mqtt_io = join(basetopic, "io/{0}") self._mqtt_ioget = join(basetopic, "get/#") self._mqtt_ioset = join(basetopic, "set/#") + self._mqtt_ioreset = join(basetopic, "reset/#") self._mqtt_pictory = join(basetopic, "pictory") self._mqtt_senddata = join(basetopic, "get") self._mqtt_sendpictory = join(basetopic, "needpictory") @@ -206,6 +207,7 @@ class MqttServer(Thread): client.subscribe(self._mqtt_sendpictory) if self._write_outputs: client.subscribe(self._mqtt_ioset) + client.subscribe(self._mqtt_ioreset) proginit.logger.debug("leave MqttServer._on_connect()") @@ -242,6 +244,7 @@ class MqttServer(Thread): # Aktion und IO auswerten ioget = lst_topic[-2].lower() == "get" ioset = lst_topic[-2].lower() == "set" + ioreset = lst_topic[-2].lower() == "reset" ioname = lst_topic[-1] coreio = ioname.find(".") != -1 @@ -282,8 +285,8 @@ class MqttServer(Thread): proginit.logger.error( "can not write to inputs with MQTT" ) - elif ioset: + elif ioset: # Convert MQTT Payload to valid Output-Value value = msg.payload.decode("utf8") @@ -324,6 +327,13 @@ class MqttServer(Thread): else: io._parentdevice.writeprocimg() + elif ioreset: + # Counter zurücksetzen + if not isinstance(io, revpimodio2.io.IntIOCounter): + proginit.logger.warning("this io has no counter") + else: + io.reset() + else: # Aktion nicht erkennbar proginit.logger.warning( diff --git a/revpipyload/revpipyload.py b/revpipyload/revpipyload.py index 22a6bde..d35438f 100755 --- a/revpipyload/revpipyload.py +++ b/revpipyload/revpipyload.py @@ -28,7 +28,7 @@ begrenzt werden! __author__ = "Sven Sager" __copyright__ = "Copyright (C) 2018 Sven Sager" __license__ = "GPLv3" -__version__ = "0.7.3" +__version__ = "0.7.5" import gzip import logsystem import picontrolserver @@ -49,6 +49,8 @@ from time import asctime from xmlrpc.client import Binary from xrpcserver import SaveXMLRPCServer +min_revpimodio = "2.5.0" + class RevPiPyLoad(): @@ -395,9 +397,10 @@ class RevPiPyLoad(): self.xml_ps = None proginit.logger.warning( "can not load revpimodio2 module. maybe its not installed " - "or an old version (required at least 2.2.5). if you " - "like to use the process monitor feature, update/install " + "or an old version (required at least {0}). if you " + "like to use revpinetio network feature, update/install " "revpimodio2: 'apt-get install python3-revpimodio2'" + "".format(min_revpimodio) ) # XML Modus 2 Einstellungen lesen und Programm herunterladen @@ -461,9 +464,10 @@ class RevPiPyLoad(): except Exception: proginit.logger.warning( "can not load revpimodio2 module. maybe its not installed " - "or an old version (required at least 2.2.5). if you " + "or an old version (required at least {0}). if you " "like to use the mqtt feature, update/install " "revpimodio2: 'apt-get install python3-revpimodio2'" + "".format(min_revpimodio) ) else: try: diff --git a/setup.py b/setup.py index 80bb502..f9566b7 100644 --- a/setup.py +++ b/setup.py @@ -27,11 +27,11 @@ setup( license="LGPLv3", name="revpipyload", - version="0.7.3", + version="0.7.5", scripts=["data/revpipyload"], - install_requires=["revpimodio2 >= 2.2.5"], + install_requires=["revpimodio2 >= 2.3.1"], python_requires=">=3.2", data_files=[