ZWave Plugin Scripts


scripts/start_include

Start including ZWave device process( adding device in ZWave network )

request:

no params

response:

empty result

Broadcast Description
include_invoked Include process was invoked
include_started Include process was started
s2_select_authentication_modes Require setting authentication mode for continue including
include_finished Include was finished
include_finished_error Include was finished with error
include_finished_timeout Include was finished in timeout reason
action_busy Other operation running, include wasn't started

Example

request:

{
    "method": "hub.extensions.plugin.run",
    "id": "_ID_",
    "params": {
        "script": "HUB:zwave/scripts/start_include"
    }
}

response:

{
    "error": null,
    "id": "_ID_",
    "result": {}
}

scripts/set_authentication_mode

Set security mode for including device

request:

Field Type Required Description
modes strings array + an array of selected authentication modes from s2_select_authentication_modes broadcast

response:

empty result

Broadcast Description
s2_request_device_specific_key Require S2 keys for continue including
s2_show_device_side_key Require inputing S2 keys on device side for continue including
action_busy Other operation running, include wasn't started

Example

request:

{
    "method": "hub.extensions.plugin.run",
    "id": "_ID_",
    "params": {
        "script": "HUB:zwave/scripts/set_authentication_mode",
        "scriptParams": {
            "modes": [ "accessControl", "unauthenticated" ]
        }
    }
}

response:

{
    "error": null,
    "id": "_ID_",
    "result": {}
}

scripts/set_device_specific_key

Set security mode for including device

request:

Field Type Required Description
key int + S2 device specific key (private part, 1 number)

response:

empty result

Broadcast Description
action_busy Other operation running, include wasn't started

Example

request:

{
    "method": "hub.extensions.plugin.run",
    "id": "_ID_",
    "params": {
        "script": "HUB:zwave/scripts/set_device_specific_key",
        "scriptParams": {
            "key": 1458
        }
    }
}

response:

{
    "error": null,
    "id": "_ID_",
    "result": {}
}

scripts/stop_include

Start including ZWave device process( adding device in ZWave network )

request:

no params

response:

empty result

Broadcast Description
include_finished Include was finished
action_busy Other operation running, include wasn't started

Example

request:

{
    "method": "hub.extensions.plugin.run",
    "id": "_ID_",
    "params": {
        "script": "HUB:zwave/scripts/stop_include"
    }
}

response:

{
    "error": null,
    "id": "_ID_",
    "result": {}
}

scripts/start_exclude

Start exncluding ZWave device process( removing device from ZWave network )

request:

Field Type Required Description
deviceId int - Public Device Id of removing device( It will be used only if device is unreachable )

response:

empty result

Broadcast Description
exclude_invoked Exclude process was invoked
exclude_started Exclude process was started
unknown_node_removed ZWave device from another network was removed
exclude_finished Exclude was finished
exclude_finished_error Exclude was finished with error
exclude_finished_timeout Exclude was finished in timeout reason
action_busy Other operation running, exclude wasn't started

Example

request:

{
    "method": "hub.extensions.plugin.run",
    "id": "_ID_",
    "params": {
        "script": "HUB:zwave/scripts/start_exclude"
    }
}

response:

{
    "error": null,
    "id": "_ID_",
    "result": {}
}

scripts/stop_exclude

Stop excluding ZWave device process

request:

no params

response:

empty result

Broadcast Description
exclude_finished Exclude was finished
action_busy Other operation running, exclude wasn't started

Example

request:

{
    "method": "hub.extensions.plugin.run",
    "id": "_ID_",
    "params": {
        "script": "HUB:zwave/scripts/stop_exclude"
    }
}

response:

{
    "error": null,
    "id": "_ID_",
    "result": {}
}

scripts/start_learn

Start learning process( Including controller in another ZWave network )

request:

no params

response:

empty result

Broadcast Description
learn_invoked Learn process was invoked
learn_started Learn process was started
learn_show_key Show a dsk key of a controller being included
learn_progress Learn is in progress
learn_finished Learn was finished
learn_finished_error Learn was finished with error
learn_finished_timeout Learn was finished in timeout reason
action_busy Other operation running, learn wasn't started

Example

request:

{
    "method": "hub.extensions.plugin.run",
    "id": "_ID_",
    "params": {
        "script": "HUB:zwave/scripts/start_learn"
    }
}

response:

{
    "error": null,
    "id": "_ID_",
    "result": {}
}

scripts/stop_learn

Stop learning process

request:

no params

response:

empty result

Broadcast Description
learn_finished Learn was finished
action_busy Other operation running, learn wasn't started

Example

request:

{
    "method": "hub.extensions.plugin.run",
    "id": "_ID_",
    "params": {
        "script": "HUB:zwave/scripts/stop_learn"
    }
}

response:

{
    "error": null,
    "id": "_ID_",
    "result": {}
}

scripts/stop_security_include

Stops a procedure of including S2 security device in decured mode. Device will be included in non-secure mode.

request:

no params

response:

empty result

Example

request:

{
    "method": "hub.extensions.plugin.run",
    "id": "_ID_",
    "params": {
        "script": "HUB:zwave/scripts/stop_security_include"
    }
}

response:

{
    "error": null,
    "id": "_ID_",
    "result": {}
}

scripts/reset

Remove all plugin devices and reset ZWave chip( new Home ID, new S0 keys, remove all ZWave nodes )

request:

no params

response:

empty result

Broadcast Description
module_reset State of reset operation was changed
action_busy Other operation running, reset wasn't started

Example

request:

{
    "method": "hub.extensions.plugin.run",
    "id": "_ID_",
    "params": {
        "script": "HUB:zwave/scripts/reset"
    }
}

response:

{
    "error": null,
    "id": "_ID_",
    "result": {}
}