Move parameters to a configuration file + add onStop
This commit is contained in:
52
run.py
52
run.py
@@ -1,19 +1,36 @@
|
||||
import os
|
||||
import time
|
||||
import Domoticz
|
||||
import plugin
|
||||
|
||||
Parameters = {
|
||||
"Address":"localhost",
|
||||
"Port":"8080",
|
||||
"Username":"",
|
||||
"Password":"",
|
||||
"Mode1":"",
|
||||
"Mode2":"",
|
||||
"Mode3":"",
|
||||
"Mode4":"",
|
||||
"Mode5":"",
|
||||
"Mode6":0
|
||||
}
|
||||
def function_read_properties(filename:str, sep:str='=', comment_char:str='#')->dict:
|
||||
"""Convert a .properties file into a dictionary"""
|
||||
dictionary = {}
|
||||
|
||||
with open(filename, "r", encoding="utf-8") as fproperties:
|
||||
for line in fproperties:
|
||||
lstrip = line.strip()
|
||||
if lstrip and not lstrip.startswith(comment_char):
|
||||
key_value = lstrip.split(sep)
|
||||
key = key_value[0].strip()
|
||||
value = sep.join(key_value[1:]).strip().strip('"')
|
||||
dictionary[key] = value
|
||||
|
||||
return dictionary
|
||||
|
||||
"""Read Parameter file? Format should be:
|
||||
Address=xxx
|
||||
Port=xxx
|
||||
Username=xxx
|
||||
Password=xxx
|
||||
Mode1=xxx
|
||||
Mode2=xxx
|
||||
Mode3=xxx
|
||||
Mode4=xxx
|
||||
Mode5=xxx
|
||||
Mode6=xxx
|
||||
"""
|
||||
Parameters = function_read_properties(os.path.join(os.path.dirname(__file__), "parameters.properties"))
|
||||
|
||||
Images = Domoticz.Images
|
||||
Devices = Domoticz.Devices
|
||||
@@ -23,7 +40,10 @@ with open("./plugin.py", 'rb') as fileobj:
|
||||
|
||||
onStart()
|
||||
|
||||
while True:
|
||||
Domoticz.Log("## Plugin Heartbeat ##")
|
||||
onHeartbeat()
|
||||
time.sleep(Domoticz.domo.GetHeartbeat())
|
||||
try:
|
||||
while True:
|
||||
Domoticz.Log("## Plugin Heartbeat ##")
|
||||
onHeartbeat()
|
||||
time.sleep(Domoticz.domo.GetHeartbeat())
|
||||
finally:
|
||||
onStop()
|
||||
|
||||
Reference in New Issue
Block a user