-
Notifications
You must be signed in to change notification settings - Fork 130
Items raZberry
See [original](http://misterhouse.sourceforge.net/lib/raZberry v2.1.1.html)
The RaZberry is a tiny Z-wave daughter card that sits on top of the Raspberry PI
In user code:
use raZberry;
$razberry_controller = new raZberry('10.0.1.1',10);
$razberry_comm = new raZberry_comm($razberry_controller);
$room_fan = new raZberry_dimmer($razberry_controller,'2','force_update');
$room_blind = new raZberry_blind($razberry_controller,'3','digital');
$front_lock = new raZberry_lock($razberry_controller,'4');
$thermostat = new raZberry_thermostat($razberry_controller,'5');
$temp_sensor = new raZberry_temp_sensor($razberry_controller,'5');
$door_sensor = new raZberry_binary_sensor($razberry_controller,'7');
$garage_light = new raZberry_switch($razberry_controller,'6');
$remote_1 = new raZberry_battery($razberry_controller,12);
raZberry(<ip address>,<poll time>|'push'); raZberry_<child>(<controller>,<device id>,<options>)
Defined in items.mht
as
# RAZBERRY_CONTROLLER, ip_address, controller_name, group, poll time/'push', options
# RAZBERRY_DIMMER, device_id, name, group, controller_name, options
# RAZBERRY_SWITCH, device_id, name, group, controller_name, options
# RAZBERRY_BLIND, device_id, name, group, controller_name, options
# RAZBERRY_LOCK, device_id, name, group, controller_name, options
# RAZBERRY_THERMOSTAT, device_id, name, group, controller_name, options
# RAZBERRY_TEMP_SENSOR, device_id, name, group, controller_name, options
# RAZBERRY_BINARY_SENSOR, device_id, name, group, controller_name, options
# RAZBERRY_GENERIC, device_id, name, group, controller_name, options * Note GENERIC requires the full device ID, ie 2-0-48-1
# RAZBERRY_VOLTAGE, device_id, name, group, controller_name, options * Note VOLTAGE is a multiattribute device, so device_id can only be the major number
RAZBERRY_CONTROLLER, 10.0.1.1, razberry_controller, zwave RAZBERRY_BLIND, 4, main_blinds, HVAC|zwave, razberry_controller, battery
# for specifying controller options;
RAZBERRY_CONTROLLER, 10.0.1.1, razberry_controller, zwave, push ,'user=admin,password=bob'
Devices need to first included inside the razberry zwave network using the included web interface.
The Razberry is polled on a regular basis in order to update local objects. By default, the razberry is polled every 5 seconds.
Update for local control use the 'niffler' plug in. This saves forcing a local device status every poll.
Each device class will need a child object, as the controller object is just a gateway to the hardware.
There is also a communication object to allow for alerting and monitoring of the razberry controller.
Works and tested with v2.0.0. It should also work with v1.7.4. For later versions, Z_Way has introduced authentication. raZberry v2.0 supports this via two methods:
1: Enable anonymous authentication: - Create a room named devices, and assign all ZWay devices to that room - Create a user named anonymous with role anonymous - Edit user anonymous and allow access to room devices 1: Create a new user and give it the admin role. Credentials can be stored in MisterHouse either in the mh.ini, or on a per controller basis.
Then in the controller definition, provide the username and password:
$razberry_controller = new raZberry('10.0.1.1',10,"user=user,password=pwd");
v2 PUSH or POLL. Only tested in version raZberry 2.3.0 Using the HTTPGet
automation module, this will 'push' a status change to MisterHouse rather than the constant polling. Use the following URL for updating: http://mh:port/SUB;razberry_push(%DEVICE%,%VALUE%)
If the razberry or MisterHouse get out of sync, $controller->poll
can be issued to get the latest states.
Only one raZberry controller can be the push source, due to only a single controller object that can be linked to the web service.
raZberry_timeout
raZberry_poll_seconds
raZberry_user
raZberry_password
OTHER http calls can cause pauses. There are a few possible options around this; - push output to a file and then read the file. This is generally how other modules work.
v2.0.2 - added generic_item support for loggers
v2.0.1 - added full poll for getting battery data
v2.0 - added in authentication method for razberry 2.1.2+ support - supports a push method when used in conjunction with the HTTPGet automation module - displays some controller information at startup
v1.6 - added in digital blinds, battery item (like a remote)
v1.5 - added in binary sensors
v1.4 - added in thermostat
v1.3 - added in locks - added in ability to add and remove lock users
v1.2 - added in ability to 'ping' device - added a check to see if the device is 'dead'. If dead it will attempt a ping for X attempts a Y seconds apart.