Ruby CresIP
Constructs and parses Crestron IP protocol packets that make it easier to communicate with Crestron devices that would otherwise require a crestron controller.
It does not implement the transport layer so you can use it with native ruby, eventmachine, celluloid or the like.

You'll still need to use Crestron Toolbox software to configure the devices.
Install the gem
Install it with RubyGems
gem install cresip
or add this to your Gemfile if you use Bundler:
gem 'cresip'
Usage
require 'cresip'
values = {}
cresip = CresIP.new do |message|
case message
when Action
if message.feedback?
values[message.join] = message.value
else
values[message.join] = message.value
end
when Echo
if not message.is_response?
message.response.to_binary_s
end
when Register
if not message.reg_success?
message.register.to_binary_s
end
end
end
cresip.read(byte_string)
act = CresIP::Action.new
act.value = 'hello crestron'
act.join = 123
act.to_binary_s
License and copyright
MIT