Notification Rule von DSL nach javascript migrieren
Verfasst: 16. Feb 2021 19:51
Hallo zusammen,
ich möchte meine Rules von DSL auf javascript migrieren, aber ich scheitere. Leider finde ich keine Antworten auf meine Fragen/Fehler. Ich komme mir momentan so vor das nur ich mich einfach zu blöd anstelle. Ich muss gestehen meine javascript Kenntnisse sind sehr bescheiden bin aber durchaus lernfähig. ich hoffe mir möchte/kann jemand helfen und Licht ins dunkle bringen.
DSL Rule:
Mein Versuch in javascript:
Bekomme immer diese Meldung im Log:
Danke
Gruß Lenschi
ich möchte meine Rules von DSL auf javascript migrieren, aber ich scheitere. Leider finde ich keine Antworten auf meine Fragen/Fehler. Ich komme mir momentan so vor das nur ich mich einfach zu blöd anstelle. Ich muss gestehen meine javascript Kenntnisse sind sehr bescheiden bin aber durchaus lernfähig. ich hoffe mir möchte/kann jemand helfen und Licht ins dunkle bringen.
DSL Rule:
Code: Alles auswählen
var Timer tNote = null // Timer für Notification
logInfo("garage","Notification Garage getriggert, Status: {}", ShellyGaragentorstatusAddOn.state)
tNote?.cancel
if(ShellyGaragentorstatusAddOn.state == 0)
if(now.getHourOfDay > 20 || now.getHourOfDay < 5) // zwischen 21 Uhr und 5 Uhr
tNote = createTimer(now.plusMinutes(15), [|
if (notificationName_Garage.state == ON) {
sendNotification('name@domain.de', "Garage ist geöffnet!")
}
])
Code: Alles auswählen
var logger = Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' + ctx.ruleUID);
var ScriptExecution = Java.type("org.openhab.core.model.script.actions.ScriptExecution");
var ZonedDateTime = Java.type("java.time.ZonedDateTime");
logger.info("Start******************** " ZonedDateTime.now().toString()); //Script Test
if (itemRegistry.getItem('GaragentorStatusAddOn_AddOn').getState() == 0){
logger.info("getState OK");
if(ZonedDateTime.now().getHour() > 16 || ZonedDateTime.now().getHour() < 5) // zwischen 21 Uhr und 5 Uhr
ScriptExecution.createTimer(ZonedDateTime.now().plusMinutes(15), function(){
logger.info("Ende*********************");
});
}
Danke
Gruß Lenschi