Skip to content
ggodart edited this page Jan 6, 2021 · 2 revisions

raZberry v2.1.1

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

SYNOPSIS

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>)

Items.mht

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' 

DESCRIPTION

INCLUDING ZWAVE devices

Devices need to first included inside the razberry zwave network using the included web interface.

STATE REPORTED IN MisterHouse

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.

CHILD OBJECTS

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.

RaZberry v2 AUTHENTICATION

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.

INI PARAMETERS

raZberry_timeout 
raZberry_poll_seconds 
raZberry_user 
raZberry_password

METHODS

AUTHOR

SEE ALSO

BUGS

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.

CHANGELOG v2.1.0 - added support for secondary controllers

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.

Clone this wiki locally