Commit Graph
100 Commits
Author SHA1 Message Date
akira 3fe69b54cc Parameter for shutdown timeout in seconds for plc program (default is and was 5 seconds) 2021-02-27 15:05:09 +01:00
akira e4ced5539e New release 2021-01-31 19:32:05 +01:00
akira f2984ce2b4 Prepare for new shared_procimg behavior 2021-01-31 12:55:46 +01:00
akira 97884d1b75 Merge remote-tracking branch 'origin/master' 2021-01-14 19:17:28 +01:00
akira 86d6f294a5 New release 2021-01-14 19:17:02 +01:00
akira a6d794c78e Bugfix - Do not remove empty plcworkdir on xml_plcdelete_file function 2020-12-28 23:11:38 +01:00
akira acd61bc2df Bugfix in upload function 2020-12-28 21:55:13 +01:00
akira a07fa2e333 Set configured owner of files and directories after plc program upload
If 'plcworkdir_set_uid' is set to 1, all uploaded files and new created
directories in plc work dir will set to configured owner and group.
2020-11-27 09:33:15 +01:00
akira 1b7c4cddc4 Fix closing connected RevPiSlaveDev on program exit.
RevPiSlaveDev are daemon threads and we have to .join() after calling .stop()
to let the thread finish its work of disconnect and write default values to
process image.
2020-11-21 10:51:32 +01:00
akira c393b9fb05 Fix problem with extended unix user groups
PLC program got only uid and gid, but not the other group ids of user.
Set gid to work directory, too.
Set uid and gid to uploaded files.
2020-11-04 23:18:52 +01:00
akira 7b242865e4 XML-RPC performance, RevPi Flat soft watchdog bit
XML-RPC handle multiple request in main loop
XML-RPC log system send max 1M of data
XML-RPC set handler timeout to 2 seconds
Add support for RevPi Flat last bit of RevPiLED word for soft watchdog
2020-10-11 11:35:35 +02:00
akira b24ea9fcb3 New XML functions for RevPiCommander 2020-09-24 18:32:41 +02:00
akira 735786144e XML-RPC is managed by main thread 2020-07-25 17:03:12 +02:00
akira 8f0249673a Call functions with watchdogs.py.
Call psstop after "reset driver"
2020-07-25 13:26:33 +02:00
akira 7f00725036 Set always localhost to ACL with revpipyload_secure_installation 2020-06-27 12:56:57 +02:00
akira 0162692e51 New release 2020-06-24 21:05:53 +02:00
akira 22ac2c96de New default values for revpipyload.conf
Process image will set to ZERO on error in your control program,
user pi and your control program can write to work directory /var/lib/revpipyload,
XML-RPC server for RevPiPyControl is bind to localhost.
Use revpipyload_secure_installation to quick setup the access via RevPiPyControl from local network
Max logfile size is 1M before rotate
2020-06-24 17:13:51 +02:00
akira 6aa6985567 Added assistant program revpipyload_secure_installation to setup access via RevPiPyControl
This program will activate/deactivate XML-RPC,
bind it to localhost or your network adapter,
install ACL lists, which you can modify via RevPiPyControl
2020-06-24 17:08:16 +02:00
akira 3943552382 New release 2020-06-23 13:16:13 +02:00
akira 6c32e81b9f Bug fix to reload created piCtory configuration, while daemon is running 2020-06-23 12:04:59 +02:00
akira e7c6899101 Bugfix on missing piCtory config, cleanup 2020-05-16 11:55:14 +02:00
akira 724d785a12 Return PLC program exitcode on crash, Watchdog in MQTT for all Cores, no debug-message on internal revpimodio 2020-05-03 13:39:16 +02:00
akira a40b39eb22 Bugfix on watchdogs.py, remove type hints because of wheezy and jessie
SoftwareWatchdog did not restart after daemon reload and switching from 0 to >=1 value
ResetDriver trigger will not always return True if not_implemented is True
2020-05-02 19:45:05 +02:00
akira beb073893b Bugfix RtLevel, software watchdog for PLC Program
RtLevel was not set on restart plc program after crash
Software watchdog will restart plc program, if it does not toggle core.wd
in the configured time. It is the same bit and function as on connect
device to trigger hardware watchdog (bit 7 in RevPiLED).
2020-05-01 22:59:10 +02:00
akira d77fea0b48 "Reset Driver" of piCtory can now restart your plc program
You can set reset_driver_action in revpipyload.conf to 0, 1, 2
0=do nothing
1=Restart PLC program only if piCtory config was changed
2=Always restart PLC program after pressing "Reset Driver" (default)
(will not work on old wheezy)

