Hallo,
ich frage meine Miele Hausgeräte über der Http-Binding ab und möchte die Ergebnisse in einer Rule nutzten. Hierzu frage ich das Gateway ab welches mir ein .XSL File zur Verfügung stellt. Mein Item hierzu ist zb. bei meinem Trockner:
Um nun die passenden Ausgaben zu bekommen hier noch die trocknerstatus.xsl :
Als Ausgabe bekomme ich nun jede Statusänderung wobei ich dann in einer Rule eine Aktion auslösen möchte wenn der Trockner fertig ist. Meine Rule:
Leider läuft es nicht, ich beomme im Log folgende Meldung:
Hätte jemand eine Idee was ich falsch mache ?
Gruß
Frank
ich frage meine Miele Hausgeräte über der Http-Binding ab und möchte die Ergebnisse in einer Rule nutzten. Hierzu frage ich das Gateway ab welches mir ein .XSL File zur Verfügung stellt. Mein Item hierzu ist zb. bei meinem Trockner:
Code:
String statustrockner "Status [%s]" (Trockner) { http="<[http://192.168.11.230/homebus/device?language=de&type=TD_T4898&id=TD_T4898.-1609532774:60000:XSLT(trocknerstatus.xsl)]" }
Code:
<?xml version="1.0" encoding="utf-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output indent="yes" method="xml" encoding="UTF-8" omit-xml-declaration="yes"/> <xsl:template match="/device/information"> <xsl:value-of select="key[position() = 2]/@value"/> </xsl:template> </xsl:stylesheet>
Code:
import org.openhab.core.library.types.* import org.openhab.model.script.actions.* var Timer timer var condition = transform("MAP", "miele.map", "Fehler!") rule "Miele Trockner" when Item statustrockner changed to Ende then if(statustrockner.state.toString==Ende) { logInfo("Miele","statustockner: {}",statustrocner.state) logInfo("Miele","Esszimer_Color: {}",Esszimmer_Color.state) sendCommand(Esszimmer_Color,100) //100 => 100%-Helligkeit sendCommand(Esszimmer_Color, HSBType::RED) timer = createTimer(now.plusMinutes(10)) [| { Esszimmer_Color.sendCommand("74,78,56") postUpdate(timer1,OFF) //pushover ("Trockner ist fertig") } ] } else { if(timer!=null) { timer.cancel timer = null } } end
Leider läuft es nicht, ich beomme im Log folgende Meldung:
Code:
2017-11-26 09:47:14.113 [ERROR] [.script.engine.ScriptExecutionThread] - Rule 'Miele Trockner': An error occurred during the script execution: The name 'Ende' cannot be resolved to an item or type.
Gruß
Frank
Kommentar