From 9def430b1672f0c3b509dc45f34ee9bef7009108 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 1 Jul 2018 21:49:41 +0200 Subject: [PATCH] import scripts --- scripts/README | 5 +++++ scripts/jsr223_demo.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 scripts/README create mode 100644 scripts/jsr223_demo.py diff --git a/scripts/README b/scripts/README new file mode 100644 index 0000000..dd79965 --- /dev/null +++ b/scripts/README @@ -0,0 +1,5 @@ +Put any file containing script definitions here. They will be activated automatically. + +Note: Script definition files must have the extension '*.script' + +Demo-files can be obtained from the archive 'distribution-demo-*.zip'. diff --git a/scripts/jsr223_demo.py b/scripts/jsr223_demo.py new file mode 100644 index 0000000..675c3af --- /dev/null +++ b/scripts/jsr223_demo.py @@ -0,0 +1,28 @@ +class TestRule(Rule): + def __init__(self): + self.logger = oh.getLogger("TestRule") + + def getEventTrigger(self): + return [ + StartupTrigger(), + ChangedEventTrigger("Heating_FF_Child", None, None), + TimerTrigger("0/50 * * * * ?") + ] + + def execute(self, event): + self.logger.debug("event received {}", event) + oh.logInfo("TestRule", str(ItemRegistry.getItem("Heating_GF_Corridor"))) + action = oh.getActions() + oh.logInfo("TestRule", "available actions: " + str(action.keySet())) + ping = oh.getAction("Ping") + oh.logInfo("TestRule", "internet reachable: " + ("yes" if ping.checkVitality("google.com", 80, 100) else "no")) + + def whoop(): + print "yeah" + + oh.createTimer(DateTime.now().plusSeconds(10), whoop) + +def getRules(): + return RuleSet([ + TestRule() + ])