close #1
2020-04-30 22:11:23 +02:00
akira 13d42acd67 Use new RevPiModIO features 2020-04-13 10:03:17 +02:00
akira 7c646e9770 Fix compile error on older Python3 versions 2020-04-13 09:19:17 +02:00
akira 5099f255d6 Cleanup and new version number 2020-04-12 08:35:39 +02:00
akira 86aed08870 Change plc-watchdog value in .conf and xml-rpc 2020-03-18 09:46:15 +01:00
akira 3df7e19ac6 Etikett 0.8.1 zum Änderungssatz 49a2a6571491 hinzugefügt 2019-09-16 19:52:54 +02:00
akira ae53c8da57 Mit procimgserver zusammenführen 2019-09-16 10:48:18 +02:00
akira 6796873a7a Konfiguration von "plcworkdir_set_uid" über PyControl möglich
User ID wird auf 0 oder angegebene gesetzt je nach Parameter in config file
Relative replace_ios Datei wird mit workdir versehen
replace_ios Datei in workdir wird relativ an PyControl gesendet
2019-09-16 10:42:15 +02:00
akira 3e3cb6e0b4 Byteorder und Vorzeichen an PyControl übergeben und verarbeiten 2019-09-15 22:21:39 +02:00
akira 35d2220a04 Etikett 0.8.0 zum Änderungssatz c30333dc6d8c hinzugefügt 2019-08-26 13:19:26 +02:00
akira c0a9d0dfde Mit replace_ios zusammenführen 2019-08-26 13:19:13 +02:00
akira 1eb38407f5 Übertragung piCtory Datei trennt bei Fehler Verbindung
Übertragung replace_io Datei trennt bei Fehler Verbindung
Replace IO wird nur übertragen, wenn HASH nicht HASH_NULL ist
2019-08-26 13:18:47 +02:00
akira 8420e2c622 PLC-Programm-Neustart unabhängig von XMLRPC Sektion in .conf 2019-08-25 07:41:42 +02:00
akira 43969d8162 picontrolserver enthält Hashvariablen von piCtory und replace_io Datei
TODO: File-Hash-Werte sollten gegen Inhaltsprüfung getauscht werden
2019-08-25 07:27:53 +02:00
akira e3cedd6f39 Wenn replace_ios nicht gefunden wurde, wird HASH_FAIL übertragen
UID kann nun auf Workdirectory gesetzt werden
2019-08-20 14:41:23 +02:00
akira 5542f5d63b Bei Änderung von replace_ios nur Clients trennen, die Hashwert anforderten 2019-08-19 18:09:27 +02:00
akira 6372188205 Bei Änderung der Configuration nur die PLC-Slave-Verbindungen trennen
Accept Timeout auf 2 Sekunden festgelegt
2019-08-19 16:40:18 +02:00
akira 2b96abce66 Hashwerte als Bytes übertragen
16 mal \x00 senden, wenn replace_ios nicht existiert
2019-08-19 14:55:55 +02:00
akira 1cb0c282d7 Bei ProcImgServer fehlte cleanup von RevPiModIO
check_replace_ios_changed brachte falsche Werte, wenn nicht angegeben
RevPiModIO min 2.4.1
2019-08-18 18:55:51 +02:00
akira 7fe5904ef6 Mit replace_ios zusammenführen 2019-08-18 12:20:04 +02:00
akira 9af773d5ee Fehler bei Hashwerte bei Dateien behoben
Neuanordnugn für Reload der Dienste bei Dateiänderungen
2019-08-18 12:13:30 +02:00
akira c024020294 Dateikontrolle für pictory und replace_ios per timestamp und hash Wert
Hashwerte der Dateien über RevPiNetIO abrufbar b'PH' b'RH'
Alte Testfunktion für replace_ios aus helper entfernt
2019-08-18 11:23:18 +02:00
akira 2bf3dce42e Alle revpimodio verwenden nun direct_write 2019-08-07 12:51:50 +02:00
akira 80c2550739 Übertragung der replace_io über das Netzwerk begonnen 2019-08-07 12:05:30 +02:00
akira a7f7d48b93 Etikett 0.7.6 zum Änderungssatz d48697dec964 hinzugefügt 2019-06-17 14:18:22 +02:00
akira 40199c089a Mit replace_ios zusammenführen 2019-06-17 14:18:12 +02:00
akira 89f29b0496 ProcimgServer lädt standard IOs, wenn replace_ios_file nicht gültig ist
MQTT lädt standard IOs, wenn replace_ios_file nicht gültig ist
replace_ios_file wird beim reload geprüft und ggf. neu geladen
Startbar ohne replace_ios Parameter
Bei fehlender replace_ios Datei werden standard IOs verwendet
2019-06-17 14:17:56 +02:00
akira 09cb134f31 replace_io_file wird von RevPiModIO verarbeitet
Parameter kann per XML-RPC übergeben werden
Argument --test hinzugefügt um replace_io_file testen zu können
2019-06-16 16:06:29 +02:00
akira 5661217900 replace_io aus Datei importieren wird direkt vararbeitet 2019-06-16 13:55:24 +02:00
akira f608d99d7d Replace IOs aus Configfile übernehmen 2019-06-10 22:49:23 +02:00
akira bf9eb5ea04 added LICENSE.txt 2019-06-10 15:21:45 +02:00
akira 40edc761f6 Etikett 0.7.5 zum Änderungssatz 825f771e670b hinzugefügt 2019-01-07 20:08:42 +01:00
akira 8f1153b738 Mit revpislave zusammenführen 2019-01-07 20:08:33 +01:00
akira 64955e7ef0 Counter Reset in MQTT eingebaut basename/reset/ioname - payload egal 2019-01-07 20:08:18 +01:00
akira 637348111b bindip für PlcSlave wird jetzt verarbeitet
Fehlerabfang bei piCtory-Übertragung
IOCTL über das Netzwerk implementiert
Parameter --developermode implementiert
2018-12-12 10:03:50 +01:00
akira 2fac129232 Etikett 0.7.3 zum Änderungssatz eabe4f3aee17 hinzugefügt 2018-09-30 19:46:50 +02:00
akira e48f1807f8 Verarbeitung der Exportflags von Core IOs in MQTT überarbeitet
Bei reload und autostart 0->1 wird PLC Programm nun sofort gestartet
2018-09-30 19:02:09 +02:00
akira 399cdd847a Etikett 0.7.2 zum Änderungssatz f6c6238f0d2a hinzugefügt 2018-09-26 11:08:45 +02:00
akira 4b3de84b20 Fehler bei MQTT-Werteübergabe der XML-RPC Schnittstelle behoben
postinst Link angepasst
2018-09-26 11:08:30 +02:00
akira fd00fa3684 MQTT Defaultwerte angepasst
init-file fest mit -d Argument versehen und Codepage für Python
2018-09-25 19:44:24 +02:00
akira 91cae663bd Mit mqtt zusammenführen 2018-09-25 19:29:43 +02:00
akira 851d7d725b Logging angepasst 2018-09-25 19:22:07 +02:00
akira 50f406570c IOs des Core als einzelne Werte behandeln
Topic base/get/ioname sendet den angegebenen IO sofort per MQTT base/got/ioname
Topic base/get sendet Zyklische Daten sofort
Funktion SaveXMLRPCServer.isAlive in SaveXMLRPCServer.is_alive() umbenannt
MqttServer läd RevPiModIO sofort neu bei reload_revpimodio
sendinterval=0 deaktiviert zyklische Übertragung
2018-09-20 11:58:04 +02:00
akira 22cc824694 get_config Datentypen angepasst 2018-09-06 14:26:51 +02:00
akira c1afa0b33b Eventüberwachung von RevPiModIO in MQTT im Thread starten 2018-09-06 13:37:49 +02:00
akira 50f829f1c6 Mit default zusammenführen 2018-09-06 13:25:25 +02:00
akira 5c19151ae0 Debian postinst aufgenommen für Infos der Konfig-Migration
Puffer für PLC Prozess auf 0 gesetzt gegen hängenden Start von Popen
2018-09-06 13:24:25 +02:00
akira 46fb7cc7fc Auch Outputs für bytes per MQTT ermöglichen
Fehlermeldungen für MQTT verbessert
MQTT Parameter host auf broker_address mit localhost als default geändert
2018-09-06 12:38:57 +02:00
akira 54b2dfbe44 Einstellungen mit Sektion versehen
Standardconfig geändert
Versionsnummer angepasst
MQTT Wird nur bei Einstellungsänderung neu gestartet
MQTT Thread wird auf Fehler geprüft
MQTT Nach piCtory Änderung neu starten
XML config nimmt leere mqtt client_id an
2018-09-04 09:33:43 +02:00
akira c6fe2e93e5 Alle IOs mit Export-Flag in piCtory werden per MQTT gesendet
Parameter für Event-Senden und Output-Schreiben in Konfig eingefügt
Processabbild wird nicht komplett per MQTT gesendet
piCtory Konfig kann angefordert werden
Ausgänge können gesetzt werden (wenn Export-Flag)
2018-09-03 12:16:43 +02:00
akira 0e27aa1d57 Mit default zusammenführen 2018-09-03 07:55:54 +02:00
akira dbba5efb8a Etikett 0.6.8 zum Änderungssatz 6f7f8dd24bda hinzugefügt 2018-09-01 22:11:07 +02:00
akira 1b3dc4e595 Übertragung der Values für Watch-Mode an python3.2 angepasst
Bei falschem ACL Wert mit \x18 melden (Cancel)
2018-08-23 15:18:33 +02:00
akira 58629a62a4 Fehler behoben bei Aufruf mit ungültigem configrsc Parameter
code style
2018-08-12 18:40:58 +02:00
akira 4ff125b245 Etikett 0.6.7 zum Änderungssatz 135a6aa80bbe hinzugefügt 2018-06-27 12:18:07 +02:00
akira b3b7a8f92f RevPiModIO2 2.1.6 muss verwendet werden wegen Device-Iterator
Watch mode Daten schneller zusammenfassen
2018-06-27 12:16:15 +02:00
akira e8c631d672 Etikett 0.6.6 zum Änderungssatz 6d8ce1554f1b hinzugefügt 2018-06-24 10:42:10 +02:00
akira 0bcd1a2b6e Fehler bei deaktiviertem XMLRPC behoben
Fehler bei AutoReloadDelay behoben (Zeit passte nicht)
ConfigParser mit Typen bei get versehen
2018-06-24 10:42:01 +02:00
akira 5560cfb182 mqtt publisher automatisch starten, wenn Einstellungen neu geladen werden
Fehlerabfang beim Prozessabbild
mqtt Client Verbindet sich async ohne Fehler, wenn Broker noch nicht da ist
2018-05-01 17:50:16 +02:00
akira bd0df81c33 MQTT sendet beim Start piCtory und Daten um laufende RevPiMqttIO zu informieren
MQTT in XML-RPC eingebaut
MQTT in XML Settings übernommen
2018-04-11 12:28:38 +02:00
akira 2b296b78f9 Nur konfigurierte Bytes aus Procimg übertragen 2018-04-09 18:32:26 +02:00
akira 7f712aaf63 Prozessabbildübertragung per MQTT begonnen 2018-04-09 13:56:11 +02:00
akira f937767479 Etikett 0.6.5 zum Änderungssatz d0f72b85eb0f hinzugefügt 2018-04-07 19:24:03 +02:00
akira 9d07808f82 Kompatibilität zu Python 3.2 (wheezy) hergestellt
ACL Prüfung jetzt gegen client_address[0]
Bei Ordnerupload wurden \ von Windowspfaden nicht umgewandelt
2018-04-07 19:22:07 +02:00
akira aea6ef768d PLC-Slave ACL wird gegen bestehende Verbindungen angewendet 2018-04-05 14:58:45 +02:00
akira 3222790d50 Saved eric-project file
aclx.conf in etc übernehmen (setup.py)
shared übernehmen (setup.py)
Dynamisches Neuladen der Konfiguraiton
2018-04-05 14:25:08 +02:00
akira 0151dbceeb IpAclManager ausgelagert in shared
ACLs über Datei laden (Eine ACL pro Zeile)
ProcimgServer Parameter aclmode entfernt
Codestyle
2018-04-04 16:24:57 +02:00
akira ec34a1903a Mit xmlrpc zusammenführen 2018-04-04 09:58:17 +02:00
akira bee833f28e autoreloaddelay implementiert
Update der IpAclManager-Klasse
2018-04-03 20:29:26 +02:00
akira da4f912605 Neue Optionen für Config-file übernommen
Neuen XML-Modus 4 angelegt
2018-04-03 12:06:46 +02:00
akira fe05ccdc54 IpAclManager.loadacl hinzugefügt
IpAclManager.valid_acl_string entfernt
SaveXMLRPCServer übernimmt ACL Level bei Funktionsregistrierung
SaveXMLRPCServer _dispatch werte ACL Level der Methode aus
Konfigdatei mit neuen Sektionen PLCSLAVE und XMLRPC versehen
Parameter autoreloaddelay für PLC-Neustart integriert
ACL Vergabe für alle register_function Aufrufe
2018-03-12 10:56:06 +01:00
akira f34227fa6e IpAclManager erweitert
picontrolserver auf IpAclManager umgeschrieben
2018-03-11 15:28:44 +01:00
akira 1210f84664 IP Prüfung für XML-RPC begonnen. Prüft lediglich auf IP und noch keine Level 2018-03-08 15:27:46 +01:00
akira a60a15690a Helpermodul angelegt und Funktionen darauf umgestellt 2018-03-08 10:43:21 +01:00
akira ab8272f199 Etikett 0.5.3 zum Änderungssatz 41d0f3b20421 hinzugefügt 2017-12-03 17:05:01 +01:00
akira ad6dc5119e Mit revpislave zusammenführen 2017-12-03 16:43:29 +01:00