Here is a small write up on getting OpenHAB talking to your Kaleidescape. OpenHAB is an open source home automation system that is capable of interfacing all manner of technologies and systems into one integrated interface. I have configured my OpenHAB instance to interface with my Kaleidescape to retrieve and react to information about what is playing as well as send commands to the system. Utilizing various rules, OpenHAB has the ability to react to Kaleidescape's updates. While it would be nice to have a full OpenHAB binding for K instead of just this rule set, I find that this works fine for my needs. The 'tcp' binding must be loaded for this to work.
I have the following items of information populated when a movie is playing:
Title name
Play status
Chapter
Aspect ratio
Movie location
Media type
Title length
Title location
The following files (see attached zip) are used for OpenHAB to interface with K:
items/kaleidescape.items - set ip address of K server on first line
rules/kaleidescape.rules- set kZoneId to CPDID or serial number of kaleidescape zone to control
transform/k_*.map - lookup tables of various K status codes
transform/k_get_hour_minute.js - js to transform # of minutes integer to friendly display string
sitemaps/k_items.txt - items to add to sitemap for Kaleidescape
Rules specified in kaleidescape.rules:
rule "Handle Kaleidescape Event rule" - main rule to process status update messages from Kaleidescape
rule "Send K ENABLE_EVENTS rule" - call this rule once to enable event updates from Kaleidescape
rule "Send K DISABLE_EVENTS rule" - call this rule once to disable event updates from Kaleidescape
rule "K credits rolling" - this rule fires when credits roll and the movie was over 75 minutes long
rule "K movie night script" - called by switch 'K_movie_night' to start the script called 'Movie Night'
rule "K movie covers" - call this rule to make K go to movie covers screen, I use this from another rule that fires when I turn on my projector
rule "K screen saver off" - call this rule to turn off the K screen saver
rule "Handle K User Event" - handle K script action 'Send command to control system', the string is what was specified in the script create ui
Enjoy!
I have the following items of information populated when a movie is playing:
Title name
Play status
Chapter
Aspect ratio
Movie location
Media type
Title length
Title location
The following files (see attached zip) are used for OpenHAB to interface with K:
items/kaleidescape.items - set ip address of K server on first line
rules/kaleidescape.rules- set kZoneId to CPDID or serial number of kaleidescape zone to control
transform/k_*.map - lookup tables of various K status codes
transform/k_get_hour_minute.js - js to transform # of minutes integer to friendly display string
sitemaps/k_items.txt - items to add to sitemap for Kaleidescape
Rules specified in kaleidescape.rules:
rule "Handle Kaleidescape Event rule" - main rule to process status update messages from Kaleidescape
rule "Send K ENABLE_EVENTS rule" - call this rule once to enable event updates from Kaleidescape
rule "Send K DISABLE_EVENTS rule" - call this rule once to disable event updates from Kaleidescape
rule "K credits rolling" - this rule fires when credits roll and the movie was over 75 minutes long
rule "K movie night script" - called by switch 'K_movie_night' to start the script called 'Movie Night'
rule "K movie covers" - call this rule to make K go to movie covers screen, I use this from another rule that fires when I turn on my projector
rule "K screen saver off" - call this rule to turn off the K screen saver
rule "Handle K User Event" - handle K script action 'Send command to control system', the string is what was specified in the script create ui
Enjoy!