Seite 1 von 1

ReferenceError: "Ephemeris" is not defined

Verfasst: 30. Okt 2022 14:49
von krause
Ich versuche mich gerade an Ephemeris. Wenn ich mein Mini-Testscript

Code: Alles auswählen

var logger = Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' + ctx.ruleUID);
if (Ephemeris.isWeekend())
{
  logger.info("Wochenende");  
}
else
{
  logger.info("Wochentag");      
}
ausführe, erhalte ich folgende Fehlermeldung:

Code: Alles auswählen

ReferenceError: "Ephemeris" is not defined
Was läuft hier falsch? In welchem Verzeichnis muss die Konfigurationsdatei liegen? Bei meiner Suche habe ich 2 Dateien ephemeris.config mit identischem Inhalt gefunden: in /srv/openhab-userdata/config/org/openhab und in /var/lib/openhab/config/org/openhab.

Ich benutze OH3.

Vielen Dank im Voraus.
K.

Re: ReferenceError: "Ephemeris" is not defined

Verfasst: 30. Okt 2022 15:44
von udo1toni
Du musst zunächst die Ephemeris Actions importieren. also vermutlich sowas: from core.actions import Ephemeris

Re: ReferenceError: "Ephemeris" is not defined

Verfasst: 30. Okt 2022 17:14
von Harka
Mit Blockly erzeugt

Code: Alles auswählen

var ephemeris = Java.type("org.openhab.core.model.script.actions.Ephemeris");
var logger = Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' + ctx.ruleUID);

if (ephemeris.isWeekend(0)) {
  logger.info('Wochenende');
} else {
  logger.info('No');
}

Re: ReferenceError: "Ephemeris" is not defined

Verfasst: 31. Okt 2022 12:26
von krause
Jetzt funktioniert es. Danke Euch!