Add beamer/chromecast items and rules
parent
f361ffc565
commit
40e77b1fed
|
@ -14,4 +14,19 @@ Switch entrance_ceiling_lamps "Ceiling Lamps" <lightbulb> (entrance)
|
|||
Switch chill_zone_lamps "Lamps" <lightbulb> (chill_zone) { channel="mqtt:topic:chill_zone_lamps:power" }
|
||||
Switch engineering_table_lamps "Table Lamps" <lightbulb> (engineering) { channel="mqtt:topic:engineering_table_lamps:power" }
|
||||
Switch engineering_ceiling_lamps "Ceiling Lamps" <lightbulb> (engineering) { channel="mqtt:topic:engineering_ceiling_lamps:power" }
|
||||
Switch engineering_status_lamp "Status Lamp" <lightbulb> (engineering) { channel="mqtt:topic:engineering_status_lamp:power" }
|
||||
Switch engineering_status_lamp "Status Lamp" <lightbulb> (engineering) { channel="mqtt:topic:engineering_status_lamp:power" }
|
||||
|
||||
|
||||
// If ChromeCast doesn't work you have to link this item with the Chromecast channel manually
|
||||
String chill_zone_chromecast_appid
|
||||
"Chromecast AppId [%s]"
|
||||
{ channel="chromecast:chromecast:b000d809ccb35a409a3dd3d14e0fbf08:appId" }
|
||||
|
||||
// If ChromeCast doesn't work you have to link this item with the Chromecast channel manually
|
||||
String chill_zone_chromecast_status
|
||||
"Chromecast Status [%s]"
|
||||
{ channel="chromecast:chromecast:b000d809ccb35a409a3dd3d14e0fbf08:statustext" }
|
||||
|
||||
Switch chill_zone_beamer
|
||||
"Beamer"
|
||||
(chill_zone)
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
|
||||
rule "Beamer Power"
|
||||
when
|
||||
Item chill_zone_beamer received command
|
||||
then
|
||||
val state = chill_zone_beamer.state.toString
|
||||
var beamerResponse
|
||||
|
||||
if (state == 'ON') {
|
||||
// turn the beamer on
|
||||
beamerResponse = sendHttpGetRequest("http://10.2.113.7/tgi/return.tgi?command=2a3101fe0660")
|
||||
} else {
|
||||
// turn the beamer off
|
||||
beamerResponse = sendHttpGetRequest("http://10.2.113.7/tgi/return.tgi?command=2a3102fd0660")
|
||||
}
|
||||
val beamerStatus = transform("XPATH", "/return/text()", beamerResponse).replace("\n", '')
|
||||
logInfo("beamer", "Beamer state: {}", beamerStatus)
|
||||
end
|
||||
|
||||
rule "Chromecast changed"
|
||||
when
|
||||
Item chill_zone_chromecast_status changed
|
||||
then
|
||||
chill_zone_beamer.sendCommand("ON")
|
||||
val app = chill_zone_chromecast_status.state.toString
|
||||
if (app === null || app == UNDEF || app == 'UNDEF' || app == '' ) {
|
||||
// set input to DVI - hackerspace video
|
||||
sendHttpGetRequest("http://10.2.113.7/tgi/return.tgi?command=2a3109f6070566")
|
||||
} else {
|
||||
// set input to HDMI2 - chromecast
|
||||
sendHttpGetRequest("http://10.2.113.7/tgi/return.tgi?command=2a3109f6071576")
|
||||
}
|
||||
end
|
|
@ -0,0 +1,2 @@
|
|||
// When the callback URL matters, see https://github.com/openhab/openhab2-addons/issues/1984#issuecomment-285320106
|
||||
binding.chromecast:callbackUrl=http://10.2.113.102:8080
|
|
@ -44,3 +44,6 @@ Bridge mqtt:broker:mosquitto "Mosquitto" [
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
// See services/chromecast.cfg for the callback URL
|
||||
Thing chromecast:chromecast:b000d809ccb35a409a3dd3d14e0fbf08 [ipAddress="10.2.113.120", port=8009]
|
||||
|
|
Loading…
Reference in New Issue