Hallo Leute,
ich habe ein Problem mit der Rule "Sunset" in Openhab.
Ich möchte z.B. die Außenbeleuchtung einschalten, sobald die Sonne untergeht.
Ich bekomme die Zeit vom Sonnenuntergang aber irgendwie nicht ins Openhab.
Habe mir daher den Code von einer anderen Seite kopiert (API-Code erstmal egal).
Da sind aber noch Klinken drin, die ich nicht finde.
Weitere Infos:
Ich habe openhab auf dem Raspberry laufen.
Das Verzeichnis ist
/opt/openhab
Meine Settings sind folgende:
/opt/openhab/configuration/items
Haus.item
/opt/openhab/configuration/rule
sunset.rule
opt/openhab/configuration/transform
wunderground_sunset.xls
Irgendwie haut das bei mir nicht hin.
Habe ich da noch Fehler drin?
Ist sicherlich nur eine Kleinigkeit.
Wäre nett wenn mir jemand dabei helfen könnte.
Ich kenne mich mit den Rules und der Syntax noch nicht so aus.
Gruß
The Yankee
ich habe ein Problem mit der Rule "Sunset" in Openhab.
Ich möchte z.B. die Außenbeleuchtung einschalten, sobald die Sonne untergeht.
Ich bekomme die Zeit vom Sonnenuntergang aber irgendwie nicht ins Openhab.
Habe mir daher den Code von einer anderen Seite kopiert (API-Code erstmal egal).
Da sind aber noch Klinken drin, die ich nicht finde.
Weitere Infos:
Ich habe openhab auf dem Raspberry laufen.
Das Verzeichnis ist
/opt/openhab
Meine Settings sind folgende:
/opt/openhab/configuration/items
Haus.item
Code:
/* Sonnenuntergang */ String strSunset "Sunset [%s]" <clock> { http="<[http://api.wunderground.com/api/3f7804104c56181a/astronomy/q/LI/schaan.xml:21600000:XSLT(wunderground_sunset.xsl)]" }
/opt/openhab/configuration/rule
sunset.rule
Code:
import org.joda.time.* var Timer tIndoorLights rule "React to sunset" when Time cron "0 0 16 * * ?" // Every day 16:00 hours, evaluate sunset then var year = now.getYear var month = now.getMonthOfYear var day = now.getDayOfMonth var datum = year+"-"+month+"-"+day+" "+strSunset.state logInfo("Sunset","datum = " + datum) var DateTime sunset = parse(year+"-"+month+"-"+day+"T"+strSunset.state) /* * Indoor Lights */ // Cancel timer to avoid reschedule if(tIndoorLights!=null) { logInfo("Sunset","Timer tIndoorLights cancelled") tIndoorLights.cancel() } logInfo("Sunset","Timer tIndoorLights created") tIndoorLights = createTimer(sunset.minusMinutes(15)) [| logInfo("Sunset","Timer tIndoorLights executed") gSunset?.members.forEach(Switch| sendCommand(Switch, ON) ) ] end
opt/openhab/configuration/transform
wunderground_sunset.xls
Code:
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output indent="yes" method="xml" encoding="UTF-8" omit-xml-declaration="yes" /> <xsl:template match="/"> <!-- format: hh:mm:ss --> <xsl:value-of select="//sunset/hour/text()" /><xsl:text>:</xsl:text><xsl:value-of select="//sunset/minute/text()" /><xsl:text>:00</xsl:text> </xsl:template> </xsl:stylesheet>
Habe ich da noch Fehler drin?
Ist sicherlich nur eine Kleinigkeit.
Wäre nett wenn mir jemand dabei helfen könnte.
Ich kenne mich mit den Rules und der Syntax noch nicht so aus.
Gruß
The Yankee
Kommentar