diff options
author | Hans Hagen <pragma@wxs.nl> | 2018-01-12 08:12:50 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2018-01-12 08:12:50 +0100 |
commit | d0edf3e90e8922d9c672f24ecdc5d44fe2716f31 (patch) | |
tree | 5b618b87aa5078a8c744c94bbf058d69cd7111b2 /scripts/context/lua/mtx-evohome.lua | |
parent | 409a95f63883bd3b91699d39645e39a8a761457c (diff) | |
download | context-d0edf3e90e8922d9c672f24ecdc5d44fe2716f31.tar.gz |
2018-01-08 23:11:00
Diffstat (limited to 'scripts/context/lua/mtx-evohome.lua')
-rw-r--r-- | scripts/context/lua/mtx-evohome.lua | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/scripts/context/lua/mtx-evohome.lua b/scripts/context/lua/mtx-evohome.lua index 671666493..7fd8612ec 100644 --- a/scripts/context/lua/mtx-evohome.lua +++ b/scripts/context/lua/mtx-evohome.lua @@ -6,7 +6,7 @@ if not modules then modules = { } end modules ['mtx-evohome'] = { license = "see context related readme files" } -require("util-evo") +local evohome = require("util-evo") local formatters = string.formatters @@ -26,6 +26,8 @@ local helpinfo = [[ <flag name="collect"><short>collect data from device</short></flag> <flag name="presets"><short>file with authenciation data</short></flag> <flag name="auto"><short>fetch temperature data every hour</short></flag> + <flag name="port"><short>server port when running the service, default: 8068</short></flag> + <flag name="host"><short>server host when running the service, default: localhost</short></flag> </subcategory> </category> </flags> @@ -34,6 +36,7 @@ local helpinfo = [[ <title>Example</title> <subcategory> <example><command>mtxrun --script evohome --collect --presets=c:/data/develop/domotica/code/evohome-presets.lua</command></example> + <example><command>mtxrun --script evohome --server --presets=c:/data/develop/domotica/code/evohome-presets.lua</command></example> </subcategory> </category> </examples> @@ -58,12 +61,12 @@ function scripts.evohome.collect() local presets = arguments.presets local delay = tonumber(arguments.delay) or 15*60*60 if presets then - presets = utilities.evohome.loadpresets(presets) + presets = evohome.helpers.loadpresets(presets) end if presets then local function fetch() report("current time %a",os.now()) - utilities.evohome.updatetemperatures(presets) + evohome.helpers.updatetemperatures(presets) end if arguments.auto then while true do @@ -80,14 +83,27 @@ function scripts.evohome.collect() end end - function scripts.evohome.update() local presets = arguments.presets if presets then - presets = utilities.evohome.loadpresets(presets) + presets = evohome.helpers.loadpresets(presets) + end + if presets then + evohome.helpers.geteverything(presets) + else + report("invalid preset file") end +end + +function scripts.evohome.server() + local presets = arguments.presets if presets then - utilities.evohome.geteverything(presets) + require("util-evo-imp-server") + evohome.server { + filename = presets, -- e:/domotica/code/evohome-presets.lua + host = arguments.host, + port = tonumber(arguments.port), + } else report("invalid preset file") end @@ -97,6 +113,8 @@ if environment.argument("collect") then scripts.evohome.collect() elseif environment.argument("update") then scripts.evohome.update() +elseif environment.argument("server") then + scripts.evohome.server() elseif environment.argument("exporthelp") then application.export(environment.argument("exporthelp"),environment.files[1]) else |