diff --git a/DEVEL.txt b/DEVEL.txt
index f9473c05..04443a95 100644
--- a/DEVEL.txt
+++ b/DEVEL.txt
@@ -12,7 +12,7 @@ Get the sources
You must now install python-openzwave in develop mode
- make develop
+ sudo make develop
Your password will be asked (by sudo) for installing eggs in your
local directory.
@@ -20,11 +20,33 @@ local directory.
Develop, test, debug, test, ... :)
Update the documentation if needed. You surely found the documentation
-useful, so please keep it up to date
+useful, so please keep it up to date.
You can create an account on travis to run the (futurs) tests.
-At last but not least, submit your request
+At last but not least, submit your request.
+
+
+How to develop for libopenzwave (was python-openzwave-lib)
+==========================================================
+
+After updating the pyx, you need to reinstall it, specially if your in
+develop mode. Otherwise, your changes will not be applied :
+
+ sudo make develop
+
+
+Tests
+=====
+
+Nosetests and pylint are used to test quality of code. There reports
+are here :
+
+ * Nosetests report
+
+ * Coverage report
+
+ * Pylint report
Documentation
@@ -60,39 +82,3 @@ There is 2 ways of linking libraries with a program :
by the library. This the way the debian package works. So you CAN
have another program running when using the python-openzwave
library. Of course, this program MUST use the shared library too.
-
-
-Migrate from py-openzwave to python-openzwave
-=============================================
-
-Remove the old py-openzwave
-
- find /usr -iname openzwave.so
-
-This command show the list of files naming openzwave.so in /usr, ie
-/usr/local/lib/python2.7/dist-package/openzwave.so
-
-Remove it :
-
- sudo rm /usr/local/lib/python2.7/dist-package/openzwave.so
-
-Install the new version of python-openzwave : look at README
-
-Update your code :
-
-Everywhere in your code replace :
-
- "import openzwave" to "import libopenzwave" "from openzwave" to "from libopenzwave"
-
-notifications :
-
-In Maarten py-openzwave librairy, value is a string but in python-
-openzwave, it's a value of the right type :
-
- # 'value' : value.c_str(),
-
- 'value' : getValueFromType(manager,v.GetId?()),
-
-wrapper : The wrapper is no longer supported.
-
-Now high level acces to ZWave network is provided by the API
diff --git a/INSTALL_ARCH.txt b/INSTALL_ARCH.txt
index 55a270c5..8b1bf0c3 100755
--- a/INSTALL_ARCH.txt
+++ b/INSTALL_ARCH.txt
@@ -20,7 +20,7 @@ Get archive of python-openzwave
You are now ready to download sources of python-openzwave here :
- https://github.com/bibi21000/python-openzwave/downloads/list
+ http://bibi21000.no-ip.biz/python-openzwave/
This archive contains sources of python-openzwave and openzwave.
diff --git a/INSTALL_MAN.txt b/INSTALL_MAN.txt
index c4a7bf97..1e7ea91d 100755
--- a/INSTALL_MAN.txt
+++ b/INSTALL_MAN.txt
@@ -54,6 +54,7 @@ Build python-openzwave
python setup-lib.py build
python setup-api.py build
+ python setup-manager.py build
And install them
@@ -61,3 +62,4 @@ And install them
sudo python setup-lib.py install
sudo python setup-api.py install
+ sudo python setup-manager.py install
diff --git a/README.md b/README.md
index e15dcffa..1d666916 100644
--- a/README.md
+++ b/README.md
@@ -22,10 +22,40 @@ You can install python-openzwave in 3 ways :
automatically or you are using windows or MacOS X. Look at
INSTALL_MAN to do such installation
-Testing python-openzwave :
-You don't need to install python-openzwave to test it. Look at
-EXAMPLES.
+Migrating from python-openzwave 0.2.X to 0.3.0
+==============================================
+
+This version (0.3.0) is under development, do not use it in a
+production environnement.
+
+I need to update source tree of python-openzwave and modules's names
+because of a bug in setuptools :
+https://bitbucket.org/pypa/setuptools/issue/230/develop-mode-does-not-
+respect-src. Sorry for that.
+
+So, beforre building python-openzwave, you must uninstall the old
+version :
+
+ sudo make uninstall
+
+After that, reinstall python-openzwave usinf your prefered method.
+
+If you have problems, please submit an issue with :
+
+ * the content of the directory /usr/local/lib/python2.7/dist-
+ packages/ (for python2.7)
+
+ * the content of /usr/local/lib/python2.7/dist-packages/easy-
+ install.pth (for python 2.7)
+
+
+Testing python-openzwave
+========================
+
+After installing python-openzwave, you can run tests :
+
+ sudo make tests
To do
diff --git a/docs/DEVEL.rst b/docs/DEVEL.rst
index 0b7d2740..189f396d 100644
--- a/docs/DEVEL.rst
+++ b/docs/DEVEL.rst
@@ -17,18 +17,34 @@ You must now install python-openzwave in develop mode
.. code-block:: bash
- make develop
+ sudo make develop
Your password will be asked (by sudo) for installing eggs in your local directory.
Develop, test, debug, test, ... :)
-Update the documentation if needed. You surely found the documentation useful, so please keep it up to date
+Update the documentation if needed. You surely found the documentation useful, so please keep it up to date.
You can create an account on travis to run the (futurs) tests.
-At last but not least, submit your request
+At last but not least, submit your request.
+How to develop for libopenzwave (was python-openzwave-lib)
+==========================================================
+After updating the pyx, you need to reinstall it, specially if your in develop mode. Otherwise, your changes will not be applied :
+
+.. code-block:: bash
+
+ sudo make develop
+
+Tests
+=====
+
+Nosetests and pylint are used to test quality of code. There reports are here :
+
+ - `Nosetests report Your password will be asked (by sudo) for installing eggs in your local directory. Develop, test, debug, test, ... :) Update the documentation if needed. You surely found the documentation useful, so please keep it up to date Update the documentation if needed. You surely found the documentation useful, so please keep it up to date. You can create an account on travis to run the (futurs) tests. At last but not least, submit your request At last but not least, submit your request. After updating the pyx, you need to reinstall it, specially if your in develop mode. Otherwise, your changes will not be applied : Remove the old py-openzwave This command show the list of files naming openzwave.so in /usr, ie /usr/local/lib/python2.7/dist-package/openzwave.so Remove it : Install the new version of python-openzwave : look at README Update your code : Everywhere in your code replace : notifications : In Maarten py-openzwave librairy, value is a string but in python-openzwave, it’s a value of the right type : wrapper : The wrapper is no longer supported. Now high level acces to ZWave network is provided by the API You are now ready to download sources of python-openzwave here : This archive contains sources of python-openzwave and openzwave. This version (0.3.0) is under development, do not use it in a production environnement. I need to update source tree of python-openzwave and modules’s names because of a bug in setuptools : https://bitbucket.org/pypa/setuptools/issue/230/develop-mode-does-not-respect-src.
+Sorry for that. So, beforre building python-openzwave, you must uninstall the old version : After that, reinstall python-openzwave usinf your prefered method. If you have problems, please submit an issue with : After installing python-openzwave, you can run tests : License : GPL(v3) python-openzwave is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version. python-openzwave is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with python-openzwave. If not, see http://www.gnu.org/licenses. Bases: logging.Handler A Null Logging Handler Bases: api.object.ZWaveException Exception class for OpenZWave Bases: api.object.ZWaveException Exception class for OpenZWave Bases: exceptions.Exception Exception class for OpenZWave Bases: object Represents an interface of a node. An interface can manage
-specific commandClasses (ie a switch, a dimmer, a thermostat, ...).
-Don’t know what to do with it now but sure it must exist Bases: object Represents a Zwave object. Values, nodes, ... can be changer by
-other managers on the network. Add this property to the cache manager. The home_id of the node. Check if property information is outdated. The last update date of the device. The network of the node. The id of the object.
-object_id could be None, when creating a scene for example. Says that the property information is outdated. Are the information of this object outdated. How to manage the cache ? 2 ways of doing it :
-- refresh information when setting the property
-- refresh information when getting getting property.
-Maybe whe could implement the 2 methods. Says that the property are updated. Should this object use cache from property Bases: api.object.ZWaveException Exception class for OpenZWave License : GPL(v3) python-openzwave is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version. python-openzwave is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+You should have received a copy of the GNU General Public License
+along with python-openzwave. If not, see http://www.gnu.org/licenses. Represents an interface to BasicCommands
+I known it’s not necessary as they can be included in the node directly.
+But it’s a good starting point. What I want to do is provide an automatic mapping system hidding
+the mapping classes. First example, the battery level, it’s not a basic command but don’t care.
+Its command class is 0x80. A user should write The classic way to do it is a classic method of registering. But Another way : using heritage multiple ZWaveNode(ZWaveObject, ZWaveNodeBasic, ....)
+The interface will implement methods
+command_class_0x80(param1,param2,...)
+That’s the first thing to do
+We also can define a property with a friendly name handle_command_class will do the rest Another way to do it :
+A node can manage actuators (switch, dimmer, ...)
+and sensors (temperature, consummation, temperature) So we need a kind of mechanism to retrieve commands in a user friendly way
+Same for sensors. A good use case is the AN158 Plug-in Meter Appliance Module
+We will study the following command classes :
+‘COMMAND_CLASS_SWITCH_ALL’, ‘COMMAND_CLASS_SWITCH_BINARY’,
+‘COMMAND_CLASS_METER’, The associated values are : Another example from an homePro dimmer (not configured in openzwave): What about the conclusion : The COMMAND_CLASS_SWITCH_ALL is defined with the same label and
+use a list as parameter. This should be a configuration parameter.
+Don’t know what to do for this command class The COMMAND_CLASS_SWITCH_BINARY use a bool as parameter while
+COMMAND_CLASS_SWITCH_MULTILEVEL use 2 buttons : Dim and Bright.
+Dim and Bright must be done in 2 steps : set the level and activate
+the button. So we must add one or more lines in the actuators : Switch : {setter:self.set_command_class_0xYZ(valueId, new), getter:}
+We must find a way to access the value directly Bright
+Dim So for the COMMAND_CLASS_SWITCH_BINARY we must define a function called
+Switch (=the label of the value). What happen if we have 2 switches
+on the node : 2 values I suppose. COMMAND_CLASS_SWITCH_MULTILEVEL uses 2 commands : 4 when 2 dimmers on the
+done ? Don’t know but it can. COMMAND_CLASS_METER export many values : 2 of them sends a decimal
+and are readonly. They also have a Unit defined ans values are readonly COMMAND_CLASS_METER are used for sensors only. So we would map
+every values entries as defined before Programming :
+get_switches : retrieve the list of switches on the node
+is_switch (label) : says if the value with label=label is a switch
+get_switch (label) : retrieve the value where label=label Check if node contain the command class 0x84 (COMMAND_CLASS_WAKE_UP). Filter rules are : The battery level of this node.
+The command 0x80 (COMMAND_CLASS_BATTERY) of this node. The command 0x80 (COMMAND_CLASS_BATTERY) of this node.
+Retrieve the list of values to consider as batteries.
+Filter rules are : The power level of this node.
+The command 0x73 (COMMAND_CLASS_POWERLEVEL) of this node. The command 0x73 (COMMAND_CLASS_POWERLEVEL) of this node.
+Retrieve the list of values to consider as power_levels.
+Filter rules are : Represents an interface to switches and dimmers Commands The command 0x26 (COMMAND_CLASS_SWITCH_MULTILEVEL) of this node.
+Get the dimmer level (using value value_id). The command 0x26 (COMMAND_CLASS_SWITCH_MULTILEVEL) of this node.
+Retrieve the list of values to consider as dimmers.
+Filter rules are : The command 0x27 (COMMAND_CLASS_SWITCH_ALL) of this node.
+Return the current value (using value value_id) of a switch_all. The command 0x27 (COMMAND_CLASS_SWITCH_ALL) of this node.
+Return the all the possible values (using value value_id) of a switch_all. The command 0x27 (COMMAND_CLASS_SWITCH_ALL) of this node.
+Return the state (using value value_id) of a switch or a dimmer. The command 0x25 (COMMAND_CLASS_SWITCH_BINARY) of this node.
+Return the state (using value value_id) of a switch. The command 0x25 (COMMAND_CLASS_SWITCH_BINARY) of this node.
+Retrieve the list of values to consider as switches.
+Filter rules are : The command 0x27 (COMMAND_CLASS_SWITCH_ALL) of this node.
+Retrieve the list of values to consider as switches_all.
+Filter rules are : The command 0x26 (COMMAND_CLASS_SWITCH_MULTILEVEL) of this node.
+Set switch to value (using value value_id). The command 0x25 (COMMAND_CLASS_SWITCH_BINARY) of this node.
+Set switch to value (using value value_id). The command 0x27 (COMMAND_CLASS_SWITCH_ALL) of this node.
+Set switches_all to value (using value value_id). Represents an interface to Sensor Commands The command 0x30 (COMMAND_CLASS_SENSOR_BINARY) of this node.
+The command 0x31 (COMMAND_CLASS_SENSOR_MULTILEVEL) of this node.
+The command 0x32 (COMMAND_CLASS_METER) of this node. The command 0x30 (COMMAND_CLASS_SENSOR_BINARY) of this node.
+The command 0x31 (COMMAND_CLASS_SENSOR_MULTILEVEL) of this node.
+The command 0x32 (COMMAND_CLASS_METER) of this node.
+Retrieve the list of values to consider as sensors.
+Filter rules are : License : GPL(v3) python-openzwave is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version. python-openzwave is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+You should have received a copy of the GNU General Public License
+along with python-openzwave. If not, see http://www.gnu.org/licenses. The controller manager. Allows to retrieve informations about the library, statistics, ...
+Also used to send commands to the controller Commands : Driver::ControllerCommand_AddController : Add a new secondary controller to the Z-Wave network. Driver::ControllerCommand_AddDevice : Add a new device (but not a controller) to the Z-Wave network. Driver::ControllerCommand_CreateNewPrimary : (Not yet implemented) Driver::ControllerCommand_ReceiveConfiguration : Driver::ControllerCommand_RemoveController : remove a controller from the Z-Wave network. Driver::ControllerCommand_RemoveDevice : remove a device (but not a controller) from the Z-Wave network. have failed or have been disabled since the command will fail if it responds. A node must be in the controller’s failed nodes list
+or ControllerCommand_ReplaceFailedNode to work. Driver::ControllerCommand_HasNodeFailed : Check whether a node is in the controller’s failed nodes list. the controller’s failed nodes list, or the node responds, this command will fail. make it the primary. The existing primary will become a secondary controller. Driver::ControllerCommand_RequestNetworkUpdate : Update the controller with network information from the SUC/SIS. Driver::ControllerCommand_RequestNodeNeighborUpdate : Get a node to rebuild its neighbour list. This method also does ControllerCommand_RequestNodeNeighbors afterwards. Driver::ControllerCommand_AssignReturnRoute : Assign a network return route to a device. Driver::ControllerCommand_DeleteAllReturnRoutes : Delete all network return routes from a device. Driver::ControllerCommand_CreateButton : Create a handheld button id. Driver::ControllerCommand_DeleteButton : Delete a handheld button id. Callbacks : to the user at this point, telling them what to do next.
+For the add, remove, replace and transfer primary role commands, the user needs to be told to press the
+inclusion button on the device that is going to be added or removed. For ControllerCommand_ReceiveConfiguration,
+they must set their other controller to send its data, and for ControllerCommand_CreateNewPrimary, set the other
+controller to learn new data. Driver::ControllerState_InProgress : the controller is in the process of adding or removing the chosen node. It is now too late to cancel the command. Driver::ControllerState_Complete : the controller has finished adding or removing the node, and the command is complete. Driver::ControllerState_Failed : will be sent if the command fails for any reason. Add a new device to the Z-Wave network. Assign a network return route from a node to another one. True if the command was accepted and has started. bool Create a handheld button id True if the command was accepted and has started. bool Add a new controller to the Z-Wave network. Used when old primary fails. Requires SUC. Delete all network return routes from a device. Delete a handheld button id. True if the command was accepted and has started. bool Check whether a node is in the controller’s failed nodes list. Remove a device from the Z-Wave network. Move a node to the controller’s list of failed nodes. The node must
+actually have failed or have been disabled since the command
+will fail if it responds. A node must be in the controller’s
+failed nodes list for ControllerCommand_ReplaceFailedNode to work. Replace a failed device with another. If the node is not in
+the controller’s failed nodes list, or the node responds, this command will fail. Send information from primary to secondary. Update the controller with network information from the SUC/SIS. Get a node to rebuild its neighbors list.
+This method also does ControllerCommand_RequestNodeNeighbors afterwards. Send a node information frame. Make a different controller the primary.
+The existing primary will become a secondary controller. Cancels any in-progress command running on a controller. The capabilities of the controller. The device path. Retrieve label of the statistic from driver. Hard Reset a PC Z-Wave Controller.
+Resets a controller and erases its network configuration settings.
+The controller becomes a primary controller ready to add devices to a new network. This command fires a lot of louie signals.
+Louie’s clients must disconnect from nodes and values signals Is this controller using the bridge controller library. Is this node a primary controller of the network. Is this controller a static update controller (SUC). The library Config path. The description of the library. The name of the library. The library User path. The version of the library. The node name of the controller on the network. The node controller on the network. The node Id of the controller on the network. The starting options of the manager. The version of the openzwave library. The version of the python library. Get count of messages in the outgoing send queue. Soft Reset a PC Z-Wave Controller.
+Resets a controller without erasing its network configuration settings. Retrieve statistics from driver. Statistics: The Callback Handler used when sendig commands to the controller.
+Dispatch a louie message. To do : add node in signal when necessary This file is part of python-openzwave project https://github.com/bibi21000/python-openzwave.Navigation
How to develop for python-openzwave
make develop
+
sudo make develop
How to develop for libopenzwave (was python-openzwave-lib)¶
+sudo make develop
+
Documentation¶
@@ -90,35 +108,6 @@ Static vs dynamic (or shared)
-
Migrate from py-openzwave to python-openzwave¶
-find /usr -iname openzwave.so
-
sudo rm /usr/local/lib/python2.7/dist-package/openzwave.so
-
-
-"import openzwave" to "import libopenzwave" "from openzwave" to "from libopenzwave"
-
# 'value' : value.c_str(),
-
-'value' : getValueFromType(manager,v.GetId?()),
-
Table Of Contents
@@ -169,11 +159,11 @@ Navigation
Navigation
Install the needed tools
Get archive of python-openzwave¶
https://github.com/bibi21000/python-openzwave/downloads/list
+
http://bibi21000.no-ip.biz/python-openzwave/
Navigation
Build openzwave and python-openzwave
python setup-lib.py build
python setup-api.py build
+python setup-manager.py build
Build openzwave and python-openzwave¶
sudo python setup-lib.py install
sudo python setup-api.py install
+sudo python setup-manager.py install
Navigation
Navigation
python-openzwave
+
Migrating from python-openzwave 0.2.X to 0.3.0¶
+sudo make uninstall
+
+
+
+
+
+Testing python-openzwave¶
+sudo make tests
+
To do¶
Navigation
Navigation
Navigation
api package¶
-Submodules¶
-api.command module¶
-api.controller module¶
-api.group module¶
-api.network module¶
-api.node module¶
-api.object module¶
-
-
-
-
-
-platform: Unix, Windows, MacOS X
-
-
-sinopsis: openzwave API
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Parameters: prop (lambda) – The property to cache
-
-
-
-
-
-
-
-Return type: int
-
-
-
-
-
-
-Parameters: prop (lambda) – The property to check
-
-
-Return type: bool
-
-
-
-
-
-
-
-Return type: time
-
-
-
-
-
-
-
-Return type: ZWaveNetwork
-
-
-
-
-
-
-
-Return type: int
-
-
-
-
-
-
-
-Parameters: prop (lambda) – The property to outdate
-
-
-
-
-
-
-
-Return type: int
-
-
-
-
-
-
-
-Parameters: prop (lambda) – The property to update
-
-
-
-
-
-
-
-Return type: bool
-
-
-
-api.option module¶
-api.scene module¶
-api.value module¶
-Module contents¶
-Navigation
Command documentation
+
+
+
+
+
+platform: Unix, Windows, MacOS X
+
+
+sinopsis: openzwave wrapper
+
+
+
+if self.handle_command_class(class_id):
+ ret=command_Class(...)
+
COMMAND_CLASS_SWITCH_ALL : {
+ 72057594101481476L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': 'On and Off Enabled',
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Switch All',
+ 'readonly': False,
+ 'data_str': 'On and Off Enabled',
+ 'type': 'List'}
+}
+COMMAND_CLASS_SWITCH_BINARY : {
+ 72057594093060096L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': False,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Switch',
+ 'readonly': False,
+ 'data_str': False,
+ 'type': 'Bool'}
+}
+COMMAND_CLASS_METER : {
+ 72057594093273600L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': False,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Exporting',
+ 'readonly': True,
+ 'data_str': False,
+ 'type': 'Bool'},
+ 72057594101662232L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': 'False',
+ 'min': 0L,
+ 'writeonly': True,
+ 'label': 'Reset',
+ 'readonly': False,
+ 'data_str': 'False',
+ 'type': 'Button'},
+ 72057594093273090L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': 'kWh',
+ 'data': 0.0,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Energy',
+ 'readonly': True,
+ 'data_str': 0.0,
+ 'type': 'Decimal'},
+ 72057594093273218L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': 'W',
+ 'data': 0.0,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Power',
+ 'readonly': True,
+ 'data_str': 0.0,
+ 'type': 'Decimal'}
+}
+
COMMAND_CLASS_SWITCH_MULTILEVEL : {
+ 72057594109853736L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': 'False',
+ 'min': 0L,
+ 'writeonly': True,
+ 'label': 'Dim',
+ 'readonly': False,
+ 'data_str': 'False',
+ 'type': 'Button'},
+ 72057594109853697L: {
+ 'help': '',
+ 'max': 255L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': 69,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Level',
+ 'readonly': False,
+ 'data_str': 69,
+ 'type': 'Byte'},
+ 72057594118242369L: {
+ 'help': '',
+ 'max': 255L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': 0,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Start Level',
+ 'readonly': False,
+ 'data_str': 0,
+ 'type': 'Byte'},
+ 72057594109853720L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': 'False',
+ 'min': 0L,
+ 'writeonly': True,
+ 'label': 'Bright',
+ 'readonly': False,
+ 'data_str': 'False',
+ 'type': 'Button'},
+ 72057594118242352L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': False,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Ignore Start Level',
+ 'readonly': False,
+ 'data_str': False,
+ 'type': 'Bool'}
+}
+
+
+
+
+
+
+
+
+
+
+Returns: True if the node can wake up
+
+
+Return type: bool
+
+
+
+
+
+
+Parameters: value_id (int) – The value to retrieve state. If None, retrieve the first value
+
+Returns: The level of this battery
+
+
+Return type: int
+
+
+
+
+
+
+
+
+Returns: The list of switches on this node
+
+
+Return type: dict()
+
+
+
+
+
+
+Parameters: value_id (int) – The value to retrieve state. If None, retrieve the first value
+
+Returns: The level of this battery
+
+
+Return type: int
+
+
+
+
+
+
+
+
+Returns: The list of switches on this node
+
+
+Return type: dict()
+
+
+
+
+
+
+
+
+
+Parameters: value_id (int) – The value to retrieve level
+
+Returns: The level : a value between 0-99
+
+
+Return type: int
+
+
+
+
+
+
+
+
+Returns: The list of dimmers on this node
+
+
+Return type: dict()
+
+
+
+
+
+
+Parameters: value_id (int) – The value to retrieve switch_all value
+
+Returns: The value of the value
+
+
+Return type: str
+
+
+
+
+
+
+Parameters: value_id (int) – The value to retrieve items list
+
+Returns: The value of the value
+
+
+Return type: set()
+
+
+
+
+
+
+Parameters: value_id (int) – The value to retrieve state
+
+Returns: The state of the value
+
+
+Return type: bool
+
+
+
+
+
+
+Parameters: value_id (int) – The value to retrieve state
+
+Returns: The state of the value
+
+
+Return type: bool
+
+
+
+
+
+
+
+
+Returns: The list of switches on this node
+
+
+Return type: dict()
+
+
+
+
+
+
+
+
+Returns: The list of switches on this node
+
+
+Return type: dict()
+
+
+
+
+
+
+
+Parameters:
+
+
+
+
+
+
+
+
+
+Parameters:
+
+
+
+
+
+
+
+
+
+Parameters:
+
+
+
+
+
@@ -112,12 +733,12 @@
+
+
+
+
+
+Parameters: value_id (int) – The value to retrieve value
+
+Returns: The state of the sensors
+
+
+Return type: variable
+
+
+
+
+
+
+
+
+Parameters: type (‘All’ or PyValueTypes) – the type of value
+
+Returns: The list of switches on this node
+
+
+Return type: dict()
+Navigation
Navigation
Controller documentation
+
+
+
+
+
+platform: Unix, Windows, MacOS X
+
+
+sinopsis: openzwave API
+
+
+
@@ -113,12 +897,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Parameters: high_power (bool) – Used only with the AddDevice, AddController, RemoveDevice and RemoveController commands.
+Usually when adding or removing devices, the controller operates at low power so that the controller must
+be physically close to the device for security reasons. If _highPower is true, the controller will
+operate at normal power levels instead. Defaults to false.
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+Parameters:
+
+
+
+Returns:
+
+
+Return type:
+
+
+
+
+
+
+
+Parameters:
+
+
+
+Returns:
+
+
+Return type:
+
+
+
+
+
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+Parameters: node_id (int) – Used only with the ReplaceFailedNode command, to specify the node that is going to be replaced.
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+
+Parameters:
+
+
+
+Returns:
+
+
+Return type:
+
+
+
+
+
+
+Parameters: node_id (int) – Used only with the ReplaceFailedNode command, to specify the node that is going to be replaced.
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+
+
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+Parameters: high_power (bool) – Used only with the AddDevice, AddController, RemoveDevice and RemoveController commands.
+Usually when adding or removing devices, the controller operates at low power so that the controller must
+be physically close to the device for security reasons. If _highPower is true, the controller will
+operate at normal power levels instead. Defaults to false.
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+Parameters: node_id (int) – Used only with the ReplaceFailedNode command, to specify the node that is going to be replaced.
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+Parameters: node_id (int) – Used only with the ReplaceFailedNode command, to specify the node that is going to be replaced.
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+Parameters: high_power (bool) – Usually when adding or removing devices, the controller operates at low power so that the controller must
+be physically close to the device for security reasons. If _highPower is true, the controller will
+operate at normal power levels instead. Defaults to false.
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+Parameters: node_id (int) – Used only with the ReplaceFailedNode command, to specify the node that is going to be replaced.
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+Parameters: node_id (int) – Used only with the ReplaceFailedNode command, to specify the node that is going to be replaced.
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+Parameters: high_power (bool) – Used only with the AddDevice, AddController, RemoveDevice and RemoveController commands.
+Usually when adding or removing devices, the controller operates at low power so that the controller must
+be physically close to the device for security reasons. If _highPower is true, the controller will
+operate at normal power levels instead. Defaults to false.
+
+Returns: True if the command was accepted and has started.
+
+
+Return type: bool
+
+
+
+
+
+
+
+
+
+Returns: The capabilities of the controller
+
+
+Return type: set
+
+
+
+
+
+
+Returns: The device (ie /dev/zwave)
+
+
+Return type: str
+
+
+
+
+
+
+Parameters: stat – The code of the stat label to retrieve.
+
+Returns: The label or the stat.
+
+
+Return type: str
+
+
+
+dispatcher.send(self._network.SIGNAL_NETWORK_RESETTED, **{'network': self._network})
+
+
+
+
+
+
+
+Return type: bool
+
+
+
+
+
+
+
+Return type: bool
+
+
+
+
+
+
+
+Return type: bool
+
+
+
+
+
+
+Returns: The library config directory
+
+
+Return type: str
+
+
+
+
+
+
+Returns: The library description (name and version)
+
+
+Return type: str
+
+
+
+
+
+
+Returns: The cpp library name
+
+
+Return type: str
+
+
+
+
+
+
+Returns: The user directory to store user configuration
+
+
+Return type: str
+
+
+
+
+
+
+Returns: The cpp library version
+
+
+Return type: str
+
+
+
+
+
+
+Returns: The node’s name of the controller on the network
+
+
+Return type: str
+
+
+
+
+
+
+Returns: The node controller on the network
+
+
+Return type: ZWaveNode
+
+
+
+
+
+
+Returns: The node id of the controller on the network
+
+
+Return type: int
+
+
+
+
+
+
+Returns: The options used to start the manager
+
+
+Return type: ZWaveOption
+
+
+
+
+
+
+Returns: The openzwave library version
+
+
+Return type: str
+
+
+
+
+
+
+Returns: The python library version
+
+
+Return type: str
+
+
+
+
+
+
+Returns: Thr count of messages in the outgoing send queue.
+
+
+Return type: int
+
+
+
+
+
+
+
+
+
+
+
+
+
+Returns: Statistics of the controller
+
+
+Return type: dict()
+
+
+
+
+
+
+
+Parameters: args (dict()) – A dict containing informations about the state of the controller
+Navigation
Navigation
Data documentation
-
-
+
Data documentation
previous |
-
diff --git a/docs/_build/html/diagrams.html b/docs/_build/html/diagrams.html index b5440206..ef09269e 100644 --- a/docs/_build/html/diagrams.html +++ b/docs/_build/html/diagrams.html @@ -6,7 +6,7 @@
-
+
@@ -14,7 +14,7 @@ - +
diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html index 01979384..0f42292d 100644 --- a/docs/_build/html/genindex.html +++ b/docs/_build/html/genindex.html @@ -7,7 +7,7 @@
-
+
@@ -15,7 +15,7 @@ - +
diff --git a/docs/_build/html/group.html b/docs/_build/html/group.html index 9ded4e32..ea2c0694 100644 --- a/docs/_build/html/group.html +++ b/docs/_build/html/group.html @@ -6,7 +6,7 @@
-
+
@@ -14,7 +14,7 @@ - + @@ -44,7 +44,7 @@
-
+
@@ -61,6 +61,133 @@
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+The driver object. +Hold options of the manager +Also used to retrieve information about the library, ...
+Adds a node to an association group.
+Due to the possibility of a device being asleep, the command is assumed to +complete with success, and the association data held in this class is updated directly. This +will be reverted by a future Association message from the device if the Z-Wave +message actually failed to get through. Notification callbacks will be sent in +both cases.
+Parameters: | target_node_id (int) – Identifier for the node that will be added to the association group. | +
---|
The members of associations.
+Return type: | set() | +
---|
The index of the group.
+Return type: | int | +
---|
The label of the group.
+Return type: | int | +
---|
The number of associations.
+Return type: | int | +
---|
Removes a node from an association group.
+Due to the possibility of a device being asleep, the command is assumed to +succeed, and the association data held in this class is updated directly. This +will be reverted by a future Association message from the device if the Z-Wave +message actually failed to get through. Notification callbacks will be sent +in both cases.
+Parameters: | target_node_id (int) – Identifier for the node that will be removed from the association group. | +
---|
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+The network objet = homeid. +It contains a reference to the manager and the controller.
+It dispatch the following louie signals :
++++
+- SIGNAL_NETWORK_FAILED = ‘NetworkFailed’
+- SIGNAL_NETWORK_STARTED = ‘NetworkStarted’
+- SIGNAL_NETWORK_READY = ‘NetworkReady’
+- SIGNAL_NETWORK_STOPPED = ‘NetworkStopped’
+- SIGNAL_NETWORK_RESETTED = ‘DriverResetted’
+- SIGNAL_NETWORK_AWAKED = ‘DriverAwaked’
+- SIGNAL_DRIVER_FAILED = ‘DriverFailed’
+- SIGNAL_DRIVER_READY = ‘DriverReady’
+- SIGNAL_DRIVER_RESET = ‘DriverReset’
+- SIGNAL_DRIVER_REMOVED = ‘DriverRemoved’
+- SIGNAL_NODE_ADDED = ‘NodeAdded’
+- SIGNAL_NODE_EVENT = ‘NodeEvent’
+- SIGNAL_NODE_NAMING = ‘NodeNaming’
+- SIGNAL_NODE_NEW = ‘NodeNew’
+- SIGNAL_NODE_PROTOCOL_INFO = ‘NodeProtocolInfo’
+- SIGNAL_NODE_READY = ‘NodeReady’
+- SIGNAL_NODE_REMOVED = ‘NodeRemoved’
+- SIGNAL_SCENE_EVENT = ‘SceneEvent’
+- SIGNAL_VALUE_ADDED = ‘ValueAdded’
+- SIGNAL_VALUE_CHANGED = ‘ValueChanged’
+- SIGNAL_VALUE_REFRESHED = ‘ValueRefreshed’
+- SIGNAL_VALUE_REMOVED = ‘ValueRemoved’
+- SIGNAL_POLLING_ENABLED = ‘PollingEnabled’
+- SIGNAL_POLLING_DISABLED = ‘PollingDisabled’
+- SIGNAL_CREATE_BUTTON = ‘CreateButton’
+- SIGNAL_DELETE_BUTTON = ‘DeleteButton’
+- SIGNAL_BUTTON_ON = ‘ButtonOn’
+- SIGNAL_BUTTON_OFF = ‘ButtonOff’
+- SIGNAL_ESSENTIAL_NODE_QUERIES_COMPLETE = ‘EssentialNodeQueriesComplete’
+- SIGNAL_NODE_QUERIES_COMPLETE = ‘NodeQueriesComplete’
+- SIGNAL_AWAKE_NODES_QUERIED = ‘AwakeNodesQueried’
+- SIGNAL_ALL_NODES_QUERIED = ‘AllNodesQueried’
+- SIGNAL_MSG_COMPLETE = ‘MsgComplete’
+- SIGNAL_ERROR = ‘Error’
+
The table presented below sets notifications in the order they might typically be received, +and grouped into a few logically related categories. Of course, given the variety +of ZWave controllers, devices and network configurations the actual sequence will vary (somewhat). +The descriptions below the notification name (in square brackets) identify whether the +notification is always sent (unless there’s a significant error in the network or software) +or potentially sent during the execution sequence.
+Driver Initialization Notification
+The notification below is sent when OpenZWave has successfully connected +to a physical ZWave controller.
+[always sent] Sent when the driver (representing a connection between OpenZWave +and a Z-Wave controller attached to the specified serial (or HID) port) has been initialized. +At the time this notification is sent, only certain information about the controller itself is known:
++++
+- Controller Z-Wave version
+- Network HomeID
+- Controller capabilities
+- Controller Application Version & Manufacturer/Product ID
+- Nodes included in the network
+
[always sent (either due to Error or by request)] The Driver is being removed. +Do Not Call Any Driver Related Methods after receiving this
+Node Initialization Notifications
+As OpenZWave starts, it identifies and reads information about each node in the network. +The following notifications may be sent during the initialization process.
+[potentially sent] Sent when a new node has been identified as part of the Z-Wave network. +It is not sent if the node was identified in a prior execution of the OpenZWave library +and stored in the zwcfg*.xml file. +At the time this notification is sent, very little is known about the node itself... +only that it is new to OpenZWave. This message is sent once for each new node identified.
+[always sent (for each node associated with the controller)] +Sent when a node has been added to OpenZWave’s set of nodes. It can be +triggered either as the zwcfg*.xml file is being read, when a new node +is found on startup (see NodeNew notification above), or if a new node +is included in the network while OpenZWave is running. +As with NodeNew, very little is known about the node at the time the +notification is sent…just the fact that a new node has been identified +and its assigned NodeID.
+[potentially sent] Sent after a node’s protocol information has been +successfully read from the controller. +At the time this notification is sent, only certain information about the node is known:
++++
+- Whether it is a “listening” or “sleeping” device
+- Whether the node is capable of routing messages
+- Maximum baud rate for communication
+- Version number
+- Security byte
+
NodeNaming
+[potentially sent] Sent when a node’s name has been set or changed +(although it may be “set” to “” or NULL).
+[potentially sent] Sent when a new value has been associated with the node. +At the time this notification is sent, the new value may or may not +have “live” data associated with it. It may be populated, but it may +alternatively just be a placeholder for a value that has not been read +at the time the notification is sent.
+[always sent (for each node associated with the controller that has been successfully queried)] Sent when a node’s values and attributes have been fully queried. At the time this notification is sent, the node’s information has been fully read at least once. So this notification might trigger “full” display of the node’s information, values, etc. If this notification is not sent, it indicates that there has been a problem initializing the device. The most common issue is that the node is a “sleeping” device. The NodeQueriesComplete notification will be sent when the node wakes up and the query process completes.
+Initialization Complete Notifications
+As indicated above, when OpenZWave starts it reads certain information +from a file, from the controller and from the network. The following +notifications identify when this initialization/querying process is complete.
+[always sent] Sent when all “listening” -always-on-devices have been +queried successfully. It also indicates, by implication, that there +are some “sleeping” nodes that will not complete their queries until +they wake up. This notification should be sent relatively quickly +after start-up. (Of course, it depends on the number of devices on +the ZWave network and whether there are any messages that “time out” +without a proper response.)
+[potentially sent] Sent when all nodes have been successfully queried.
+This notification should be sent relatively quickly if there are +no “sleeping” nodes. But it might be sent quite a while after start-up +if there are sleeping nodes and at least one of these nodes has a long “wake-up” interval.
+Other Notifications
+In addition to the notifications described above, which are primarily +“initialization” notifications that are sent during program start-up, +the following notifications may be sent as a result of user actions, +external program control, etc.
+About the use of louie signals : +For network, python-openzwave send the following louie signal :
+++SIGNAL_NETWORK_FAILED : the driver has failed to start. +SIGNAL_NETWORK_STARTED : the driver is ready, but network is not available. +SIGNAL_NETWORK_AWAKED : all awake nodes are queried. Some sleeping nodes may be missing. +SIGNAL_NETWORK_READY : all nodes are queried. Network is fully functionnal. +SIGNAL_NETWORK_RESETTED : the network has been resetted. It will start again. +SIGNAL_NETWORK_STOPPED : the network has been stopped.
Deprecated : SIGNAL_DRIVER_* shouldn’t be used anymore.
+The controller of the network.
+Returns: | The controller of the network | +
---|---|
Return type: | ZWaveController | +
Create a new scene on the network. +If label is set, also change the label of the scene
+If you store your scenes on a local variable, get a new one +to get the scene id
+Parameters: | label (str or None) – The new label | +
---|---|
Returns: | return the id of scene on the network. Return 0 if fails | +
Return type: | int | +
Get the time period between polls of a nodes state
+Returns: | The number of milliseconds between polls | +
---|---|
Return type: | int | +
The scenes of the network.
+Scenes are generated directly from the lib. There is no notification +support to keep them up to date. So for a batch job, consider +storing them in a local variable.
+Returns: | return a dict() (that can be empty) of scene object. Return None if betwork is not ready | +
---|---|
Return type: | dict() or None | +
Retrieve a value on the network.
+Check every nodes to see if it holds the value
+Parameters: | value_id (int) – The id of the value to find | +
---|---|
Returns: | The value or None | +
Return type: | ZWaveValue | +
Retrieve a value on the network from it’s id_on_network.
+Check every nodes to see if it holds the value
+Parameters: | id_on_network (str) – The id_on_network of the value to find | +
---|---|
Returns: | The value or None | +
Return type: | ZWaveValue | +
Heal network by requesting nodes rediscover their neighbors. +Sends a ControllerCommand_RequestNodeNeighborUpdate to every node. +Can take a while on larger networks.
+Parameters: | upNodeRoute (bool) – Optional Whether to perform return routes initialization. (default = false). | +
---|---|
Returns: | True is the ControllerCommand ins sent. False otherwise | +
Return type: | bool | +
The home_id of the network.
+Return type: | int | +
---|
The home_id of the network as string.
+Return type: | str | +
---|
The separator in id representation.
+Return type: | char | +
---|
Says if the network is ready for operations.
+Return type: | bool | +
---|
The manager to use to communicate with the lib c++.
+Return type: | ZWaveManager | +
---|
The nodes of the network.
+Return type: | dict() | +
---|
The nodes count of the network.
+Return type: | int | +
---|
Delete the scene on the network.
+Parameters: | scene_id (int) – The id of the scene to check | +
---|---|
Returns: | True if the scene was removed. False in other cases | +
Return type: | bool | +
Check that the scene exists
+Parameters: | scene_id (int) – The id of the scene to check | +
---|---|
Returns: | True if the scene exist. False in other cases | +
Return type: | bool | +
Return the number of scenes
+Returns: | The number of scenes | +
---|---|
Return type: | int | +
Set the time period between polls of a nodes state.
+Due to patent concerns, some devices do not report state changes automatically +to the controller. These devices need to have their state polled at regular +intervals. The length of the interval is the same for all devices. To even +out the Z-Wave network traffic generated by polling, OpenZWave divides the +polling interval by the number of devices that have polling enabled, and polls +each in turn. It is recommended that if possible, the interval should not be +set shorter than the number of polled devices in seconds (so that the network +does not have to cope with more than one poll per second).
+Parameters: |
|
+
---|
The count of sleeping nodes on the network.
+Return type: | int | +
---|
The state of the network. Values may be changed in the future, +only order is important. +You can safely ask node information when state >= STATE_READY
+Return type: | int | +
---|
The state of the network. Values may be changed in the future, +only order is important. +You can safely ask node informations when state >= STATE_AWAKED
+Return type: | int | +
---|
Stop the network object.
++++
+- remove the watcher
+- remove the driver
+- clear the nodes
+
dispatcher.send(self.SIGNAL_NETWORK_STOPPED, **{'network': self})
+
Method for switching all devices on or off together. The devices must support +the SwitchAll command class. The command is first broadcast to all nodes, and +then followed up with individual commands to each node (because broadcasts are +not routed, the message might not otherwise reach all the nodes).
+Parameters: | state (bool) – True to turn on the switches, False to turn them off | +
---|
Send a number of test messages to every node and record results.
+Parameters: | count (int) – The number of test messages to send. | +
---|
The last message that was sent is now complete.
+The Callback Handler used with the libopenzwave.
+n[‘valueId’] = {
++++
+- ‘home_id’ : v.GetHomeId(),
+- ‘node_id’ : v.GetNodeId(),
+- ‘commandClass’ : PyManager.COMMAND_CLASS_DESC[v.GetCommandClassId()],
+- ‘instance’ : v.GetInstance(),
+- ‘index’ : v.GetIndex(),
+- ‘id’ : v.GetId(),
+- ‘genre’ : PyGenres[v.GetGenre()],
+- ‘type’ : PyValueTypes[v.GetType()],
+- #’value’ : value.c_str(),
+- ‘value’ : getValueFromType(manager,v.GetId()),
+- ‘label’ : label.c_str(),
+- ‘units’ : units.c_str(),
+- ‘readOnly’: manager.IsValueReadOnly(v)
+
}
+Parameters: | args (dict()) – A dict containing informations about the state of the controller | +
---|
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+Represents a single Node within the Z-Wave Network.
+Add a value to the node
+Parameters: |
|
+
---|---|
Return type: | bool + |
+
The basic type of the node.
+Return type: | int | +
---|
The capabilities of the node.
+Return type: | set() | +
---|
Change a value of the node. +Not implemented
+Parameters: | value_id (int) – The id of the value to change | +
---|
The commandClasses of the node.
+Return type: | set() | +
---|
Return the command classes of the node as string.
+Return type: | set() | +
---|
The generic type of the node.
+Return type: | int | +
---|
Is this node a awake.
+Return type: | string | +
---|
Return the command class representation as string.
+Parameters: | class_id (hexadecimal code) – the COMMAND_CLASS to get string representation | +
---|---|
Return type: | str | +
Return the list of genres of command classes
+Return type: | set() | +
---|
Retrieve the set of values. You can optionnaly filter for a command class, +a genre and/or a type. You can also filter readonly and writeonly params.
+This method always filter the values. +If you wan’t to get all the node’s values, use self.values instead.
+Parameters: |
|
+
---|---|
Return type: | set() of Values + |
+
Retrieve values in a dict() of dicts(). The dict is indexed on the COMMAND_CLASS. +This allows to browse values grouped by the COMMAND_CLASS.You can optionnaly filter for a command class, +a genre and/or a type. You can also filter readonly and writeonly params.
+This method always filter the values. +If you wan’t to get all the node’s values, use the property self.values instead.
+Parameters: |
|
+
---|---|
Return type: | dict(command_class : dict(valueids)) + |
+
Retrieve the set of values for a command class. +Deprecated +For backward compatibility only. +Use get_values instead
+Parameters: | class_id (hexadecimal code or string) – the COMMAND_CLASS to get values | +
---|---|
Return type: | set() of classId | +
Get the association groups reported by this node
+In Z-Wave, groups are numbered starting from one. For example, if a call to +GetNumGroups returns 4, the _groupIdx value to use in calls to GetAssociations +AddAssociation and RemoveAssociation will be a number between 1 and 4.
+Return type: | dict() | +
---|
Check that this node use this commandClass.
+Parameters: | classId (hexadecimal code) – the COMMAND_CLASS to check | +
---|---|
Return type: | bool | +
Heal network node by requesting the node rediscover their neighbors. +Sends a ControllerCommand_RequestNodeNeighborUpdate to the node.
+Parameters: | upNodeRoute (bool) – Optional Whether to perform return routes initialization. (default = false). | +
---|---|
Returns: | True is the ControllerCommand ins sent. False otherwise | +
Return type: | bool | +
Is this node a awake.
+Return type: | bool | +
---|
Is this node is presume failed.
+Return type: | bool | +
---|
Get whether the node information has been received. Returns True if the node information has been received yet
+Return type: | bool | +
---|
Get whether the node is ready to operate (QueryStage Completed).
+Return type: | bool | +
---|
Is this node a beaming device.
+Return type: | bool | +
---|
Is this node a frequent listening device.
+Return type: | bool | +
---|
Is this node a listening device.
+Return type: | bool | +
---|
Is this node locked.
+Return type: | bool | +
---|
Is this node a routing device.
+Return type: | bool | +
---|
Is this node a security device.
+Return type: | bool | +
---|
Is this node sleeping.
+Return type: | bool | +
---|
The location of the node.
+Return type: | str | +
---|
The manufacturer id of the node.
+Return type: | str | +
---|
The manufacturer name of the node.
+Return type: | str | +
---|
Get the maximum baud rate of a node
+The name of the node.
+Return type: | str | +
---|
The neighbors of the node.
+Return type: | set() | +
---|
The id of the node.
+Return type: | int | +
---|
Gets the number of association groups reported by this node.
+Return type: | int | +
---|
The product Id of the node.
+Return type: | str | +
---|
The product name of the node.
+Return type: | str | +
---|
The product type of the node.
+Return type: | str | +
---|
Trigger the fetching of fixed data about a node.
+Causes the nodes data to be obtained from the Z-Wave network in the same way +as if it had just been added. This method would normally be called +automatically by OpenZWave, but if you know that a node has been changed, +calling this method will force a refresh of the data held by the library. This +can be especially useful for devices that were asleep when the application was +first run.
+Return type: | bool | +
---|
Refresh a value of the node. +Not implemented
+Parameters: | value_id (int) – The id of the value to change | +
---|
Change a value of the node. Todo
+Parameters: | value_id (int) – The id of the value to change | +
---|---|
Returns: | The result of the operation | +
Return type: | bool | +
Request the values of all known configurable parameters from a device.
+Request the value of a configurable parameter from a device.
+Some devices have various parameters that can be configured to control the +device behaviour. These are not reported by the device over the Z-Wave network +but can usually be found in the devices user manual. This method requests +the value of a parameter from the device, and then returns immediately, +without waiting for a response. If the parameter index is valid for this +device, and the device is awake, the value will eventually be reported via a +ValueChanged notification callback. The ValueID reported in the callback will +have an index set the same as _param and a command class set to the same value +as returned by a call to Configuration::StaticGetCommandClassId.
+Parameters: | param – The param of the node. | +
---|
The security type of the node.
+Returns: | The security type of the node | +
---|---|
Return type: | int | +
Set the value of a configurable parameter in a device.
+Some devices have various parameters that can be configured to control the +device behaviour. These are not reported by the device over the Z-Wave network +but can usually be found in the devices user manual. This method returns +immediately, without waiting for confirmation from the device that the change +has been made.
+Parameters: |
|
+
---|---|
Returns: | + | +
Return type: | bool + |
+
A helper to set a writable field : name, location, product_name, ...
+Parameters: |
|
+
---|---|
Return type: | bool + |
+
The specific type of the node.
+Returns: | The specific type of the node | +
---|---|
Return type: | int | +
Send a number of test messages to node and record results.
+Parameters: | count (int) – The number of test messages to send. | +
---|
Get a human-readable label describing the node +:rtype: str
+The version of the node.
+Returns: | The version of the node | +
---|---|
Return type: | int | +
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+Represents a Zwave object. Values, nodes, ... can be changer by +other managers on the network.
+Add this property to the cache manager.
+Parameters: | prop (lambda) – The property to cache | +
---|
The home_id of the node.
+Return type: | int | +
---|
Check if property information is outdated.
+Parameters: | prop (lambda) – The property to check | +
---|---|
Return type: | bool | +
The last update date of the device.
+Return type: | time | +
---|
The network of the node.
+Return type: | ZWaveNetwork | +
---|
The id of the object. +object_id could be None, when creating a scene for example.
+Return type: | int | +
---|
Says that the property information is outdated.
+Parameters: | prop (lambda) – The property to outdate | +
---|
Are the information of this object outdated.
+How to manage the cache ?
+2 ways of doing it : +- refresh information when setting the property +- refresh information when getting getting property. +Maybe whe could implement the 2 methods.
+Return type: | int | +
---|
Says that the property are updated.
+Parameters: | prop (lambda) – The property to update | +
---|
Should this object use cache from property
+Return type: | bool | +
---|
Represents an interface of a node. An interface can manage +specific commandClasses (ie a switch, a dimmer, a thermostat, ...). +Don’t know what to do with it now but sure it must exist
+Exception class for OpenZWave
+Exception class for OpenZWave
+Exception class for OpenZWave
+Exception class for OpenZWave
+A Null Logging Handler
+platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+Represents a Zwave option used to start the manager.
+The config path.
+Return type: | str | +
---|
The device used by the controller.
+Return type: | str | +
---|
Append new session logs to existing log file (false = overwrite).
+Parameters: | status (bool) – | +
---|
Enable automatic association of the controller with group one of every device.
+Parameters: | status (bool) – True to enable logs, False to disable | +
---|
Display log information on console (as well as save to disk).
+Parameters: | status (bool) – | +
---|
Set the driver max attempts before raising an error.
+Parameters: | attempts (int) – Number of attempts | +
---|
Default is to never dump RAM-stored log messages.
+Parameters: | level – | +
---|
Remove support for the seted command classes.
+Parameters: | commandClass (str) – The command class to exclude | +
---|
Only handle the specified command classes. The Exclude option is ignored if anything is seted here.
+Parameters: | commandClass (str) – The location of the log file | +
---|
Identify the serial port to be accessed (TODO: change the code so more than one serial port can be specified and HID).
+Parameters: | port (str) – The serial port | +
---|
Notifications when transaction complete is reported.
+Parameters: | status (bool) – if false, try to execute the entire poll set within the PollInterval time frame. If true, wait for PollInterval milliseconds between polls | +
---|
Set the log file location.
+Parameters: | logfile (str) – The location of the log file | +
---|
Set the status of logging.
+Parameters: | status (bool) – True to activate logs, False to disable | +
---|
Notifications when transaction complete is reported.
+Parameters: | status (bool) – True to enable, False to disable | +
---|
30 seconds (can easily poll 30 values in this time; ~120 values is the effective limit for 30 seconds).
+Parameters: | interval (int) – interval in seconds | +
---|
Save (in RAM) log messages equal to or above LogLevel_Debug.
+Parameters: | level – | +
---|
Save the XML configuration upon driver close.
+Parameters: | status (bool) – True to enable, False to disable | +
---|
Save (to file) log messages equal to or above LogLevel_Detail.
+Parameters: | level – | +
---|
if true, notifications for refreshed (but unchanged) values will not be sent.
+Parameters: | status (bool) – True to enable, False to disable | +
---|
The config path.
+Return type: | str | +
---|
- a | |||
- | - api | - | |
- | - api.object | - | |
l | |||
+ id="toggle-1" style="display: none" alt="-" /> | openzwave | ||
+ | + openzwave.command | + | |
+ | + openzwave.controller | + | |
+ | + openzwave.group | + | |
+ | + openzwave.network | + | |
+ | + openzwave.node | + | |
+ | + openzwave.object | + | |
+ | + openzwave.option | + | |
+ | + openzwave.scene | + | |
- openzwave.object | + openzwave.value |
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+Represents a single scene within the Z-Wave Network
+Activate the zwave scene.
+Returns: | True if the scene is activated. False otherwise. | +
---|---|
Return type: | bool | +
Add a value with data value_data to the zwave scene.
+Parameters: |
|
+
---|
Create a new zwave scene on the network and update the object_id field +If label is set, also change the label of the scene
+Parameters: | label (str or None) – The new label | +
---|---|
Returns: | return the id of scene on the network. Return 0 if fails | +
Return type: | int | +
Get all the values of the scene
+Returns: | A dict of values : {value_id={‘value’=ZWaveValue, ‘data’=data}, ...}. | +
---|---|
Return type: | dict() | +
Get all the values of the scene grouped by nodes
+Returns: | A dict of values : {node_id={value_id={‘value’=ZWaveValue, ‘data’=data}, ...},...}. | +
---|---|
Return type: | dict() | +
The label of the scene.
+Return type: | str | +
---|
Remove a value from the scene.
+Parameters: | value_id (int) – The id of the value to change | +
---|---|
Returns: | True if the scene is removed. False otherwise. | +
Return type: | bool | +
The id of the scene.
+Return type: | int | +
---|
Set a value data to value_data in the zwave scene.
+Parameters: |
|
+
---|
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+Represents a single value.
+Check that data is correct for this value. +Return the data in a correct type. None is data is incorrect.
+Parameters: | data (lambda) – The data value to check | +
---|---|
Returns: | A variable of the good type if the data is correct. None otherwise. | +
Return type: | variable | +
The command class of the value.
+Returns: | The command class of this value | +
---|---|
Return type: | int | +
Get the current data of the value.
+Returns: | The data of the value | +
---|---|
Return type: | depending of the type of the value | +
Get the value data as String.
+Return type: | str | +
---|
When type of value is list, data_items contains a list of valid values
+Returns: | The valid values or a help string | +
---|---|
Return type: | string or set | +
Disable poll off this value.
+Returns: | True if polling was disabled. | +
---|---|
Return type: | bool | +
Enable the polling of a device’s state.
+Parameters: | intensity (int) – The intensity of the poll | +
---|---|
Returns: | True if polling was enabled. | +
Return type: | bool | +
Get the genre of the value. The genre classifies a value to enable +low-level system or configuration parameters to be filtered out +by the application
+Returns: | genre of the value (Basic, User, Config, System) | +
---|---|
Return type: | str | +
Gets a help string describing the value’s purpose and usage.
+Return type: | str | +
---|
Get an unique id for this value.
+The scenes use this to retrieve values
+<Scene id="1" label="scene1">
+ <Value homeId="0x014d0ef5" nodeId="2" genre="user" commandClassId="38" instance="1" index="0" type="byte">54</Value>
+</Scene>
+
The format is :
+++home_id.node_id.command_class.instance.index
Get the value index. The index is used to identify one of multiple +values created and managed by a command class. In the case of configurable +parameters (handled by the configuration command class), the index is the +same as the parameter ID.
+Returns: | index of the value | +
---|---|
Return type: | int | +
Get the command class instance of this value. It is possible for there to be +multiple instances of a command class, although currently it appears that +only the SensorMultilevel command class ever does this.
+Returns: | instance of the value | +
---|---|
Return type: | int | +
determine if value changes upon a refresh should be verified. +If so, the library will immediately refresh the value a second time whenever a change is observed. +This helps to filter out spurious data reported occasionally by some devices.
+Verify that the value is polled.
+Return type: | bool | +
---|
Test whether the value is read-only.
+Returns: | True if the value cannot be changed by the user. | +
---|---|
Return type: | bool | +
Test whether the value has been set.
+Returns: | True if the value has actually been set by a status message +from the device, rather than simply being the default. | +
---|---|
Return type: | bool | +
Test whether the value is write-only.
+Returns: | True if the value can only be written to and not read. | +
---|---|
Return type: | bool | +
Get the label of the value.
+Return type: | str | +
---|
Gets the maximum that this value may contain.
+Return type: | int | +
---|
Gets the minimum that this value may contain.
+Return type: | int | +
---|
The value_id of the value.
+Get the parent_id of the value.
+The poll intensity of the value.
+Returns: | 0=none, 1=every time through the list, 2-every other time, etc | +
---|---|
Return type: | int | +
Gets a float value’s precision.
+Returns: | a float value’s precision | +
---|---|
Return type: | int | +
Refresh the value.
+Returns: | True if the command was transmitted to controller | +
---|---|
Return type: | bool | +
Sets a flag indicating whether value changes noted upon a refresh should be verified.
+If so, the library will immediately refresh the value a second time whenever a change is observed. +This helps to filter out spurious data reported occasionally by some devices.
+Parameters: | verify (bool) – if true, verify changes; if false, don’t verify changes. | +
---|
Get the type of the value. The type describes the data held by the value +and enables the user to select the correct value accessor method in the +Manager class.
+Returns: | type of the value | +
---|---|
Return type: | str | +
Gets the units that the value is measured in.
+Return type: | str | +
---|
Get the value_id of the value.
+You must now install python-openzwave in develop mode
-make develop
+sudo make develop
Your password will be asked (by sudo) for installing eggs in your local directory.
Develop, test, debug, test, ... :)
-Update the documentation if needed. You surely found the documentation useful, so please keep it up to date
+Update the documentation if needed. You surely found the documentation useful, so please keep it up to date.
You can create an account on travis to run the (futurs) tests.
-At last but not least, submit your request
+At last but not least, submit your request.
+
After updating the pyx, you need to reinstall it, specially if your in develop mode. Otherwise, your changes will not be applied :
+sudo make develop
+
Nosetests and pylint are used to test quality of code. There reports are here :
++
Remove the old py-openzwave
-find /usr -iname openzwave.so
-
This command show the list of files naming openzwave.so in /usr, ie /usr/local/lib/python2.7/dist-package/openzwave.so
-Remove it :
-sudo rm /usr/local/lib/python2.7/dist-package/openzwave.so
-
Install the new version of python-openzwave : look at README
-Update your code :
-Everywhere in your code replace :
-----"import openzwave" to "import libopenzwave" "from openzwave" to "from libopenzwave" -
notifications :
-In Maarten py-openzwave librairy, value is a string but in python-openzwave, it’s a value of the right type :
-# 'value' : value.c_str(),
-
-'value' : getValueFromType(manager,v.GetId?()),
-
wrapper : The wrapper is no longer supported.
-Now high level acces to ZWave network is provided by the API
-You are now ready to download sources of python-openzwave here :
-https://github.com/bibi21000/python-openzwave/downloads/list
+http://bibi21000.no-ip.biz/python-openzwave/
This archive contains sources of python-openzwave and openzwave.
diff --git a/docs/_build/joomla/INSTALL_MAN.html b/docs/_build/joomla/INSTALL_MAN.html
index 7f7942c0..64ae29fa 100644
--- a/docs/_build/joomla/INSTALL_MAN.html
+++ b/docs/_build/joomla/INSTALL_MAN.html
@@ -45,6 +45,7 @@ Build openzwave and python-openzwave
Build python-openzwave
python setup-lib.py build
python setup-api.py build
+python setup-manager.py build
sudo python setup-lib.py install
sudo python setup-api.py install
+sudo python setup-manager.py install
Testing python-openzwave :
-You don’t need to install python-openzwave to test it. Look at EXAMPLES.
+This version (0.3.0) is under development, do not use it in a production environnement.
+I need to update source tree of python-openzwave and modules’s names because of a bug in setuptools : https://bitbucket.org/pypa/setuptools/issue/230/develop-mode-does-not-respect-src. +Sorry for that.
+So, beforre building python-openzwave, you must uninstall the old version :
+sudo make uninstall
+
After that, reinstall python-openzwave usinf your prefered method.
+If you have problems, please submit an issue with :
++++
+- the content of the directory /usr/local/lib/python2.7/dist-packages/ (for python2.7)
+- the content of /usr/local/lib/python2.7/dist-packages/easy-install.pth (for python 2.7)
+
After installing python-openzwave, you can run tests :
+sudo make tests
+
platform: | Unix, Windows, MacOS X | -
---|---|
sinopsis: | openzwave API | -
License : GPL(v3)
-python-openzwave is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version.
-python-openzwave is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with python-openzwave. If not, see http://www.gnu.org/licenses.
-Bases: logging.Handler
-A Null Logging Handler
-Bases: api.object.ZWaveException
-Exception class for OpenZWave
-Bases: api.object.ZWaveException
-Exception class for OpenZWave
-Bases: exceptions.Exception
-Exception class for OpenZWave
-Bases: object
-Represents an interface of a node. An interface can manage -specific commandClasses (ie a switch, a dimmer, a thermostat, ...). -Don’t know what to do with it now but sure it must exist
-Bases: object
-Represents a Zwave object. Values, nodes, ... can be changer by -other managers on the network.
-Add this property to the cache manager.
-Parameters: | prop (lambda) – The property to cache | -
---|
The home_id of the node.
-Return type: | int | -
---|
Check if property information is outdated.
-Parameters: | prop (lambda) – The property to check | -
---|---|
Return type: | bool | -
The last update date of the device.
-Return type: | time | -
---|
The network of the node.
-Return type: | ZWaveNetwork | -
---|
The id of the object. -object_id could be None, when creating a scene for example.
-Return type: | int | -
---|
Says that the property information is outdated.
-Parameters: | prop (lambda) – The property to outdate | -
---|
Are the information of this object outdated.
-How to manage the cache ?
-2 ways of doing it : -- refresh information when setting the property -- refresh information when getting getting property. -Maybe whe could implement the 2 methods.
-Return type: | int | -
---|
Says that the property are updated.
-Parameters: | prop (lambda) – The property to update | -
---|
Should this object use cache from property
-Return type: | bool | -
---|
Bases: api.object.ZWaveException
-Exception class for OpenZWave
-platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave wrapper | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+Represents an interface to BasicCommands +I known it’s not necessary as they can be included in the node directly. +But it’s a good starting point.
+What I want to do is provide an automatic mapping system hidding +the mapping classes.
+First example, the battery level, it’s not a basic command but don’t care. +Its command class is 0x80.
+A user should write
+if self.handle_command_class(class_id):
+ ret=command_Class(...)
+
The classic way to do it is a classic method of registering. But
+Another way : using heritage multiple
+ZWaveNode(ZWaveObject, ZWaveNodeBasic, ....) +The interface will implement methods +command_class_0x80(param1,param2,...) +That’s the first thing to do +We also can define a property with a friendly name
+handle_command_class will do the rest
+Another way to do it : +A node can manage actuators (switch, dimmer, ...) +and sensors (temperature, consummation, temperature)
+So we need a kind of mechanism to retrieve commands in a user friendly way +Same for sensors.
+A good use case is the AN158 Plug-in Meter Appliance Module +We will study the following command classes : +‘COMMAND_CLASS_SWITCH_ALL’, ‘COMMAND_CLASS_SWITCH_BINARY’, +‘COMMAND_CLASS_METER’,
+The associated values are :
+COMMAND_CLASS_SWITCH_ALL : {
+ 72057594101481476L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': 'On and Off Enabled',
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Switch All',
+ 'readonly': False,
+ 'data_str': 'On and Off Enabled',
+ 'type': 'List'}
+}
+COMMAND_CLASS_SWITCH_BINARY : {
+ 72057594093060096L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': False,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Switch',
+ 'readonly': False,
+ 'data_str': False,
+ 'type': 'Bool'}
+}
+COMMAND_CLASS_METER : {
+ 72057594093273600L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': False,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Exporting',
+ 'readonly': True,
+ 'data_str': False,
+ 'type': 'Bool'},
+ 72057594101662232L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': 'False',
+ 'min': 0L,
+ 'writeonly': True,
+ 'label': 'Reset',
+ 'readonly': False,
+ 'data_str': 'False',
+ 'type': 'Button'},
+ 72057594093273090L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': 'kWh',
+ 'data': 0.0,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Energy',
+ 'readonly': True,
+ 'data_str': 0.0,
+ 'type': 'Decimal'},
+ 72057594093273218L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': 'W',
+ 'data': 0.0,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Power',
+ 'readonly': True,
+ 'data_str': 0.0,
+ 'type': 'Decimal'}
+}
+
Another example from an homePro dimmer (not configured in openzwave):
+COMMAND_CLASS_SWITCH_MULTILEVEL : {
+ 72057594109853736L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': 'False',
+ 'min': 0L,
+ 'writeonly': True,
+ 'label': 'Dim',
+ 'readonly': False,
+ 'data_str': 'False',
+ 'type': 'Button'},
+ 72057594109853697L: {
+ 'help': '',
+ 'max': 255L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': 69,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Level',
+ 'readonly': False,
+ 'data_str': 69,
+ 'type': 'Byte'},
+ 72057594118242369L: {
+ 'help': '',
+ 'max': 255L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': 0,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Start Level',
+ 'readonly': False,
+ 'data_str': 0,
+ 'type': 'Byte'},
+ 72057594109853720L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': 'False',
+ 'min': 0L,
+ 'writeonly': True,
+ 'label': 'Bright',
+ 'readonly': False,
+ 'data_str': 'False',
+ 'type': 'Button'},
+ 72057594118242352L: {
+ 'help': '',
+ 'max': 0L,
+ 'is_polled': False,
+ 'units': '',
+ 'data': False,
+ 'min': 0L,
+ 'writeonly': False,
+ 'label': 'Ignore Start Level',
+ 'readonly': False,
+ 'data_str': False,
+ 'type': 'Bool'}
+}
+
What about the conclusion :
+++The COMMAND_CLASS_SWITCH_ALL is defined with the same label and +use a list as parameter. This should be a configuration parameter. +Don’t know what to do for this command class
+The COMMAND_CLASS_SWITCH_BINARY use a bool as parameter while +COMMAND_CLASS_SWITCH_MULTILEVEL use 2 buttons : Dim and Bright. +Dim and Bright must be done in 2 steps : set the level and activate +the button.
+So we must add one or more lines in the actuators :
+Switch : {setter:self.set_command_class_0xYZ(valueId, new), getter:} +We must find a way to access the value directly
+Bright +Dim
+So for the COMMAND_CLASS_SWITCH_BINARY we must define a function called +Switch (=the label of the value). What happen if we have 2 switches +on the node : 2 values I suppose.
+COMMAND_CLASS_SWITCH_MULTILEVEL uses 2 commands : 4 when 2 dimmers on the +done ? Don’t know but it can.
+COMMAND_CLASS_METER export many values : 2 of them sends a decimal +and are readonly. They also have a Unit defined ans values are readonly
+COMMAND_CLASS_METER are used for sensors only. So we would map +every values entries as defined before
+Programming : +get_switches : retrieve the list of switches on the node +is_switch (label) : says if the value with label=label is a switch +get_switch (label) : retrieve the value where label=label
+
Check if node contain the command class 0x84 (COMMAND_CLASS_WAKE_UP).
+Filter rules are :
+++command_class = 0x84
Returns: | True if the node can wake up | +
---|---|
Return type: | bool | +
The battery level of this node. +The command 0x80 (COMMAND_CLASS_BATTERY) of this node.
+Parameters: | value_id (int) – The value to retrieve state. If None, retrieve the first value | +
---|---|
Returns: | The level of this battery | +
Return type: | int | +
The command 0x80 (COMMAND_CLASS_BATTERY) of this node. +Retrieve the list of values to consider as batteries. +Filter rules are :
+++command_class = 0x80 +genre = “User” +type = “Byte” +readonly = True +writeonly = False
Returns: | The list of switches on this node | +
---|---|
Return type: | dict() | +
The power level of this node. +The command 0x73 (COMMAND_CLASS_POWERLEVEL) of this node.
+Parameters: | value_id (int) – The value to retrieve state. If None, retrieve the first value | +
---|---|
Returns: | The level of this battery | +
Return type: | int | +
The command 0x73 (COMMAND_CLASS_POWERLEVEL) of this node. +Retrieve the list of values to consider as power_levels. +Filter rules are :
+++command_class = 0x73 +genre = “User” +type = “Byte” +readonly = True +writeonly = False
Returns: | The list of switches on this node | +
---|---|
Return type: | dict() | +
Represents an interface to switches and dimmers Commands
+The command 0x26 (COMMAND_CLASS_SWITCH_MULTILEVEL) of this node. +Get the dimmer level (using value value_id).
+Parameters: | value_id (int) – The value to retrieve level | +
---|---|
Returns: | The level : a value between 0-99 | +
Return type: | int | +
The command 0x26 (COMMAND_CLASS_SWITCH_MULTILEVEL) of this node. +Retrieve the list of values to consider as dimmers. +Filter rules are :
+++command_class = 0x26 +genre = “User” +type = “Bool” +readonly = False +writeonly = False
Returns: | The list of dimmers on this node | +
---|---|
Return type: | dict() | +
The command 0x27 (COMMAND_CLASS_SWITCH_ALL) of this node. +Return the current value (using value value_id) of a switch_all.
+Parameters: | value_id (int) – The value to retrieve switch_all value | +
---|---|
Returns: | The value of the value | +
Return type: | str | +
The command 0x27 (COMMAND_CLASS_SWITCH_ALL) of this node. +Return the all the possible values (using value value_id) of a switch_all.
+Parameters: | value_id (int) – The value to retrieve items list | +
---|---|
Returns: | The value of the value | +
Return type: | set() | +
The command 0x27 (COMMAND_CLASS_SWITCH_ALL) of this node. +Return the state (using value value_id) of a switch or a dimmer.
+Parameters: | value_id (int) – The value to retrieve state | +
---|---|
Returns: | The state of the value | +
Return type: | bool | +
The command 0x25 (COMMAND_CLASS_SWITCH_BINARY) of this node. +Return the state (using value value_id) of a switch.
+Parameters: | value_id (int) – The value to retrieve state | +
---|---|
Returns: | The state of the value | +
Return type: | bool | +
The command 0x25 (COMMAND_CLASS_SWITCH_BINARY) of this node. +Retrieve the list of values to consider as switches. +Filter rules are :
+++command_class = 0x25 +genre = “User” +type = “Bool” +readonly = False +writeonly = False
Returns: | The list of switches on this node | +
---|---|
Return type: | dict() | +
The command 0x27 (COMMAND_CLASS_SWITCH_ALL) of this node. +Retrieve the list of values to consider as switches_all. +Filter rules are :
+++command_class = 0x27 +genre = “System” +type = “List” +readonly = False +writeonly = False
Returns: | The list of switches on this node | +
---|---|
Return type: | dict() | +
The command 0x26 (COMMAND_CLASS_SWITCH_MULTILEVEL) of this node. +Set switch to value (using value value_id).
+Parameters: |
|
+
---|
The command 0x25 (COMMAND_CLASS_SWITCH_BINARY) of this node. +Set switch to value (using value value_id).
+Parameters: |
|
+
---|
The command 0x27 (COMMAND_CLASS_SWITCH_ALL) of this node. +Set switches_all to value (using value value_id).
+Parameters: |
|
+
---|
Represents an interface to Sensor Commands
+The command 0x30 (COMMAND_CLASS_SENSOR_BINARY) of this node. +The command 0x31 (COMMAND_CLASS_SENSOR_MULTILEVEL) of this node. +The command 0x32 (COMMAND_CLASS_METER) of this node.
+Parameters: | value_id (int) – The value to retrieve value | +
---|---|
Returns: | The state of the sensors | +
Return type: | variable | +
The command 0x30 (COMMAND_CLASS_SENSOR_BINARY) of this node. +The command 0x31 (COMMAND_CLASS_SENSOR_MULTILEVEL) of this node. +The command 0x32 (COMMAND_CLASS_METER) of this node. +Retrieve the list of values to consider as sensors. +Filter rules are :
+++command_class = 0x30-32 +genre = “User” +readonly = True +writeonly = False
Parameters: | type (‘All’ or PyValueTypes) – the type of value | +
---|---|
Returns: | The list of switches on this node | +
Return type: | dict() | +
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+The controller manager.
+Allows to retrieve informations about the library, statistics, ... +Also used to send commands to the controller
+Commands :
++++
+- +
Driver::ControllerCommand_AddController : Add a new secondary controller to the Z-Wave network.
+- +
Driver::ControllerCommand_AddDevice : Add a new device (but not a controller) to the Z-Wave network.
+- +
Driver::ControllerCommand_CreateNewPrimary : (Not yet implemented)
+- +
Driver::ControllerCommand_ReceiveConfiguration :
+- +
Driver::ControllerCommand_RemoveController : remove a controller from the Z-Wave network.
+- +
Driver::ControllerCommand_RemoveDevice : remove a device (but not a controller) from the Z-Wave network.
+- +
+
+- Driver::ControllerCommand_RemoveFailedNode : move a node to the controller’s list of failed nodes. The node must actually
+- +
have failed or have been disabled since the command will fail if it responds. A node must be in the controller’s failed nodes list +or ControllerCommand_ReplaceFailedNode to work.
+- +
Driver::ControllerCommand_HasNodeFailed : Check whether a node is in the controller’s failed nodes list.
+- +
+
+- Driver::ControllerCommand_ReplaceFailedNode : replace a failed device with another. If the node is not in
+- +
the controller’s failed nodes list, or the node responds, this command will fail.
+- +
+
+- Driver:: ControllerCommand_TransferPrimaryRole : (Not yet implemented) - Add a new controller to the network and
+- +
make it the primary. The existing primary will become a secondary controller.
+- +
Driver::ControllerCommand_RequestNetworkUpdate : Update the controller with network information from the SUC/SIS.
+- +
Driver::ControllerCommand_RequestNodeNeighborUpdate : Get a node to rebuild its neighbour list. This method also does ControllerCommand_RequestNodeNeighbors afterwards.
+- +
Driver::ControllerCommand_AssignReturnRoute : Assign a network return route to a device.
+- +
Driver::ControllerCommand_DeleteAllReturnRoutes : Delete all network return routes from a device.
+- +
Driver::ControllerCommand_CreateButton : Create a handheld button id.
+- +
Driver::ControllerCommand_DeleteButton : Delete a handheld button id.
+
Callbacks :
++++
+- +
+
+- Driver::ControllerState_Waiting : The controller is waiting for a user action. A notice should be displayed
+- +
to the user at this point, telling them what to do next. +For the add, remove, replace and transfer primary role commands, the user needs to be told to press the +inclusion button on the device that is going to be added or removed. For ControllerCommand_ReceiveConfiguration, +they must set their other controller to send its data, and for ControllerCommand_CreateNewPrimary, set the other +controller to learn new data.
+- +
Driver::ControllerState_InProgress : the controller is in the process of adding or removing the chosen node. It is now too late to cancel the command.
+- +
Driver::ControllerState_Complete : the controller has finished adding or removing the node, and the command is complete.
+- +
Driver::ControllerState_Failed : will be sent if the command fails for any reason.
+
Add a new device to the Z-Wave network.
+Parameters: | high_power (bool) – Used only with the AddDevice, AddController, RemoveDevice and RemoveController commands. +Usually when adding or removing devices, the controller operates at low power so that the controller must +be physically close to the device for security reasons. If _highPower is true, the controller will +operate at normal power levels instead. Defaults to false. | +
---|---|
Returns: | True if the command was accepted and has started. | +
Return type: | bool | +
Assign a network return route from a node to another one.
+Parameters: |
|
+
---|---|
Returns: | True if the command was accepted and has started. + |
+
Return type: | bool + |
+
Create a handheld button id
+Parameters: |
|
+
---|---|
Returns: | True if the command was accepted and has started. + |
+
Return type: | bool + |
+
Add a new controller to the Z-Wave network. Used when old primary fails. Requires SUC.
+Returns: | True if the command was accepted and has started. | +
---|---|
Return type: | bool | +
Delete all network return routes from a device.
+Parameters: | node_id (int) – Used only with the ReplaceFailedNode command, to specify the node that is going to be replaced. | +
---|---|
Returns: | True if the command was accepted and has started. | +
Return type: | bool | +
Delete a handheld button id.
+Parameters: |
|
+
---|---|
Returns: | True if the command was accepted and has started. + |
+
Return type: | bool + |
+
Check whether a node is in the controller’s failed nodes list.
+Parameters: | node_id (int) – Used only with the ReplaceFailedNode command, to specify the node that is going to be replaced. | +
---|---|
Returns: | True if the command was accepted and has started. | +
Return type: | bool | +
Returns: | True if the command was accepted and has started. | +
---|---|
Return type: | bool | +
Remove a device from the Z-Wave network.
+Parameters: | high_power (bool) – Used only with the AddDevice, AddController, RemoveDevice and RemoveController commands. +Usually when adding or removing devices, the controller operates at low power so that the controller must +be physically close to the device for security reasons. If _highPower is true, the controller will +operate at normal power levels instead. Defaults to false. | +
---|---|
Returns: | True if the command was accepted and has started. | +
Return type: | bool | +
Move a node to the controller’s list of failed nodes. The node must +actually have failed or have been disabled since the command +will fail if it responds. A node must be in the controller’s +failed nodes list for ControllerCommand_ReplaceFailedNode to work.
+Parameters: | node_id (int) – Used only with the ReplaceFailedNode command, to specify the node that is going to be replaced. | +
---|---|
Returns: | True if the command was accepted and has started. | +
Return type: | bool | +
Replace a failed device with another. If the node is not in +the controller’s failed nodes list, or the node responds, this command will fail.
+Parameters: | node_id (int) – Used only with the ReplaceFailedNode command, to specify the node that is going to be replaced. | +
---|---|
Returns: | True if the command was accepted and has started. | +
Return type: | bool | +
Send information from primary to secondary.
+Parameters: | high_power (bool) – Usually when adding or removing devices, the controller operates at low power so that the controller must +be physically close to the device for security reasons. If _highPower is true, the controller will +operate at normal power levels instead. Defaults to false. | +
---|---|
Returns: | True if the command was accepted and has started. | +
Return type: | bool | +
Update the controller with network information from the SUC/SIS.
+Returns: | True if the command was accepted and has started. | +
---|---|
Return type: | bool | +
Get a node to rebuild its neighbors list. +This method also does ControllerCommand_RequestNodeNeighbors afterwards.
+Parameters: | node_id (int) – Used only with the ReplaceFailedNode command, to specify the node that is going to be replaced. | +
---|---|
Returns: | True if the command was accepted and has started. | +
Return type: | bool | +
Send a node information frame.
+Parameters: | node_id (int) – Used only with the ReplaceFailedNode command, to specify the node that is going to be replaced. | +
---|---|
Returns: | True if the command was accepted and has started. | +
Return type: | bool | +
Make a different controller the primary. +The existing primary will become a secondary controller.
+Parameters: | high_power (bool) – Used only with the AddDevice, AddController, RemoveDevice and RemoveController commands. +Usually when adding or removing devices, the controller operates at low power so that the controller must +be physically close to the device for security reasons. If _highPower is true, the controller will +operate at normal power levels instead. Defaults to false. | +
---|---|
Returns: | True if the command was accepted and has started. | +
Return type: | bool | +
Cancels any in-progress command running on a controller.
+The capabilities of the controller.
+Returns: | The capabilities of the controller | +
---|---|
Return type: | set | +
The device path.
+Returns: | The device (ie /dev/zwave) | +
---|---|
Return type: | str | +
Retrieve label of the statistic from driver.
+Parameters: | stat – The code of the stat label to retrieve. | +
---|---|
Returns: | The label or the stat. | +
Return type: | str | +
Hard Reset a PC Z-Wave Controller. +Resets a controller and erases its network configuration settings. +The controller becomes a primary controller ready to add devices to a new network.
+This command fires a lot of louie signals. +Louie’s clients must disconnect from nodes and values signals
+dispatcher.send(self._network.SIGNAL_NETWORK_RESETTED, **{'network': self._network})
+
Is this controller using the bridge controller library.
+Return type: | bool | +
---|
Is this node a primary controller of the network.
+Return type: | bool | +
---|
Is this controller a static update controller (SUC).
+Return type: | bool | +
---|
The library Config path.
+Returns: | The library config directory | +
---|---|
Return type: | str | +
The description of the library.
+Returns: | The library description (name and version) | +
---|---|
Return type: | str | +
The name of the library.
+Returns: | The cpp library name | +
---|---|
Return type: | str | +
The library User path.
+Returns: | The user directory to store user configuration | +
---|---|
Return type: | str | +
The version of the library.
+Returns: | The cpp library version | +
---|---|
Return type: | str | +
The node name of the controller on the network.
+Returns: | The node’s name of the controller on the network | +
---|---|
Return type: | str | +
The node controller on the network.
+Returns: | The node controller on the network | +
---|---|
Return type: | ZWaveNode | +
The node Id of the controller on the network.
+Returns: | The node id of the controller on the network | +
---|---|
Return type: | int | +
The starting options of the manager.
+Returns: | The options used to start the manager | +
---|---|
Return type: | ZWaveOption | +
The version of the openzwave library.
+Returns: | The openzwave library version | +
---|---|
Return type: | str | +
The version of the python library.
+Returns: | The python library version | +
---|---|
Return type: | str | +
Get count of messages in the outgoing send queue.
+Returns: | Thr count of messages in the outgoing send queue. | +
---|---|
Return type: | int | +
Soft Reset a PC Z-Wave Controller. +Resets a controller without erasing its network configuration settings.
+Retrieve statistics from driver.
+Statistics:
++++
+- s_SOFCnt : Number of SOF bytes received
+- s_ACKWaiting : Number of unsolicited messages while waiting for an ACK
+- s_readAborts : Number of times read were aborted due to timeouts
+- s_badChecksum : Number of bad checksums
+- s_readCnt : Number of messages successfully read
+- s_writeCnt : Number of messages successfully sent
+- s_CANCnt : Number of CAN bytes received
+- s_NAKCnt : Number of NAK bytes received
+- s_ACKCnt : Number of ACK bytes received
+- s_OOFCnt : Number of bytes out of framing
+- s_dropped : Number of messages dropped & not delivered
+- s_retries : Number of messages retransmitted
+- s_controllerReadCnt : Number of controller messages read
+- s_controllerWriteCnt : Number of controller messages sent
+
Returns: | Statistics of the controller | +
---|---|
Return type: | dict() | +
The Callback Handler used when sendig commands to the controller. +Dispatch a louie message.
+To do : add node in signal when necessary
+Parameters: | args (dict()) – A dict containing informations about the state of the controller | +
---|
License : GPL(v3)
python-openzwave is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/docs/_build/joomla/group.html b/docs/_build/joomla/group.html index ca0e5bd4..1e021ab6 100644 --- a/docs/_build/joomla/group.html +++ b/docs/_build/joomla/group.html @@ -7,6 +7,133 @@
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+The driver object. +Hold options of the manager +Also used to retrieve information about the library, ...
+Adds a node to an association group.
+Due to the possibility of a device being asleep, the command is assumed to +complete with success, and the association data held in this class is updated directly. This +will be reverted by a future Association message from the device if the Z-Wave +message actually failed to get through. Notification callbacks will be sent in +both cases.
+Parameters: | target_node_id (int) – Identifier for the node that will be added to the association group. | +
---|
The members of associations.
+Return type: | set() | +
---|
The index of the group.
+Return type: | int | +
---|
The label of the group.
+Return type: | int | +
---|
The number of associations.
+Return type: | int | +
---|
Removes a node from an association group.
+Due to the possibility of a device being asleep, the command is assumed to +succeed, and the association data held in this class is updated directly. This +will be reverted by a future Association message from the device if the Z-Wave +message actually failed to get through. Notification callbacks will be sent +in both cases.
+Parameters: | target_node_id (int) – Identifier for the node that will be removed from the association group. | +
---|
License : GPL(v3)
python-openzwave is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,6 +28,7 @@
Bases: str
+Enum helper
Heal network by requesting node’s rediscover their neighbors. +
Heal network by requesting nodes rediscover their neighbors. Sends a ControllerCommand_RequestNodeNeighborUpdate to every node. Can take a while on larger networks.
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+The network objet = homeid. +It contains a reference to the manager and the controller.
+It dispatch the following louie signals :
++++
+- SIGNAL_NETWORK_FAILED = ‘NetworkFailed’
+- SIGNAL_NETWORK_STARTED = ‘NetworkStarted’
+- SIGNAL_NETWORK_READY = ‘NetworkReady’
+- SIGNAL_NETWORK_STOPPED = ‘NetworkStopped’
+- SIGNAL_NETWORK_RESETTED = ‘DriverResetted’
+- SIGNAL_NETWORK_AWAKED = ‘DriverAwaked’
+- SIGNAL_DRIVER_FAILED = ‘DriverFailed’
+- SIGNAL_DRIVER_READY = ‘DriverReady’
+- SIGNAL_DRIVER_RESET = ‘DriverReset’
+- SIGNAL_DRIVER_REMOVED = ‘DriverRemoved’
+- SIGNAL_NODE_ADDED = ‘NodeAdded’
+- SIGNAL_NODE_EVENT = ‘NodeEvent’
+- SIGNAL_NODE_NAMING = ‘NodeNaming’
+- SIGNAL_NODE_NEW = ‘NodeNew’
+- SIGNAL_NODE_PROTOCOL_INFO = ‘NodeProtocolInfo’
+- SIGNAL_NODE_READY = ‘NodeReady’
+- SIGNAL_NODE_REMOVED = ‘NodeRemoved’
+- SIGNAL_SCENE_EVENT = ‘SceneEvent’
+- SIGNAL_VALUE_ADDED = ‘ValueAdded’
+- SIGNAL_VALUE_CHANGED = ‘ValueChanged’
+- SIGNAL_VALUE_REFRESHED = ‘ValueRefreshed’
+- SIGNAL_VALUE_REMOVED = ‘ValueRemoved’
+- SIGNAL_POLLING_ENABLED = ‘PollingEnabled’
+- SIGNAL_POLLING_DISABLED = ‘PollingDisabled’
+- SIGNAL_CREATE_BUTTON = ‘CreateButton’
+- SIGNAL_DELETE_BUTTON = ‘DeleteButton’
+- SIGNAL_BUTTON_ON = ‘ButtonOn’
+- SIGNAL_BUTTON_OFF = ‘ButtonOff’
+- SIGNAL_ESSENTIAL_NODE_QUERIES_COMPLETE = ‘EssentialNodeQueriesComplete’
+- SIGNAL_NODE_QUERIES_COMPLETE = ‘NodeQueriesComplete’
+- SIGNAL_AWAKE_NODES_QUERIED = ‘AwakeNodesQueried’
+- SIGNAL_ALL_NODES_QUERIED = ‘AllNodesQueried’
+- SIGNAL_MSG_COMPLETE = ‘MsgComplete’
+- SIGNAL_ERROR = ‘Error’
+
The table presented below sets notifications in the order they might typically be received, +and grouped into a few logically related categories. Of course, given the variety +of ZWave controllers, devices and network configurations the actual sequence will vary (somewhat). +The descriptions below the notification name (in square brackets) identify whether the +notification is always sent (unless there’s a significant error in the network or software) +or potentially sent during the execution sequence.
+Driver Initialization Notification
+The notification below is sent when OpenZWave has successfully connected +to a physical ZWave controller.
+[always sent] Sent when the driver (representing a connection between OpenZWave +and a Z-Wave controller attached to the specified serial (or HID) port) has been initialized. +At the time this notification is sent, only certain information about the controller itself is known:
++++
+- Controller Z-Wave version
+- Network HomeID
+- Controller capabilities
+- Controller Application Version & Manufacturer/Product ID
+- Nodes included in the network
+
[always sent (either due to Error or by request)] The Driver is being removed. +Do Not Call Any Driver Related Methods after receiving this
+Node Initialization Notifications
+As OpenZWave starts, it identifies and reads information about each node in the network. +The following notifications may be sent during the initialization process.
+[potentially sent] Sent when a new node has been identified as part of the Z-Wave network. +It is not sent if the node was identified in a prior execution of the OpenZWave library +and stored in the zwcfg*.xml file. +At the time this notification is sent, very little is known about the node itself... +only that it is new to OpenZWave. This message is sent once for each new node identified.
+[always sent (for each node associated with the controller)] +Sent when a node has been added to OpenZWave’s set of nodes. It can be +triggered either as the zwcfg*.xml file is being read, when a new node +is found on startup (see NodeNew notification above), or if a new node +is included in the network while OpenZWave is running. +As with NodeNew, very little is known about the node at the time the +notification is sent…just the fact that a new node has been identified +and its assigned NodeID.
+[potentially sent] Sent after a node’s protocol information has been +successfully read from the controller. +At the time this notification is sent, only certain information about the node is known:
++++
+- Whether it is a “listening” or “sleeping” device
+- Whether the node is capable of routing messages
+- Maximum baud rate for communication
+- Version number
+- Security byte
+
NodeNaming
+[potentially sent] Sent when a node’s name has been set or changed +(although it may be “set” to “” or NULL).
+[potentially sent] Sent when a new value has been associated with the node. +At the time this notification is sent, the new value may or may not +have “live” data associated with it. It may be populated, but it may +alternatively just be a placeholder for a value that has not been read +at the time the notification is sent.
+[always sent (for each node associated with the controller that has been successfully queried)] Sent when a node’s values and attributes have been fully queried. At the time this notification is sent, the node’s information has been fully read at least once. So this notification might trigger “full” display of the node’s information, values, etc. If this notification is not sent, it indicates that there has been a problem initializing the device. The most common issue is that the node is a “sleeping” device. The NodeQueriesComplete notification will be sent when the node wakes up and the query process completes.
+Initialization Complete Notifications
+As indicated above, when OpenZWave starts it reads certain information +from a file, from the controller and from the network. The following +notifications identify when this initialization/querying process is complete.
+[always sent] Sent when all “listening” -always-on-devices have been +queried successfully. It also indicates, by implication, that there +are some “sleeping” nodes that will not complete their queries until +they wake up. This notification should be sent relatively quickly +after start-up. (Of course, it depends on the number of devices on +the ZWave network and whether there are any messages that “time out” +without a proper response.)
+[potentially sent] Sent when all nodes have been successfully queried.
+This notification should be sent relatively quickly if there are +no “sleeping” nodes. But it might be sent quite a while after start-up +if there are sleeping nodes and at least one of these nodes has a long “wake-up” interval.
+Other Notifications
+In addition to the notifications described above, which are primarily +“initialization” notifications that are sent during program start-up, +the following notifications may be sent as a result of user actions, +external program control, etc.
+About the use of louie signals : +For network, python-openzwave send the following louie signal :
+++SIGNAL_NETWORK_FAILED : the driver has failed to start. +SIGNAL_NETWORK_STARTED : the driver is ready, but network is not available. +SIGNAL_NETWORK_AWAKED : all awake nodes are queried. Some sleeping nodes may be missing. +SIGNAL_NETWORK_READY : all nodes are queried. Network is fully functionnal. +SIGNAL_NETWORK_RESETTED : the network has been resetted. It will start again. +SIGNAL_NETWORK_STOPPED : the network has been stopped.
Deprecated : SIGNAL_DRIVER_* shouldn’t be used anymore.
+The controller of the network.
+Returns: | The controller of the network | +
---|---|
Return type: | ZWaveController | +
Create a new scene on the network. +If label is set, also change the label of the scene
+If you store your scenes on a local variable, get a new one +to get the scene id
+Parameters: | label (str or None) – The new label | +
---|---|
Returns: | return the id of scene on the network. Return 0 if fails | +
Return type: | int | +
Get the time period between polls of a nodes state
+Returns: | The number of milliseconds between polls | +
---|---|
Return type: | int | +
The scenes of the network.
+Scenes are generated directly from the lib. There is no notification +support to keep them up to date. So for a batch job, consider +storing them in a local variable.
+Returns: | return a dict() (that can be empty) of scene object. Return None if betwork is not ready | +
---|---|
Return type: | dict() or None | +
Retrieve a value on the network.
+Check every nodes to see if it holds the value
+Parameters: | value_id (int) – The id of the value to find | +
---|---|
Returns: | The value or None | +
Return type: | ZWaveValue | +
Retrieve a value on the network from it’s id_on_network.
+Check every nodes to see if it holds the value
+Parameters: | id_on_network (str) – The id_on_network of the value to find | +
---|---|
Returns: | The value or None | +
Return type: | ZWaveValue | +
Heal network by requesting nodes rediscover their neighbors. +Sends a ControllerCommand_RequestNodeNeighborUpdate to every node. +Can take a while on larger networks.
+Parameters: | upNodeRoute (bool) – Optional Whether to perform return routes initialization. (default = false). | +
---|---|
Returns: | True is the ControllerCommand ins sent. False otherwise | +
Return type: | bool | +
The home_id of the network.
+Return type: | int | +
---|
The home_id of the network as string.
+Return type: | str | +
---|
The separator in id representation.
+Return type: | char | +
---|
Says if the network is ready for operations.
+Return type: | bool | +
---|
The manager to use to communicate with the lib c++.
+Return type: | ZWaveManager | +
---|
The nodes of the network.
+Return type: | dict() | +
---|
The nodes count of the network.
+Return type: | int | +
---|
Delete the scene on the network.
+Parameters: | scene_id (int) – The id of the scene to check | +
---|---|
Returns: | True if the scene was removed. False in other cases | +
Return type: | bool | +
Check that the scene exists
+Parameters: | scene_id (int) – The id of the scene to check | +
---|---|
Returns: | True if the scene exist. False in other cases | +
Return type: | bool | +
Return the number of scenes
+Returns: | The number of scenes | +
---|---|
Return type: | int | +
Set the time period between polls of a nodes state.
+Due to patent concerns, some devices do not report state changes automatically +to the controller. These devices need to have their state polled at regular +intervals. The length of the interval is the same for all devices. To even +out the Z-Wave network traffic generated by polling, OpenZWave divides the +polling interval by the number of devices that have polling enabled, and polls +each in turn. It is recommended that if possible, the interval should not be +set shorter than the number of polled devices in seconds (so that the network +does not have to cope with more than one poll per second).
+Parameters: |
|
+
---|
The count of sleeping nodes on the network.
+Return type: | int | +
---|
The state of the network. Values may be changed in the future, +only order is important. +You can safely ask node information when state >= STATE_READY
+Return type: | int | +
---|
The state of the network. Values may be changed in the future, +only order is important. +You can safely ask node informations when state >= STATE_AWAKED
+Return type: | int | +
---|
Stop the network object.
++++
+- remove the watcher
+- remove the driver
+- clear the nodes
+
dispatcher.send(self.SIGNAL_NETWORK_STOPPED, **{'network': self})
+
Method for switching all devices on or off together. The devices must support +the SwitchAll command class. The command is first broadcast to all nodes, and +then followed up with individual commands to each node (because broadcasts are +not routed, the message might not otherwise reach all the nodes).
+Parameters: | state (bool) – True to turn on the switches, False to turn them off | +
---|
Send a number of test messages to every node and record results.
+Parameters: | count (int) – The number of test messages to send. | +
---|
The last message that was sent is now complete.
+The Callback Handler used with the libopenzwave.
+n[‘valueId’] = {
++++
+- ‘home_id’ : v.GetHomeId(),
+- ‘node_id’ : v.GetNodeId(),
+- ‘commandClass’ : PyManager.COMMAND_CLASS_DESC[v.GetCommandClassId()],
+- ‘instance’ : v.GetInstance(),
+- ‘index’ : v.GetIndex(),
+- ‘id’ : v.GetId(),
+- ‘genre’ : PyGenres[v.GetGenre()],
+- ‘type’ : PyValueTypes[v.GetType()],
+- #’value’ : value.c_str(),
+- ‘value’ : getValueFromType(manager,v.GetId()),
+- ‘label’ : label.c_str(),
+- ‘units’ : units.c_str(),
+- ‘readOnly’: manager.IsValueReadOnly(v)
+
}
+Parameters: | args (dict()) – A dict containing informations about the state of the controller | +
---|
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+Represents a single Node within the Z-Wave Network.
+Add a value to the node
+Parameters: |
|
+
---|---|
Return type: | bool + |
+
The basic type of the node.
+Return type: | int | +
---|
The capabilities of the node.
+Return type: | set() | +
---|
Change a value of the node. +Not implemented
+Parameters: | value_id (int) – The id of the value to change | +
---|
The commandClasses of the node.
+Return type: | set() | +
---|
Return the command classes of the node as string.
+Return type: | set() | +
---|
The generic type of the node.
+Return type: | int | +
---|
Is this node a awake.
+Return type: | string | +
---|
Return the command class representation as string.
+Parameters: | class_id (hexadecimal code) – the COMMAND_CLASS to get string representation | +
---|---|
Return type: | str | +
Return the list of genres of command classes
+Return type: | set() | +
---|
Retrieve the set of values. You can optionnaly filter for a command class, +a genre and/or a type. You can also filter readonly and writeonly params.
+This method always filter the values. +If you wan’t to get all the node’s values, use self.values instead.
+Parameters: |
|
+
---|---|
Return type: | set() of Values + |
+
Retrieve values in a dict() of dicts(). The dict is indexed on the COMMAND_CLASS. +This allows to browse values grouped by the COMMAND_CLASS.You can optionnaly filter for a command class, +a genre and/or a type. You can also filter readonly and writeonly params.
+This method always filter the values. +If you wan’t to get all the node’s values, use the property self.values instead.
+Parameters: |
|
+
---|---|
Return type: | dict(command_class : dict(valueids)) + |
+
Retrieve the set of values for a command class. +Deprecated +For backward compatibility only. +Use get_values instead
+Parameters: | class_id (hexadecimal code or string) – the COMMAND_CLASS to get values | +
---|---|
Return type: | set() of classId | +
Get the association groups reported by this node
+In Z-Wave, groups are numbered starting from one. For example, if a call to +GetNumGroups returns 4, the _groupIdx value to use in calls to GetAssociations +AddAssociation and RemoveAssociation will be a number between 1 and 4.
+Return type: | dict() | +
---|
Check that this node use this commandClass.
+Parameters: | classId (hexadecimal code) – the COMMAND_CLASS to check | +
---|---|
Return type: | bool | +
Heal network node by requesting the node rediscover their neighbors. +Sends a ControllerCommand_RequestNodeNeighborUpdate to the node.
+Parameters: | upNodeRoute (bool) – Optional Whether to perform return routes initialization. (default = false). | +
---|---|
Returns: | True is the ControllerCommand ins sent. False otherwise | +
Return type: | bool | +
Is this node a awake.
+Return type: | bool | +
---|
Is this node is presume failed.
+Return type: | bool | +
---|
Get whether the node information has been received. Returns True if the node information has been received yet
+Return type: | bool | +
---|
Get whether the node is ready to operate (QueryStage Completed).
+Return type: | bool | +
---|
Is this node a beaming device.
+Return type: | bool | +
---|
Is this node a frequent listening device.
+Return type: | bool | +
---|
Is this node a listening device.
+Return type: | bool | +
---|
Is this node locked.
+Return type: | bool | +
---|
Is this node a routing device.
+Return type: | bool | +
---|
Is this node a security device.
+Return type: | bool | +
---|
Is this node sleeping.
+Return type: | bool | +
---|
The location of the node.
+Return type: | str | +
---|
The manufacturer id of the node.
+Return type: | str | +
---|
The manufacturer name of the node.
+Return type: | str | +
---|
Get the maximum baud rate of a node
+The name of the node.
+Return type: | str | +
---|
The neighbors of the node.
+Return type: | set() | +
---|
The id of the node.
+Return type: | int | +
---|
Gets the number of association groups reported by this node.
+Return type: | int | +
---|
The product Id of the node.
+Return type: | str | +
---|
The product name of the node.
+Return type: | str | +
---|
The product type of the node.
+Return type: | str | +
---|
Trigger the fetching of fixed data about a node.
+Causes the nodes data to be obtained from the Z-Wave network in the same way +as if it had just been added. This method would normally be called +automatically by OpenZWave, but if you know that a node has been changed, +calling this method will force a refresh of the data held by the library. This +can be especially useful for devices that were asleep when the application was +first run.
+Return type: | bool | +
---|
Refresh a value of the node. +Not implemented
+Parameters: | value_id (int) – The id of the value to change | +
---|
Change a value of the node. Todo
+Parameters: | value_id (int) – The id of the value to change | +
---|---|
Returns: | The result of the operation | +
Return type: | bool | +
Request the values of all known configurable parameters from a device.
+Request the value of a configurable parameter from a device.
+Some devices have various parameters that can be configured to control the +device behaviour. These are not reported by the device over the Z-Wave network +but can usually be found in the devices user manual. This method requests +the value of a parameter from the device, and then returns immediately, +without waiting for a response. If the parameter index is valid for this +device, and the device is awake, the value will eventually be reported via a +ValueChanged notification callback. The ValueID reported in the callback will +have an index set the same as _param and a command class set to the same value +as returned by a call to Configuration::StaticGetCommandClassId.
+Parameters: | param – The param of the node. | +
---|
The security type of the node.
+Returns: | The security type of the node | +
---|---|
Return type: | int | +
Set the value of a configurable parameter in a device.
+Some devices have various parameters that can be configured to control the +device behaviour. These are not reported by the device over the Z-Wave network +but can usually be found in the devices user manual. This method returns +immediately, without waiting for confirmation from the device that the change +has been made.
+Parameters: |
|
+
---|---|
Returns: | + | +
Return type: | bool + |
+
A helper to set a writable field : name, location, product_name, ...
+Parameters: |
|
+
---|---|
Return type: | bool + |
+
The specific type of the node.
+Returns: | The specific type of the node | +
---|---|
Return type: | int | +
Send a number of test messages to node and record results.
+Parameters: | count (int) – The number of test messages to send. | +
---|
Get a human-readable label describing the node +:rtype: str
+The version of the node.
+Returns: | The version of the node | +
---|---|
Return type: | int | +
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+Represents a Zwave object. Values, nodes, ... can be changer by +other managers on the network.
+Add this property to the cache manager.
+Parameters: | prop (lambda) – The property to cache | +
---|
The home_id of the node.
+Return type: | int | +
---|
Check if property information is outdated.
+Parameters: | prop (lambda) – The property to check | +
---|---|
Return type: | bool | +
The last update date of the device.
+Return type: | time | +
---|
The network of the node.
+Return type: | ZWaveNetwork | +
---|
The id of the object. +object_id could be None, when creating a scene for example.
+Return type: | int | +
---|
Says that the property information is outdated.
+Parameters: | prop (lambda) – The property to outdate | +
---|
Are the information of this object outdated.
+How to manage the cache ?
+2 ways of doing it : +- refresh information when setting the property +- refresh information when getting getting property. +Maybe whe could implement the 2 methods.
+Return type: | int | +
---|
Says that the property are updated.
+Parameters: | prop (lambda) – The property to update | +
---|
Should this object use cache from property
+Return type: | bool | +
---|
Represents an interface of a node. An interface can manage +specific commandClasses (ie a switch, a dimmer, a thermostat, ...). +Don’t know what to do with it now but sure it must exist
+Exception class for OpenZWave
+Exception class for OpenZWave
+Exception class for OpenZWave
+Exception class for OpenZWave
+A Null Logging Handler
+platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+Represents a Zwave option used to start the manager.
+The config path.
+Return type: | str | +
---|
The device used by the controller.
+Return type: | str | +
---|
Append new session logs to existing log file (false = overwrite).
+Parameters: | status (bool) – | +
---|
Enable automatic association of the controller with group one of every device.
+Parameters: | status (bool) – True to enable logs, False to disable | +
---|
Display log information on console (as well as save to disk).
+Parameters: | status (bool) – | +
---|
Set the driver max attempts before raising an error.
+Parameters: | attempts (int) – Number of attempts | +
---|
Default is to never dump RAM-stored log messages.
+Parameters: | level – | +
---|
Remove support for the seted command classes.
+Parameters: | commandClass (str) – The command class to exclude | +
---|
Only handle the specified command classes. The Exclude option is ignored if anything is seted here.
+Parameters: | commandClass (str) – The location of the log file | +
---|
Identify the serial port to be accessed (TODO: change the code so more than one serial port can be specified and HID).
+Parameters: | port (str) – The serial port | +
---|
Notifications when transaction complete is reported.
+Parameters: | status (bool) – if false, try to execute the entire poll set within the PollInterval time frame. If true, wait for PollInterval milliseconds between polls | +
---|
Set the log file location.
+Parameters: | logfile (str) – The location of the log file | +
---|
Set the status of logging.
+Parameters: | status (bool) – True to activate logs, False to disable | +
---|
Notifications when transaction complete is reported.
+Parameters: | status (bool) – True to enable, False to disable | +
---|
30 seconds (can easily poll 30 values in this time; ~120 values is the effective limit for 30 seconds).
+Parameters: | interval (int) – interval in seconds | +
---|
Save (in RAM) log messages equal to or above LogLevel_Debug.
+Parameters: | level – | +
---|
Save the XML configuration upon driver close.
+Parameters: | status (bool) – True to enable, False to disable | +
---|
Save (to file) log messages equal to or above LogLevel_Detail.
+Parameters: | level – | +
---|
if true, notifications for refreshed (but unchanged) values will not be sent.
+Parameters: | status (bool) – True to enable, False to disable | +
---|
The config path.
+Return type: | str | +
---|
- a | |||
- | - api | - | |
- | - api.object | - | |
l | |||
+ id="toggle-1" style="display: none" alt="-" /> | openzwave | ||
+ | + openzwave.command | + | |
+ | + openzwave.controller | + | |
+ | + openzwave.group | + | |
+ | + openzwave.network | + | |
+ | + openzwave.node | + | |
+ | + openzwave.object | + | |
+ | + openzwave.option | + | |
+ | + openzwave.scene | + | |
- openzwave.object | + openzwave.value |
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+Represents a single scene within the Z-Wave Network
+Activate the zwave scene.
+Returns: | True if the scene is activated. False otherwise. | +
---|---|
Return type: | bool | +
Add a value with data value_data to the zwave scene.
+Parameters: |
|
+
---|
Create a new zwave scene on the network and update the object_id field +If label is set, also change the label of the scene
+Parameters: | label (str or None) – The new label | +
---|---|
Returns: | return the id of scene on the network. Return 0 if fails | +
Return type: | int | +
Get all the values of the scene
+Returns: | A dict of values : {value_id={‘value’=ZWaveValue, ‘data’=data}, ...}. | +
---|---|
Return type: | dict() | +
Get all the values of the scene grouped by nodes
+Returns: | A dict of values : {node_id={value_id={‘value’=ZWaveValue, ‘data’=data}, ...},...}. | +
---|---|
Return type: | dict() | +
The label of the scene.
+Return type: | str | +
---|
Remove a value from the scene.
+Parameters: | value_id (int) – The id of the value to change | +
---|---|
Returns: | True if the scene is removed. False otherwise. | +
Return type: | bool | +
The id of the scene.
+Return type: | int | +
---|
Set a value data to value_data in the zwave scene.
+Parameters: |
|
+
---|
platform: | Unix, Windows, MacOS X | +
---|---|
sinopsis: | openzwave API | +
License : GPL(v3)
+python-openzwave is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version.
+python-openzwave is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with python-openzwave. If not, see http://www.gnu.org/licenses.
+Represents a single value.
+Check that data is correct for this value. +Return the data in a correct type. None is data is incorrect.
+Parameters: | data (lambda) – The data value to check | +
---|---|
Returns: | A variable of the good type if the data is correct. None otherwise. | +
Return type: | variable | +
The command class of the value.
+Returns: | The command class of this value | +
---|---|
Return type: | int | +
Get the current data of the value.
+Returns: | The data of the value | +
---|---|
Return type: | depending of the type of the value | +
Get the value data as String.
+Return type: | str | +
---|
When type of value is list, data_items contains a list of valid values
+Returns: | The valid values or a help string | +
---|---|
Return type: | string or set | +
Disable poll off this value.
+Returns: | True if polling was disabled. | +
---|---|
Return type: | bool | +
Enable the polling of a device’s state.
+Parameters: | intensity (int) – The intensity of the poll | +
---|---|
Returns: | True if polling was enabled. | +
Return type: | bool | +
Get the genre of the value. The genre classifies a value to enable +low-level system or configuration parameters to be filtered out +by the application
+Returns: | genre of the value (Basic, User, Config, System) | +
---|---|
Return type: | str | +
Gets a help string describing the value’s purpose and usage.
+Return type: | str | +
---|
Get an unique id for this value.
+The scenes use this to retrieve values
+<Scene id="1" label="scene1">
+ <Value homeId="0x014d0ef5" nodeId="2" genre="user" commandClassId="38" instance="1" index="0" type="byte">54</Value>
+</Scene>
+
The format is :
+++home_id.node_id.command_class.instance.index
Get the value index. The index is used to identify one of multiple +values created and managed by a command class. In the case of configurable +parameters (handled by the configuration command class), the index is the +same as the parameter ID.
+Returns: | index of the value | +
---|---|
Return type: | int | +
Get the command class instance of this value. It is possible for there to be +multiple instances of a command class, although currently it appears that +only the SensorMultilevel command class ever does this.
+Returns: | instance of the value | +
---|---|
Return type: | int | +
determine if value changes upon a refresh should be verified. +If so, the library will immediately refresh the value a second time whenever a change is observed. +This helps to filter out spurious data reported occasionally by some devices.
+Verify that the value is polled.
+Return type: | bool | +
---|
Test whether the value is read-only.
+Returns: | True if the value cannot be changed by the user. | +
---|---|
Return type: | bool | +
Test whether the value has been set.
+Returns: | True if the value has actually been set by a status message +from the device, rather than simply being the default. | +
---|---|
Return type: | bool | +
Test whether the value is write-only.
+Returns: | True if the value can only be written to and not read. | +
---|---|
Return type: | bool | +
Get the label of the value.
+Return type: | str | +
---|
Gets the maximum that this value may contain.
+Return type: | int | +
---|
Gets the minimum that this value may contain.
+Return type: | int | +
---|
The value_id of the value.
+Get the parent_id of the value.
+The poll intensity of the value.
+Returns: | 0=none, 1=every time through the list, 2-every other time, etc | +
---|---|
Return type: | int | +
Gets a float value’s precision.
+Returns: | a float value’s precision | +
---|---|
Return type: | int | +
Refresh the value.
+Returns: | True if the command was transmitted to controller | +
---|---|
Return type: | bool | +
Sets a flag indicating whether value changes noted upon a refresh should be verified.
+If so, the library will immediately refresh the value a second time whenever a change is observed. +This helps to filter out spurious data reported occasionally by some devices.
+Parameters: | verify (bool) – if true, verify changes; if false, don’t verify changes. | +
---|
Get the type of the value. The type describes the data held by the value +and enables the user to select the correct value accessor method in the +Manager class.
+Returns: | type of the value | +
---|---|
Return type: | str | +
Gets the units that the value is measured in.
+Return type: | str | +
---|
Get the value_id of the value.
+Start Time: 2015-03-21 13:32:32
-Duration: 0:00:00.674578
-Status: none
+Start Time: 2015-03-29 23:46:32
+Duration: 0:00:00.164639
+Status: Pass 1
1336 statements analysed.
1358 statements analysed.
module | 10 | -9 | -+1.00 | +10 | += | 90.00 | 0.00 | |||||||||||||||||||||||||||||
class | -20 | -18 | -+2.00 | +27 | +27 | += | 100.00 | 0.00 | ||||||||||||||||||||||||||||
method | -284 | -242 | -+42.00 | +294 | +294 | += | 100.00 | -4.58 | +4.42 | |||||||||||||||||||||||||||
function | @@ -49,9 +49,17 @@
code | -1613 | -31.18 | -1413 | -+200.00 | +1648 | +31.50 | +1648 | += |
docstring | -3149 | -60.87 | -2712 | -+437.00 | +3161 | +60.43 | +3161 | += |
comment | -70 | -1.35 | -68 | -+2.00 | +80 | +1.53 | +80 | += |
empty | -341 | -6.59 | -295 | -+46.00 | +342 | +6.54 | +342 | += |
1 | 0 | -error while code parsing: Unable to load file 'lib/__init__.py' ([Errno 2] No such file or directory: 'lib/__init__.py') | +error while code parsing: Unable to load file 'src-lib/libopenzwave/__init__.py' ([Errno 2] No such file or directory: 'src-lib/libopenzwave/__init__.py') | ||||||||
convention | -api | +openzwave | 1 | 0 | @@ -401,5439 +368,1760 @@|||||||
warning | -api | +openzwave | - | 3 | +26 | 0 | No exception type(s) specified | ||||
convention | -api.object | -- | 91 | -0 | -No space allowed around keyword argument assignment - def __init__(self, object_id, network = None, use_cache = True): - ^ | +openzwave.node | +ZWaveNode.__init__ | +68 | +8 | +Invalid attribute name "_isReady" | +|
warning | +openzwave.node | +ZWaveNode.__init__ | +53 | +4 | +__init__ method from base class 'ZWaveNodeSensor' is not called | +||||||
warning | +openzwave.node | +ZWaveNode.__init__ | +53 | +4 | +__init__ method from base class 'ZWaveNodeBasic' is not called | +||||||
warning | +openzwave.node | +ZWaveNode.__init__ | +53 | +4 | +__init__ method from base class 'ZWaveNodeSwitch' is not called | +||||||
warning | +openzwave.node | +ZWaveNode.__init__ | +53 | +4 | +__init__ method from base class 'ZWaveNodeSecurity' is not called | ||||||
warning | +openzwave.node | +ZWaveNode.__init__ | +63 | +8 | +Specify string format arguments as logging function parameters | +||||||
convention | -api.object | -- | 91 | -0 | -No space allowed around keyword argument assignment - def __init__(self, object_id, network = None, use_cache = True): - ^ | +openzwave.node | +ZWaveNode.heal | +235 | +4 | +Invalid argument name "upNodeRoute" | +|
error | +openzwave.node | +ZWaveNode.heal | +249 | +8 | +Instance of 'ZWaveNode' has no 'manager' member | +||||||
warning | +openzwave.node | +ZWaveNode.get_values_by_command_classes | +311 | +8 | +Redefining built-in 'type' | +||||||
warning | +openzwave.node | +ZWaveNode.get_values | +359 | +8 | +Redefining built-in 'type' | +||||||
warning | +openzwave.node | +ZWaveNode.remove_value | +437 | +12 | +Specify string format arguments as logging function parameters | +||||||
warning | +openzwave.node | +ZWaveNode.request_all_config_params | +693 | +8 | +Specify string format arguments as logging function parameters | +||||||
warning | +openzwave.node | +ZWaveNode.request_config_param | +714 | +8 | +Specify string format arguments as logging function parameters | +||||||
warning | +openzwave.node | +ZWaveNode.set_config_param | +737 | +8 | +Specify string format arguments as logging function parameters | ||||||
convention | -api.object | -- | 108 | -0 | -No space allowed before : - else : - ^ | +openzwave.node | +ZWaveNode.isNodeAwake | +758 | +4 | +Invalid method name "isNodeAwake" | |
convention | -api.object | -- | 188 | -0 | -No space allowed before : - if self._use_cache : - ^ | +openzwave.node | +ZWaveNode.isNodeFailed | +769 | +4 | +Invalid attribute name "isNodeFailed" | |
convention | -api.object | -- | 189 | +openzwave.node | +ZWaveNode.getNodeQueryStage | +780 | +4 | +Invalid attribute name "getNodeQueryStage" | +|||
convention | +openzwave.node | +ZWaveNode.isReady | +790 | +4 | +Invalid attribute name "isReady" | +||||||
convention | +openzwave.node | +ZWaveNode.isReady | +800 | +4 | +Invalid attribute name "isReady" | +||||||
convention | +openzwave.node | +ZWaveNode.isNodeInfoReceived | +812 | +4 | +Invalid attribute name "isNodeInfoReceived" | +||||||
refactor | +openzwave.node | +ZWaveNode | +43 | 0 | -No space allowed before : - if value : - ^ | +Too many public methods (50/20) | |||||
convention | -api.object | +openzwave.controller | - | 207 | +59 | 0 | -No space allowed before : - if self._use_cache : - ^ | +Line too long (186/140) | |||
convention | -api.object | +openzwave.controller | - | 225 | +67 | 0 | -No space allowed before : - if self._use_cache : - ^ | +Line too long (179/140) | |||
convention | -api.object | +openzwave.controller | - | 241 | +77 | 0 | -No space allowed before : - if str(prop) in self._cached_properties : - ^ | +Line too long (147/140) | |||
convention | -api.object | +openzwave.controller | - | 260 | +78 | 0 | -No space allowed before : - if self._use_cache : - ^ | +Line too long (158/140) | |||
convention | -api.group | +openzwave.controller | 79 | 0 | -Exactly one space required after comma - (self.index, self.label) - ^ | +Line too long (156/140) | |||||
fatal | -api.group | +convention | +openzwave.controller | - | 33 | +81 | 0 | -Unable to import 'openzwave' | +Line too long (161/140) | ||
fatal | -api.group | +convention | +openzwave.controller | - | 34 | +147 | 0 | -Unable to import 'openzwave.object' | +Line too long (141/140) | ||
error | -api.group | -ZWaveGroup.label | -99 | -15 | -Instance of 'ZWaveGroup' has no '_network' member | +openzwave.controller | ++ | 30 | +0 | +No name 'PyStatDriver' in module 'libopenzwave' | |
error | -api.group | -ZWaveGroup.label | -99 | -51 | -Instance of 'ZWaveGroup' has no 'home_id' member | +refactor | +openzwave.controller | +ZWaveController.get_stats_label | +335 | +4 | +Method could be a function |
error | -api.group | -ZWaveGroup.max_associations | -109 | -15 | -Instance of 'ZWaveGroup' has no '_network' member | +warning | +openzwave.controller | +ZWaveController.hard_reset | +423 | +8 | +Used * or ** magic |
error | -api.group | -ZWaveGroup.max_associations | -109 | -56 | -Instance of 'ZWaveGroup' has no 'home_id' member | +convention | +openzwave.controller | +ZWaveController.begin_command_send_node_information | +436 | +4 | +Invalid method name "begin_command_send_node_information" |
error | -api.group | -ZWaveGroup.associations | -120 | -15 | -Instance of 'ZWaveGroup' has no '_network' member | +convention | +openzwave.controller | +ZWaveController.begin_command_request_network_update | +464 | +4 | +Invalid method name "begin_command_request_network_update" |
error | -api.group | -ZWaveGroup.associations | -120 | -53 | -Instance of 'ZWaveGroup' has no 'home_id' member | +convention | +openzwave.controller | +ZWaveController.begin_command_remove_failed_node | +507 | +4 | +Invalid method name "begin_command_remove_failed_node" |
error | -api.group | -ZWaveGroup.add_association | -136 | -8 | -Instance of 'ZWaveGroup' has no '_network' member | +convention | +openzwave.controller | +ZWaveController.begin_command_replace_failed_node | +536 | +4 | +Invalid method name "begin_command_replace_failed_node" |
error | -api.group | -ZWaveGroup.add_association | -136 | -45 | -Instance of 'ZWaveGroup' has no 'home_id' member | +convention | +openzwave.controller | +ZWaveController.begin_command_request_node_neigbhor_update | +550 | +4 | +Invalid method name "begin_command_request_node_neigbhor_update" |
error | -api.group | -ZWaveGroup.remove_association | -152 | -8 | -Instance of 'ZWaveGroup' has no '_network' member | +convention | +openzwave.controller | +ZWaveController.begin_command_create_new_primary | +564 | +4 | +Invalid method name "begin_command_create_new_primary" |
error | -api.group | -ZWaveGroup.remove_association | -152 | -48 | -Instance of 'ZWaveGroup' has no '_network' member | +convention | +openzwave.controller | +ZWaveController.begin_command_transfer_primary_role | +575 | +4 | +Invalid method name "begin_command_transfer_primary_role" |
warning | -api.group | -- | 26 | -0 | -Unused namedtuple imported from collections | +convention | +openzwave.controller | +ZWaveController.begin_command_receive_configuration | +592 | +4 | +Invalid method name "begin_command_receive_configuration" |
warning | -api.group | -- | 27 | -0 | -Unused import thread | +convention | +openzwave.controller | +ZWaveController.begin_command_assign_return_route | +603 | +4 | +Invalid method name "begin_command_assign_return_route" |
warning | -api.group | -- | 28 | -0 | -Unused import os | +convention | +openzwave.controller | +ZWaveController.begin_command_delete_all_return_routes | +618 | +4 | +Invalid method name "begin_command_delete_all_return_routes" |
warning | -api.group | -- | 29 | -0 | -Unused import time | +openzwave.controller | +ZWaveController.zwcallback | +679 | +8 | +Specify string format arguments as logging function parameters | |
warning | -api.group | -- | 30 | -0 | -Unused All imported from louie | +openzwave.controller | +ZWaveController.zwcallback | +683 | +12 | +Used * or ** magic | |
warning | -api.group | -- | 30 | -0 | -Unused dispatcher imported from louie | +openzwave.controller | +ZWaveController.zwcallback | +685 | +8 | +Used * or ** magic | |
warning | -api.group | -- | 32 | +refactor | +openzwave.controller | +ZWaveController | +43 | 0 | -Unused import libopenzwave | +Too many public methods (39/20) | |
warning | -api.group | -- | 33 | -0 | -Unused import openzwave | +error | +openzwave.command | +ZWaveNodeBasic.get_battery_level | +283 | +23 | +Instance of 'ZWaveNodeBasic' has no 'values' member |
warning | -api.group | -- | 34 | -0 | -Unused NullLoggingHandler imported from openzwave.object | +error | +openzwave.command | +ZWaveNodeBasic.get_battery_level | +285 | +19 | +Instance of 'ZWaveNodeBasic' has no 'values' member |
warning | -api.group | -- | 34 | -0 | -Unused ZWaveException imported from openzwave.object | +error | +openzwave.command | +ZWaveNodeBasic.get_battery_levels | +303 | +15 | +Instance of 'ZWaveNodeBasic' has no 'get_values' member |
convention | -api.node | -- | 40 | -0 | -No space allowed after bracket -class ZWaveNode( ZWaveObject, - ^ | +error | +openzwave.command | +ZWaveNodeBasic.get_power_level | +318 | +23 | +Instance of 'ZWaveNodeBasic' has no 'values' member |
convention | -api.node | -- | 43 | -0 | -Wrong continued indentation. - ): - | ^ | +error | +openzwave.command | +ZWaveNodeBasic.get_power_level | +320 | +19 | +Instance of 'ZWaveNodeBasic' has no 'values' member |
convention | -api.node | -- | 51 | -0 | -No space allowed before bracket - def __init__(self, node_id, network ): - ^ | +error | +openzwave.command | +ZWaveNodeBasic.get_power_levels | +338 | +15 | +Instance of 'ZWaveNodeBasic' has no 'get_values' member |
convention | -api.node | -- | 267 | -0 | -No space allowed before : - for cls in commands : - ^ | +error | +openzwave.command | +ZWaveNodeBasic.can_wake_up | +352 | +14 | +Instance of 'ZWaveNodeBasic' has no 'get_values' member |
convention | -api.node | -- | 313 | -0 | -No space allowed before : - for value in self.values : - ^ | +error | +openzwave.command | +ZWaveNodeSwitch.get_switches_all | +380 | +15 | +Instance of 'ZWaveNodeSwitch' has no 'get_values' member |
convention | -api.node | -- | 318 | -0 | -No space allowed before : - if self.values[value].command_class not in values : - ^ | +error | +openzwave.command | +ZWaveNodeSwitch.set_switch_all | +395 | +12 | +Instance of 'ZWaveNodeSwitch' has no 'values' member |
convention | -api.node | -- | 417 | -0 | -No space allowed before : - if value_id in self.values : - ^ | +error | +openzwave.command | +ZWaveNodeSwitch.get_switch_all_state | +411 | +23 | +Instance of 'ZWaveNodeSwitch' has no 'values' member |
convention | -api.node | -- | 419 | -0 | -Unnecessary parens after u'del' keyword | +error | +openzwave.command | +ZWaveNodeSwitch.get_switch_all_state | +413 | +19 | +Instance of 'ZWaveNodeSwitch' has no 'values' member |
convention | -api.node | -- | 435 | -0 | -Exactly one space required around assignment - self.name=value - ^ | +error | +openzwave.command | +ZWaveNodeSwitch.get_switch_all_state | +414 | +27 | +Instance of 'ZWaveNodeSwitch' has no 'values' member |
convention | -api.node | -- | 437 | -0 | -Exactly one space required around assignment - self.location=value - ^ | +error | +openzwave.command | +ZWaveNodeSwitch.get_switch_all_state | +416 | +19 | +Instance of 'ZWaveNodeSwitch' has no 'values' member |
convention | -api.node | -- | 439 | -0 | -Exactly one space required around assignment - self.product_name=value - ^ | +error | +openzwave.command | +ZWaveNodeSwitch.get_switch_all_state | +417 | +23 | +Instance of 'ZWaveNodeSwitch' has no 'values' member |
convention | -api.node | -- | 441 | -0 | -Exactly one space required around assignment - self.manufacturer_name=value - ^ | +error | +openzwave.command | +ZWaveNodeSwitch.get_switch_all_item | +435 | +19 | +Instance of 'ZWaveNodeSwitch' has no 'values' member |
convention | -api.node | -- | 785 | -0 | -Trailing whitespace | +error | +openzwave.command | +ZWaveNodeSwitch.get_switch_all_items | +450 | +19 | +Instance of 'ZWaveNodeSwitch' has no 'values' member |
convention | -api.node | -- | 808 | -0 | -Final newline missing | -||||||
fatal | -api.node | -- | 31 | -0 | -Unable to import 'openzwave.object' | -||||||
fatal | -api.node | -- | 32 | -0 | -Unable to import 'openzwave.object' | -||||||
fatal | -api.node | -- | 33 | -0 | -Unable to import 'openzwave.group' | -||||||
fatal | -api.node | -- | 34 | -0 | -Unable to import 'openzwave.value' | +error | +openzwave.command | +ZWaveNodeSwitch.get_switches | +469 | +15 | +Instance of 'ZWaveNodeSwitch' has no 'get_values' member |
fatal | -api.node | -- | 35 | -0 | -Unable to import 'openzwave.command' | +error | +openzwave.command | +ZWaveNodeSwitch.set_switch | +484 | +12 | +Instance of 'ZWaveNodeSwitch' has no 'values' member |
fatal | -api.node | -- | 36 | -0 | -Unable to import 'openzwave.command' | +error | +openzwave.command | +ZWaveNodeSwitch.get_switch_state | +500 | +19 | +Instance of 'ZWaveNodeSwitch' has no 'values' member |
convention | -api.node | -ZWaveNode.__init__ | -66 | -8 | -Invalid attribute name "_isReady" | +error | +openzwave.command | +ZWaveNodeSwitch.get_dimmers | +519 | +15 | +Instance of 'ZWaveNodeSwitch' has no 'get_values' member |
warning | -api.node | -ZWaveNode.__init__ | -61 | +openzwave.command | +ZWaveNodeSwitch.set_dimmer | +534 | 8 | Specify string format arguments as logging function parameters | |||
error | -api.node | -ZWaveNode.__str__ | -76 | -11 | -Instance of 'ZWaveNode' has no '_network' member | +openzwave.command | +ZWaveNodeSwitch.set_dimmer | +540 | +12 | +Instance of 'ZWaveNodeSwitch' has no 'values' member | |
error | -api.node | -ZWaveNode.__str__ | -76 | -38 | -Instance of 'ZWaveNode' has no '_object_id' member | +openzwave.command | +ZWaveNodeSwitch.set_dimmer | +544 | +25 | +Undefined variable 'Timer' | |
error | -api.node | -ZWaveNode.node_id | -86 | -15 | -Instance of 'ZWaveNode' has no '_object_id' member | +openzwave.command | +ZWaveNodeSwitch.set_dimmer | +544 | +34 | +Instance of 'ZWaveNodeSwitch' has no 'values' member | |
error | -api.node | -ZWaveNode.name | -96 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +openzwave.command | +ZWaveNodeSwitch.set_dimmer | +546 | +25 | +Undefined variable 'Timer' | |
error | -api.node | -ZWaveNode.name | -96 | -49 | -Instance of 'ZWaveNode' has no 'home_id' member | +openzwave.command | +ZWaveNodeSwitch.set_dimmer | +546 | +34 | +Instance of 'ZWaveNodeSwitch' has no 'values' member | |
error | -api.node | -ZWaveNode.name | -96 | -63 | -Instance of 'ZWaveNode' has no 'object_id' member | +openzwave.command | +ZWaveNodeSwitch.get_dimmer_level | +563 | +19 | +Instance of 'ZWaveNodeSwitch' has no 'values' member | |
error | -api.node | -ZWaveNode.name | -107 | -8 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.command | +ZWaveNodeSensor.get_sensors | +572 | +26 | +Redefining built-in 'type' |
error | -api.node | -ZWaveNode.name | -107 | -42 | -Instance of 'ZWaveNode' has no 'home_id' member | +openzwave.command | +ZWaveNodeSensor.get_sensors | +592 | +22 | +Instance of 'ZWaveNodeSensor' has no 'get_values' member | |
error | -api.node | -ZWaveNode.name | -107 | -56 | -Instance of 'ZWaveNode' has no 'object_id' member | +openzwave.command | +ZWaveNodeSensor.get_sensors | +594 | +22 | +Instance of 'ZWaveNodeSensor' has no 'get_values' member | |
error | -api.node | -ZWaveNode.location | -117 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +openzwave.command | +ZWaveNodeSensor.get_sensors | +596 | +22 | +Instance of 'ZWaveNodeSensor' has no 'get_values' member | |
error | -api.node | -ZWaveNode.location | -117 | -53 | -Instance of 'ZWaveNode' has no 'home_id' member | +openzwave.command | +ZWaveNodeSensor.get_sensor_value | +613 | +19 | +Instance of 'ZWaveNodeSensor' has no 'values' member | |
error | -api.node | -ZWaveNode.location | -117 | -67 | -Instance of 'ZWaveNode' has no 'object_id' member | +openzwave.command | +ZWaveNodeSecurity.get_protections | +637 | +15 | +Instance of 'ZWaveNodeSecurity' has no 'get_values' member | |
error | -api.node | -ZWaveNode.location | -128 | -8 | -Instance of 'ZWaveNode' has no '_network' member | +openzwave.command | +ZWaveNodeSecurity.set_protection | +652 | +12 | +Instance of 'ZWaveNodeSecurity' has no 'values' member | |
error | -api.node | -ZWaveNode.location | -128 | -46 | -Instance of 'ZWaveNode' has no 'home_id' member | +openzwave.command | +ZWaveNodeSecurity.get_protection_item | +668 | +19 | +Instance of 'ZWaveNodeSecurity' has no 'values' member | |
error | -api.node | -ZWaveNode.location | -128 | -60 | -Instance of 'ZWaveNode' has no 'object_id' member | +openzwave.command | +ZWaveNodeSecurity.get_protection_items | +683 | +19 | +Instance of 'ZWaveNodeSecurity' has no 'values' member | |
error | -api.node | -ZWaveNode.product_name | -138 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +convention | +openzwave.network | ++ | 172 | +0 | +Line too long (630/140) |
error | -api.node | -ZWaveNode.product_name | -138 | -56 | -Instance of 'ZWaveNode' has no 'home_id' member | +convention | +openzwave.network | ++ | 205 | +0 | +Line too long (211/140) |
error | -api.node | -ZWaveNode.product_name | -138 | -70 | -Instance of 'ZWaveNode' has no 'object_id' member | +convention | +openzwave.network | ++ | 209 | +0 | +Line too long (209/140) |
error | -api.node | -ZWaveNode.product_name | -149 | -8 | -Instance of 'ZWaveNode' has no '_network' member | +convention | +openzwave.network | ++ | 212 | +0 | +Line too long (213/140) |
error | -api.node | -ZWaveNode.product_name | -149 | -49 | -Instance of 'ZWaveNode' has no 'home_id' member | +convention | +openzwave.network | ++ | 351 | +0 | +No space allowed before : + if fire : + ^ |
error | -api.node | -ZWaveNode.product_name | -149 | -63 | -Instance of 'ZWaveNode' has no 'object_id' member | +convention | +openzwave.network | ++ | 887 | +0 | +No space allowed before comma + logging.info('home_id 0x%0.8x, controller node id is %d' , self.home_id, self._controller.node_id) + ^ |
error | -api.node | -ZWaveNode.product_type | -159 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +convention | +openzwave.network | ++ | 888 | +0 | +No space allowed before bracket + logging.debug('Network %s', self ) + ^ |
error | -api.node | -ZWaveNode.product_type | -159 | -56 | -Instance of 'ZWaveNode' has no 'home_id' member | +convention | +openzwave.network | ++ | 1391 | +0 | +Exactly one space required around assignment + val=self.nodes[args['nodeId']].values[args['valueId']['id']] + ^ |
error | -api.node | -ZWaveNode.product_type | -159 | -70 | -Instance of 'ZWaveNode' has no 'object_id' member | +convention | +openzwave.network | ++ | 1 | +0 | +Too many lines in module (1471/1000) |
error | -api.node | -ZWaveNode.product_id | -169 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +refactor | +openzwave.network | +ZWaveNetwork | +50 | +0 | +Too many instance attributes (10/7) |
error | -api.node | -ZWaveNode.product_id | -169 | -54 | -Instance of 'ZWaveNode' has no 'home_id' member | +convention | +openzwave.network | +ZWaveNetwork | +258 | +4 | +Invalid class attribute name "SIGNAL_ESSENTIAL_NODE_QUERIES_COMPLETE" |
error | -api.node | -ZWaveNode.product_id | -169 | -68 | -Instance of 'ZWaveNode' has no 'object_id' member | +convention | +openzwave.network | +ZWaveNetwork | +262 | +4 | +Invalid class attribute name "SIGNAL_ALL_NODES_QUERIED_SOME_DEAD" |
error | -api.node | -ZWaveNode.capabilities | -190 | -27 | -Instance of 'ZWaveNode' has no '_network' member | +openzwave.network | +ZWaveNetwork.__init__ | +292 | +24 | +Module 'libopenzwave' has no 'PyManager' member | |
error | -api.node | -ZWaveNode.capabilities | -191 | -23 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork.stop | +343 | +8 | +Specify string format arguments as logging function parameters |
error | -api.node | -ZWaveNode.neighbors | -203 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork.stop | +353 | +8 | +No exception type(s) specified |
error | -api.node | -ZWaveNode.neighbors | -203 | -54 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork.stop | +352 | +16 | +Used * or ** magic |
error | -api.node | -ZWaveNode.neighbors | -203 | -68 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork.stop | +355 | +12 | +Specify string format arguments as logging function parameters |
error | -api.node | -ZWaveNode.num_groups | -213 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork.home_id | +373 | +4 | +Arguments number differs from overridden method |
error | -api.node | -ZWaveNode.num_groups | -213 | -50 | -Instance of 'ZWaveNode' has no 'home_id' member | +refactor | +openzwave.network | +ZWaveNetwork.state_str | +442 | +4 | +Too many return statements (7/6) |
error | -api.node | -ZWaveNode.num_groups | -213 | -64 | -Instance of 'ZWaveNode' has no 'object_id' member | +convention | +openzwave.network | +ZWaveNetwork.heal | +543 | +4 | +Invalid argument name "upNodeRoute" |
error | -api.node | -ZWaveNode.groups | -230 | -46 | -Instance of 'ZWaveNode' has no '_network' member | +convention | +openzwave.network | +ZWaveNetwork.set_poll_interval | +736 | +4 | +Invalid argument name "bIntervalBetweenPolls" |
error | -api.node | -ZWaveNode.test | -241 | -8 | -Instance of 'ZWaveNode' has no '_network' member | +openzwave.network | +ZWaveNetwork.zwcallback | +802 | +12 | +Instance of 'ZWaveNetwork' has no '_handleNodeReady' member | |
error | -api.node | -ZWaveNode.test | -241 | -46 | -Instance of 'ZWaveNode' has no 'home_id' member | +refactor | +openzwave.network | +ZWaveNetwork.zwcallback | +757 | +4 | +Too many branches (31/12) |
error | -api.node | -ZWaveNode.test | -241 | -60 | -Instance of 'ZWaveNode' has no 'object_id' member | +refactor | +openzwave.network | +ZWaveNetwork.zwcallback | +757 | +4 | +Too many statements (65/50) |
error | -api.node | -ZWaveNode.command_classes | -252 | -19 | -Instance of 'ZWaveNode' has no '_network' member | -||||||
error | -api.node | -ZWaveNode.command_classes | -253 | -15 | -Instance of 'ZWaveNode' has no '_network' member | -||||||
error | -api.node | -ZWaveNode.command_classes | -253 | -61 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_driver_failed | +858 | +8 | +Specify string format arguments as logging function parameters |
error | -api.node | -ZWaveNode.command_classes | -253 | -75 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_driver_failed | +863 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.command_classes_as_string | -268 | -28 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_driver_failed | +864 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.get_command_class_as_string | -280 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_driver_ready | +878 | +8 | +Specify string format arguments as logging function parameters |
refactor | -api.node | -ZWaveNode.get_command_class_genres | -282 | -4 | -Method could be a function | +warning | +openzwave.network | +ZWaveNetwork._handle_driver_ready | +898 | +8 | +No exception type(s) specified |
warning | -api.node | -ZWaveNode.get_values_by_command_classes | -292 | -8 | -Redefining built-in 'type' | +openzwave.network | +ZWaveNetwork._handle_driver_ready | +889 | +12 | +Used * or ** magic | |
warning | -api.node | -ZWaveNode.get_values | -340 | -8 | -Redefining built-in 'type' | +openzwave.network | +ZWaveNetwork._handle_driver_ready | +892 | +12 | +Used * or ** magic | |
error | -api.node | -ZWaveNode.add_value | -382 | -45 | -Instance of 'ZWaveNode' has no 'network' member | +openzwave.network | +ZWaveNetwork._handle_driver_ready | +894 | +25 | +Module 'libopenzwave' has no 'PyControllerState' member | |
error | -api.node | -ZWaveNode.refresh_value | -405 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +openzwave.network | +ZWaveNetwork._handle_driver_ready | +895 | +27 | +Module 'libopenzwave' has no 'PyControllerState' member | |
warning | -api.node | -ZWaveNode.remove_value | -418 | +openzwave.network | +ZWaveNetwork._handle_driver_ready | +896 | 12 | -Specify string format arguments as logging function parameters | +Used * or ** magic | ||
error | -api.node | -ZWaveNode.manufacturer_id | -462 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_driver_ready | +900 | +12 | +Specify string format arguments as logging function parameters |
error | -api.node | -ZWaveNode.manufacturer_id | -462 | -59 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_driver_reset | +919 | +8 | +Specify string format arguments as logging function parameters |
error | -api.node | -ZWaveNode.manufacturer_id | -462 | -73 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_driver_reset | +924 | +12 | +Used * or ** magic |
error | -api.node | -ZWaveNode.manufacturer_name | -472 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_driver_reset | +926 | +12 | +Used * or ** magic |
error | -api.node | -ZWaveNode.manufacturer_name | -472 | -61 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_driver_removed | +942 | +8 | +Specify string format arguments as logging function parameters |
error | -api.node | -ZWaveNode.manufacturer_name | -472 | -75 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_driver_removed | +946 | +12 | +Used * or ** magic |
error | -api.node | -ZWaveNode.manufacturer_name | -483 | +warning | +openzwave.network | +ZWaveNetwork._handle_group | +964 | 8 | -Instance of 'ZWaveNode' has no '_network' member | +Used * or ** magic | |
error | -api.node | -ZWaveNode.manufacturer_name | -483 | -54 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node | +979 | +8 | +Specify string format arguments as logging function parameters |
error | -api.node | -ZWaveNode.manufacturer_name | -483 | -68 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node | +980 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.generic | -493 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node_added | +996 | +8 | +Specify string format arguments as logging function parameters |
error | -api.node | -ZWaveNode.generic | -493 | -52 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node_added | +1001 | +12 | +Used * or ** magic |
error | -api.node | -ZWaveNode.generic | -493 | -66 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_scene_event | +1017 | +8 | +Specify string format arguments as logging function parameters |
error | -api.node | -ZWaveNode.basic | -503 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_scene_event | +1018 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.basic | -503 | -50 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node_event | +1034 | +8 | +Specify string format arguments as logging function parameters |
error | -api.node | -ZWaveNode.basic | -503 | -64 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node_event | +1035 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.specific | -514 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node_naming | +1049 | +8 | +Specify string format arguments as logging function parameters |
error | -api.node | -ZWaveNode.specific | -514 | -53 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node_naming | +1050 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.specific | -514 | -67 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node_new | +1062 | +8 | +Specify string format arguments as logging function parameters |
error | -api.node | -ZWaveNode.security | -525 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node_new | +1063 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.security | -525 | -53 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node_protocol_info | +1079 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.security | -525 | -67 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node_removed | +1102 | +16 | +Used * or ** magic |
error | -api.node | -ZWaveNode.version | -536 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +convention | +openzwave.network | +ZWaveNetwork._handle_essential_node_queries_complete | +1108 | +4 | +Invalid method name "_handle_essential_node_queries_complete" |
error | -api.node | -ZWaveNode.version | -536 | -52 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_essential_node_queries_complete | +1120 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.version | -536 | -66 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_node_queries_complete | +1139 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.is_listening_device | -546 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_all_nodes_queried | +1157 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.is_listening_device | -546 | -59 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_all_nodes_queried | +1158 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.is_listening_device | -546 | -73 | -Instance of 'ZWaveNode' has no 'object_id' member | +convention | +openzwave.network | +ZWaveNetwork._handle_all_nodes_queried_some_dead | +1160 | +4 | +Invalid method name "_handle_all_nodes_queried_some_dead" |
error | -api.node | -ZWaveNode.is_beaming_device | -556 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_all_nodes_queried_some_dead | +1174 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.is_beaming_device | -556 | -57 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_all_nodes_queried_some_dead | +1175 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.is_beaming_device | -556 | -71 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_awake_nodes_queried | +1200 | +8 | +No exception type(s) specified |
error | -api.node | -ZWaveNode.is_frequent_listening_device | -566 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_awake_nodes_queried | +1197 | +12 | +Used * or ** magic |
error | -api.node | -ZWaveNode.is_frequent_listening_device | -566 | -67 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_awake_nodes_queried | +1198 | +12 | +Used * or ** magic |
error | -api.node | -ZWaveNode.is_frequent_listening_device | -566 | -81 | -Instance of 'ZWaveNode' has no 'object_id' member | -||||||
error | -api.node | -ZWaveNode.is_security_device | -576 | -15 | -Instance of 'ZWaveNode' has no '_network' member | -||||||
error | -api.node | -ZWaveNode.is_security_device | -576 | -58 | -Instance of 'ZWaveNode' has no 'home_id' member | -||||||
error | -api.node | -ZWaveNode.is_security_device | -576 | -72 | -Instance of 'ZWaveNode' has no 'object_id' member | -||||||
error | -api.node | -ZWaveNode.is_routing_device | -586 | -15 | -Instance of 'ZWaveNode' has no '_network' member | -||||||
error | -api.node | -ZWaveNode.is_routing_device | -586 | -57 | -Instance of 'ZWaveNode' has no 'home_id' member | -||||||
error | -api.node | -ZWaveNode.is_routing_device | -586 | -71 | -Instance of 'ZWaveNode' has no 'object_id' member | -||||||
error | -api.node | -ZWaveNode.max_baud_rate | -651 | -15 | -Instance of 'ZWaveNode' has no '_network' member | -||||||
error | -api.node | -ZWaveNode.max_baud_rate | -651 | -56 | -Instance of 'ZWaveNode' has no 'home_id' member | -||||||
error | -api.node | -ZWaveNode.max_baud_rate | -651 | -70 | -Instance of 'ZWaveNode' has no 'object_id' member | -||||||
error | -api.node | -ZWaveNode.refresh_info | -667 | -15 | -Instance of 'ZWaveNode' has no '_network' member | -||||||
error | -api.node | -ZWaveNode.refresh_info | -667 | -53 | -Instance of 'ZWaveNode' has no 'home_id' member | -||||||
error | -api.node | -ZWaveNode.refresh_info | -667 | -67 | -Instance of 'ZWaveNode' has no 'object_id' member | -||||||
warning | -api.node | -ZWaveNode.request_all_config_params | -674 | +openzwave.network | +ZWaveNetwork._handle_polling_disabled | +1218 | 8 | -Specify string format arguments as logging function parameters | -|||
error | -api.node | -ZWaveNode.request_all_config_params | -674 | -66 | -Instance of 'ZWaveNode' has no 'object_id' member | +Used * or ** magic | |||||
error | -api.node | -ZWaveNode.request_all_config_params | -675 | +warning | +openzwave.network | +ZWaveNetwork._handle_polling_enabled | +1233 | 8 | -Instance of 'ZWaveNode' has no '_network' member | -||
error | -api.node | -ZWaveNode.request_all_config_params | -675 | -53 | -Instance of 'ZWaveNode' has no 'home_id' member | -||||||
error | -api.node | -ZWaveNode.request_all_config_params | -675 | -67 | -Instance of 'ZWaveNode' has no 'object_id' member | +Used * or ** magic | |||||
warning | -api.node | -ZWaveNode.request_config_param | -695 | +openzwave.network | +ZWaveNetwork._handle_create_button | +1247 | 8 | -Specify string format arguments as logging function parameters | +Used * or ** magic | ||
error | -api.node | -ZWaveNode.request_config_param | -695 | -75 | -Instance of 'ZWaveNode' has no 'object_id' member | -||||||
error | -api.node | -ZWaveNode.request_config_param | -696 | +warning | +openzwave.network | +ZWaveNetwork._handle_delete_button | +1261 | 8 | -Instance of 'ZWaveNode' has no '_network' member | -||
error | -api.node | -ZWaveNode.request_config_param | -696 | -49 | -Instance of 'ZWaveNode' has no 'home_id' member | +Used * or ** magic | |||||
error | -api.node | -ZWaveNode.request_config_param | -696 | -63 | -Instance of 'ZWaveNode' has no 'object_id' member | -||||||
warning | -api.node | -ZWaveNode.set_config_param | -718 | +openzwave.network | +ZWaveNetwork._handle_button_on | +1275 | 8 | -Specify string format arguments as logging function parameters | -|||
error | -api.node | -ZWaveNode.set_config_param | -718 | -68 | -Instance of 'ZWaveNode' has no 'object_id' member | -||||||
error | -api.node | -ZWaveNode.set_config_param | -719 | -15 | -Instance of 'ZWaveNode' has no '_network' member | -||||||
error | -api.node | -ZWaveNode.set_config_param | -719 | -52 | -Instance of 'ZWaveNode' has no 'home_id' member | -||||||
error | -api.node | -ZWaveNode.set_config_param | -719 | -66 | -Instance of 'ZWaveNode' has no 'object_id' member | -||||||
convention | -api.node | -ZWaveNode.isNodeAwake | -739 | -4 | -Invalid method name "isNodeAwake" | -||||||
error | -api.node | -ZWaveNode.isNodeAwake | -747 | -15 | -Instance of 'ZWaveNode' has no '_network' member | -||||||
error | -api.node | -ZWaveNode.isNodeAwake | -747 | -49 | -Instance of 'ZWaveNode' has no 'home_id' member | -||||||
error | -api.node | -ZWaveNode.isNodeAwake | -747 | -63 | -Instance of 'ZWaveNode' has no 'object_id' member | -||||||
convention | -api.node | -ZWaveNode.isNodeFailed | -750 | -4 | -Invalid attribute name "isNodeFailed" | -||||||
error | -api.node | -ZWaveNode.isNodeFailed | -758 | -15 | -Instance of 'ZWaveNode' has no '_network' member | -||||||
error | -api.node | -ZWaveNode.isNodeFailed | -758 | -50 | -Instance of 'ZWaveNode' has no 'home_id' member | -||||||
error | -api.node | -ZWaveNode.isNodeFailed | -758 | -64 | -Instance of 'ZWaveNode' has no 'object_id' member | -||||||
convention | -api.node | -ZWaveNode.getNodeQueryStage | -761 | -4 | -Invalid attribute name "getNodeQueryStage" | -||||||
error | -api.node | -ZWaveNode.getNodeQueryStage | -768 | -15 | -Instance of 'ZWaveNode' has no '_network' member | -||||||
error | -api.node | -ZWaveNode.getNodeQueryStage | -768 | -55 | -Instance of 'ZWaveNode' has no 'home_id' member | -||||||
error | -api.node | -ZWaveNode.getNodeQueryStage | -768 | -69 | -Instance of 'ZWaveNode' has no 'object_id' member | -||||||
convention | -api.node | -ZWaveNode.isReady | -771 | -4 | -Invalid attribute name "isReady" | -||||||
convention | -api.node | -ZWaveNode.isReady | -781 | -4 | -Invalid attribute name "isReady" | -||||||
convention | -api.node | -ZWaveNode.isNodeInfoReceived | -793 | -4 | -Invalid attribute name "isNodeInfoReceived" | +Used * or ** magic | |||||
error | -api.node | -ZWaveNode.isNodeInfoReceived | -800 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_button_off | +1289 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.isNodeInfoReceived | -800 | -56 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_value | +1307 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.isNodeInfoReceived | -800 | -70 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_value_added | +1330 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.type | -808 | -15 | -Instance of 'ZWaveNode' has no '_network' member | +warning | +openzwave.network | +ZWaveNetwork._handle_value_changed | +1351 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.type | -808 | -49 | -Instance of 'ZWaveNode' has no 'home_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_value_refreshed | +1371 | +8 | +Used * or ** magic |
error | -api.node | -ZWaveNode.type | -808 | -63 | -Instance of 'ZWaveNode' has no 'object_id' member | +warning | +openzwave.network | +ZWaveNetwork._handle_value_removed | +1393 | +12 | +Used * or ** magic |
refactor | -api.node | -ZWaveNode | -40 | -0 | -Too many public methods (49/20) | +warning | +openzwave.network | +ZWaveNetwork._handle_notification | +1409 | +8 | +Used * or ** magic |
warning | -api.node | -- | 26 | -0 | -Unused import libopenzwave | +openzwave.network | +ZWaveNetwork._handle_msg_complete | +1423 | +8 | +Used * or ** magic | |
warning | -api.node | -- | 27 | -0 | -Unused namedtuple imported from collections | +openzwave.network | +ZWaveNetwork.nodes | +513 | +12 | +Attribute '_nodes' defined outside __init__ | |
warning | -api.node | -- | 28 | -0 | -Unused import thread | -||||||
warning | -api.node | -- | 29 | -0 | -Unused import time | -||||||
warning | -api.node | -- | 31 | -0 | -Unused ZWaveCommandClassException imported from openzwave.object | -||||||
warning | -api.node | -- | 31 | -0 | -Unused ZWaveException imported from openzwave.object | -||||||
warning | -api.node | -- | 32 | -0 | -Unused NullLoggingHandler imported from openzwave.object | -||||||
warning | -api.node | -- | 32 | -0 | -Unused ZWaveNodeInterface imported from openzwave.object | -||||||
convention | -api.scene | -- | 63 | -0 | -Exactly one space required after comma - (self.scene_id, self.label) - ^ | -||||||
convention | -api.scene | -- | 108 | -0 | -No space allowed before : - if scene_id != 0 : - ^ | -||||||
convention | -api.scene | -- | 158 | -0 | -Exactly one space required after comma - ret[val] = {'value':value,'data':values[val]} - ^ | -||||||
convention | -api.scene | -- | 178 | -0 | -Exactly one space required after comma - ret[value.node.node_id][val] = {'value':value,'data':values[val]} - ^ | -||||||
fatal | -api.scene | -- | 30 | -0 | -Unable to import 'openzwave' | -||||||
fatal | -api.scene | -- | 32 | -0 | -Unable to import 'openzwave.object' | -||||||
warning | -api.scene | -ZWaveScene.__init__ | -52 | -8 | -Specify string format arguments as logging function parameters | -||||||
error | -api.scene | -ZWaveScene.label | -83 | -15 | -Instance of 'ZWaveScene' has no '_network' member | -||||||
error | -api.scene | -ZWaveScene.label | -83 | -51 | -Instance of 'ZWaveScene' has no 'object_id' member | -||||||
error | -api.scene | -ZWaveScene.label | -94 | -8 | -Instance of 'ZWaveScene' has no '_network' member | -||||||
error | -api.scene | -ZWaveScene.label | -94 | -44 | -Instance of 'ZWaveScene' has no 'object_id' member | -||||||
error | -api.scene | -ZWaveScene.create | -107 | -19 | -Instance of 'ZWaveScene' has no '_network' member | -||||||
error | -api.scene | -ZWaveScene.add_value | -124 | -14 | -Instance of 'ZWaveScene' has no '_network' member | -||||||
error | -api.scene | -ZWaveScene.set_value | -139 | -14 | -Instance of 'ZWaveScene' has no '_network' member | -||||||
error | -api.scene | -ZWaveScene.get_values | -153 | -17 | -Instance of 'ZWaveScene' has no '_network' member | -||||||
error | -api.scene | -ZWaveScene.get_values | -157 | -20 | -Instance of 'ZWaveScene' has no '_network' member | -||||||
error | -api.scene | -ZWaveScene.get_values_by_node | -170 | -17 | -Instance of 'ZWaveScene' has no '_network' member | -||||||
error | -api.scene | -ZWaveScene.get_values_by_node | -174 | -20 | -Instance of 'ZWaveScene' has no '_network' member | -||||||
error | -api.scene | -ZWaveScene.remove_value | -191 | -15 | -Instance of 'ZWaveScene' has no '_network' member | -||||||
error | -api.scene | -ZWaveScene.activate | -201 | -15 | -Instance of 'ZWaveScene' has no '_network' member | -||||||
error | -api.scene | -ZWaveScene.activate | -201 | -51 | -Instance of 'ZWaveScene' has no 'object_id' member | -||||||
warning | -api.scene | -ZWaveScene.create | -109 | +openzwave.network | +ZWaveNetwork.nodes | +515 | 12 | -Attribute '_object_id' defined outside __init__ | -|||
warning | -api.scene | -- | 26 | -0 | -Unused import libopenzwave | -||||||
warning | -api.scene | -- | 27 | -0 | -Unused namedtuple imported from collections | -||||||
warning | -api.scene | -- | 28 | -0 | -Unused import thread | -||||||
warning | -api.scene | -- | 29 | -0 | -Unused import time | -||||||
warning | -api.scene | -- | 30 | -0 | -Unused import openzwave | -||||||
convention | -api.controller | -- | 54 | -0 | -Line too long (186/140) | -||||||
convention | -api.controller | -- | 62 | -0 | -Line too long (179/140) | -||||||
convention | -api.controller | -- | 72 | -0 | -Line too long (147/140) | -||||||
convention | -api.controller | -- | 73 | -0 | -Line too long (158/140) | -||||||
convention | -api.controller | -- | 74 | -0 | -Line too long (156/140) | -||||||
convention | -api.controller | -- | 76 | -0 | -Line too long (161/140) | -||||||
convention | -api.controller | -- | 142 | -0 | -Line too long (141/140) | -||||||
convention | -api.controller | -- | 260 | -0 | -No space allowed before : - else : - ^ | -||||||
convention | -api.controller | -- | 274 | -0 | -No space allowed before : - else : - ^ | -||||||
convention | -api.controller | -- | 288 | -0 | -No space allowed before : - else : - ^ | -||||||
convention | -api.controller | -- | 417 | -0 | -Exactly one space required around assignment - self._network.state=self._network.STATE_RESETTED - ^ | -||||||
convention | -api.controller | -- | 444 | -0 | -No space allowed around keyword argument assignment - def begin_command_replication_send(self, high_power = False): - ^ | -||||||
convention | -api.controller | -- | 470 | -0 | -No space allowed around keyword argument assignment - def begin_command_add_device(self, high_power = False): - ^ | -||||||
convention | -api.controller | -- | 486 | -0 | -No space allowed around keyword argument assignment - def begin_command_remove_device(self, high_power = False): - ^ | -||||||
convention | -api.controller | -- | 570 | -0 | -No space allowed around keyword argument assignment - def begin_command_transfer_primary_role(self, high_power = False): - ^ | -||||||
fatal | -api.controller | -- | 30 | -0 | -Unable to import 'openzwave' | -||||||
fatal | -api.controller | -- | 32 | -0 | -Unable to import 'openzwave.object' | -||||||
fatal | -api.controller | -- | 33 | -0 | -Unable to import 'openzwave.node' | -||||||
error | -api.controller | -- | 34 | -0 | -No name 'PyStatDriver' in module 'libopenzwave' | -||||||
error | -api.controller | -ZWaveController.__str__ | -142 | -11 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.__str__ | -142 | -38 | -Instance of 'ZWaveController' has no '_object_id' member | -||||||
error | -api.controller | -ZWaveController.library_type_name | -203 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.library_type_name | -203 | -56 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.library_version | -225 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.library_version | -225 | -55 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.python_library_version | -236 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.ozw_library_version | -247 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.stats | -328 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.stats | -328 | -57 | -Instance of 'ZWaveController' has no 'home_id' member | -||||||
refactor | -api.controller | -ZWaveController.get_stats_label | -330 | -4 | -Method could be a function | -||||||
error | -api.controller | -ZWaveController.is_primary_controller | -370 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.is_primary_controller | -370 | -57 | -Instance of 'ZWaveController' has no 'home_id' member | -||||||
error | -api.controller | -ZWaveController.is_static_update_controller | -380 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.is_static_update_controller | -380 | -62 | -Instance of 'ZWaveController' has no 'home_id' member | -||||||
error | -api.controller | -ZWaveController.is_bridge_controller | -390 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.is_bridge_controller | -390 | -56 | -Instance of 'ZWaveController' has no 'home_id' member | -||||||
error | -api.controller | -ZWaveController.send_queue_count | -401 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.send_queue_count | -401 | -55 | -Instance of 'ZWaveController' has no 'home_id' member | -||||||
error | -api.controller | -ZWaveController.hard_reset | -417 | -8 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.hard_reset | -417 | -28 | -Instance of 'ZWaveController' has no '_network' member | -||||||
warning | -api.controller | -ZWaveController.hard_reset | -418 | -8 | -Used * or ** magic | -||||||
error | -api.controller | -ZWaveController.hard_reset | -418 | -24 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.hard_reset | -419 | -26 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.hard_reset | -420 | -8 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.hard_reset | -420 | -46 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.soft_reset | -429 | -8 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.soft_reset | -429 | -50 | -Instance of 'ZWaveController' has no '_network' member | -||||||
convention | -api.controller | -ZWaveController.begin_command_send_node_information | -431 | -4 | -Invalid method name "begin_command_send_node_information" | -||||||
error | -api.controller | -ZWaveController.begin_command_send_node_information | -441 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_send_node_information | -441 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_replication_send | -456 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_replication_send | -456 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
convention | -api.controller | -ZWaveController.begin_command_request_network_update | -459 | -4 | -Invalid method name "begin_command_request_network_update" | -||||||
error | -api.controller | -ZWaveController.begin_command_request_network_update | -467 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_request_network_update | -467 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_add_device | -483 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_add_device | -483 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_remove_device | -499 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_remove_device | -499 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
convention | -api.controller | -ZWaveController.begin_command_remove_failed_node | -502 | -4 | -Invalid method name "begin_command_remove_failed_node" | -||||||
error | -api.controller | -ZWaveController.begin_command_remove_failed_node | -515 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_remove_failed_node | -515 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_has_node_failed | -528 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_has_node_failed | -528 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
convention | -api.controller | -ZWaveController.begin_command_replace_failed_node | -531 | -4 | -Invalid method name "begin_command_replace_failed_node" | -||||||
error | -api.controller | -ZWaveController.begin_command_replace_failed_node | -542 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_replace_failed_node | -542 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
convention | -api.controller | -ZWaveController.begin_command_request_node_neigbhor_update | -545 | -4 | -Invalid method name "begin_command_request_node_neigbhor_update" | -||||||
error | -api.controller | -ZWaveController.begin_command_request_node_neigbhor_update | -556 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_request_node_neigbhor_update | -556 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
convention | -api.controller | -ZWaveController.begin_command_create_new_primary | -559 | -4 | -Invalid method name "begin_command_create_new_primary" | -||||||
error | -api.controller | -ZWaveController.begin_command_create_new_primary | -567 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_create_new_primary | -567 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
convention | -api.controller | -ZWaveController.begin_command_transfer_primary_role | -570 | -4 | -Invalid method name "begin_command_transfer_primary_role" | -||||||
error | -api.controller | -ZWaveController.begin_command_transfer_primary_role | -584 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_transfer_primary_role | -584 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
convention | -api.controller | -ZWaveController.begin_command_receive_configuration | -587 | -4 | -Invalid method name "begin_command_receive_configuration" | -||||||
error | -api.controller | -ZWaveController.begin_command_receive_configuration | -595 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_receive_configuration | -595 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
convention | -api.controller | -ZWaveController.begin_command_assign_return_route | -598 | -4 | -Invalid method name "begin_command_assign_return_route" | -||||||
error | -api.controller | -ZWaveController.begin_command_assign_return_route | -610 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_assign_return_route | -610 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
convention | -api.controller | -ZWaveController.begin_command_delete_all_return_routes | -613 | -4 | -Invalid method name "begin_command_delete_all_return_routes" | -||||||
error | -api.controller | -ZWaveController.begin_command_delete_all_return_routes | -623 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_delete_all_return_routes | -623 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_create_button | -638 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_create_button | -638 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_delete_button | -653 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.begin_command_delete_button | -653 | -60 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.cancel_command | -661 | -15 | -Instance of 'ZWaveController' has no '_network' member | -||||||
error | -api.controller | -ZWaveController.cancel_command | -661 | -61 | -Instance of 'ZWaveController' has no '_network' member | -||||||
warning | -api.controller | -ZWaveController.zwcallback | -674 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.controller | -ZWaveController.zwcallback | -678 | -12 | -Used * or ** magic | -||||||
error | -api.controller | -ZWaveController.zwcallback | -679 | -66 | -Instance of 'ZWaveController' has no '_network' member | -||||||
warning | -api.controller | -ZWaveController.zwcallback | -680 | -8 | -Used * or ** magic | -||||||
error | -api.controller | -ZWaveController.zwcallback | -681 | -62 | -Instance of 'ZWaveController' has no '_network' member | -||||||
refactor | -api.controller | -ZWaveController | -38 | -0 | -Too many public methods (39/20) | -||||||
warning | -api.controller | -- | 27 | -0 | -Unused All imported from louie | -||||||
warning | -api.controller | -- | 29 | -0 | -Unused import libopenzwave | -||||||
warning | -api.controller | -- | 30 | -0 | -Unused import openzwave | -||||||
warning | -api.controller | -- | 32 | -0 | -Unused ZWaveTypeException imported from openzwave.object | -||||||
warning | -api.controller | -- | 32 | -0 | -Unused ZWaveException imported from openzwave.object | -||||||
warning | -api.controller | -- | 33 | -0 | -Unused ZWaveNode imported from openzwave.node | -||||||
warning | -api.command | -- | 284 | -0 | -Bad indentation. Found 16 spaces, expected 12 | -||||||
warning | -api.command | -- | 319 | -0 | -Bad indentation. Found 16 spaces, expected 12 | -||||||
convention | -api.command | -- | 352 | -0 | -Exactly one space required around comparison - if res is not None and len(res)>0 : - ^ | -||||||
convention | -api.command | -- | 352 | -0 | -No space allowed before : - if res is not None and len(res)>0 : - ^ | -||||||
convention | -api.command | -- | 354 | -0 | -No space allowed before : - else : - ^ | -||||||
convention | -api.command | -- | 412 | -0 | -No space allowed before : - if self.values[switch].instance == instance : - ^ | -||||||
convention | -api.command | -- | 415 | -0 | -No space allowed before : - if self.values[dimmer].instance == instance : - ^ | -||||||
convention | -api.command | -- | 418 | -0 | -No space allowed before : - else : - ^ | -||||||
convention | -api.command | -- | 537 | -0 | -No space allowed before : - elif value < 0 : - ^ | -||||||
fatal | -api.command | -- | 32 | -0 | -Unable to import 'openzwave.object' | -||||||
fatal | -api.command | -- | 33 | -0 | -Unable to import 'openzwave.object' | -||||||
fatal | -api.command | -- | 34 | -0 | -Unable to import 'openzwave.group' | -||||||
warning | -api.command | -ZWaveNodeBasic | -38 | -0 | -Class has no __init__ method | -||||||
error | -api.command | -ZWaveNodeBasic.get_battery_level | -282 | -23 | -Instance of 'ZWaveNodeBasic' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeBasic.get_battery_level | -284 | -23 | -Instance of 'ZWaveNodeBasic' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeBasic.get_battery_levels | -302 | -15 | -Instance of 'ZWaveNodeBasic' has no 'get_values' member | -||||||
error | -api.command | -ZWaveNodeBasic.get_power_level | -317 | -23 | -Instance of 'ZWaveNodeBasic' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeBasic.get_power_level | -319 | -23 | -Instance of 'ZWaveNodeBasic' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeBasic.get_power_levels | -337 | -15 | -Instance of 'ZWaveNodeBasic' has no 'get_values' member | -||||||
error | -api.command | -ZWaveNodeBasic.can_wake_up | -351 | -14 | -Instance of 'ZWaveNodeBasic' has no 'get_values' member | -||||||
warning | -api.command | -ZWaveNodeSwitch | -357 | -0 | -Class has no __init__ method | -||||||
error | -api.command | -ZWaveNodeSwitch.get_switches_all | -379 | -15 | -Instance of 'ZWaveNodeSwitch' has no 'get_values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.set_switch_all | -394 | -12 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.get_switch_all_state | -410 | -23 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.get_switch_all_state | -412 | -19 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.get_switch_all_state | -413 | -27 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.get_switch_all_state | -415 | -19 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.get_switch_all_state | -416 | -23 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.get_switch_all_item | -434 | -19 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.get_switch_all_items | -449 | -19 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.get_switches | -468 | -15 | -Instance of 'ZWaveNodeSwitch' has no 'get_values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.set_switch | -483 | -12 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.get_switch_state | -499 | -19 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.get_dimmers | -518 | -15 | -Instance of 'ZWaveNodeSwitch' has no 'get_values' member | -||||||
warning | -api.command | -ZWaveNodeSwitch.set_dimmer | -533 | -8 | -Specify string format arguments as logging function parameters | -||||||
error | -api.command | -ZWaveNodeSwitch.set_dimmer | -539 | -12 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.set_dimmer | -543 | -34 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.set_dimmer | -545 | -34 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSwitch.get_dimmer_level | -562 | -19 | -Instance of 'ZWaveNodeSwitch' has no 'values' member | -||||||
warning | -api.command | -ZWaveNodeSensor | -565 | -0 | -Class has no __init__ method | -||||||
warning | -api.command | -ZWaveNodeSensor.get_sensors | -571 | -26 | -Redefining built-in 'type' | -||||||
error | -api.command | -ZWaveNodeSensor.get_sensors | -591 | -22 | -Instance of 'ZWaveNodeSensor' has no 'get_values' member | -||||||
error | -api.command | -ZWaveNodeSensor.get_sensors | -593 | -22 | -Instance of 'ZWaveNodeSensor' has no 'get_values' member | -||||||
error | -api.command | -ZWaveNodeSensor.get_sensors | -595 | -22 | -Instance of 'ZWaveNodeSensor' has no 'get_values' member | -||||||
error | -api.command | -ZWaveNodeSensor.get_sensor_value | -612 | -19 | -Instance of 'ZWaveNodeSensor' has no 'values' member | -||||||
warning | -api.command | -ZWaveNodeSecurity | -615 | -0 | -Class has no __init__ method | -||||||
error | -api.command | -ZWaveNodeSecurity.get_protections | -636 | -15 | -Instance of 'ZWaveNodeSecurity' has no 'get_values' member | -||||||
error | -api.command | -ZWaveNodeSecurity.set_protection | -651 | -12 | -Instance of 'ZWaveNodeSecurity' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSecurity.get_protection_item | -667 | -19 | -Instance of 'ZWaveNodeSecurity' has no 'values' member | -||||||
error | -api.command | -ZWaveNodeSecurity.get_protection_items | -682 | -19 | -Instance of 'ZWaveNodeSecurity' has no 'values' member | -||||||
warning | -api.command | -- | 26 | -0 | -Unused import libopenzwave | -||||||
warning | -api.command | -- | 27 | -0 | -Unused namedtuple imported from collections | -||||||
warning | -api.command | -- | 28 | -0 | -Unused import thread | -||||||
warning | -api.command | -- | 30 | -0 | -Unused import time | -||||||
warning | -api.command | -- | 32 | -0 | -Unused ZWaveCommandClassException imported from openzwave.object | -||||||
warning | -api.command | -- | 32 | -0 | -Unused ZWaveException imported from openzwave.object | -||||||
warning | -api.command | -- | 33 | -0 | -Unused NullLoggingHandler imported from openzwave.object | -||||||
warning | -api.command | -- | 33 | -0 | -Unused ZWaveObject imported from openzwave.object | -||||||
warning | -api.command | -- | 34 | -0 | -Unused ZWaveGroup imported from openzwave.group | -||||||
convention | -api.network | -- | 164 | -0 | -Line too long (630/140) | -||||||
convention | -api.network | -- | 197 | -0 | -Line too long (211/140) | -||||||
convention | -api.network | -- | 201 | -0 | -Line too long (209/140) | -||||||
convention | -api.network | -- | 204 | -0 | -Line too long (213/140) | -||||||
convention | -api.network | -- | 301 | -0 | -Exactly one space required after comma - (self.home_id_str, self.controller) - ^ | -||||||
convention | -api.network | -- | 329 | -0 | -Exactly one space required after comma - for i in range(0,30): - ^ | -||||||
convention | -api.network | -- | 335 | -0 | -No space allowed before : - try : - ^ | -||||||
convention | -api.network | -- | 342 | -0 | -No space allowed before : - if fire : - ^ | -||||||
convention | -api.network | -- | 347 | -0 | -No space allowed before : - finally : - ^ | -||||||
warning | -api.network | -- | 360 | -0 | -Bad indentation. Found 11 spaces, expected 12 | -||||||
convention | -api.network | -- | 392 | -0 | -Exactly one space required around comparison - return self._state>=self.STATE_READY - ^^ | -||||||
convention | -api.network | -- | 519 | -0 | -No space allowed before : - if state : - ^ | -||||||
convention | -api.network | -- | 521 | -0 | -No space allowed before : - else : - ^ | -||||||
convention | -api.network | -- | 547 | -0 | -No space allowed before : - if value_id in self.nodes[node].values : - ^ | -||||||
convention | -api.network | -- | 585 | -0 | -No space allowed before : - for val in node.values.itervalues() : - ^ | -||||||
convention | -api.network | -- | 602 | -0 | -No space allowed before : - if self.state < self.STATE_AWAKED : - ^ | -||||||
convention | -api.network | -- | 604 | -0 | -No space allowed before : - else : - ^ | -||||||
convention | -api.network | -- | 618 | -0 | -No space allowed before : - for scene_id in set_scenes : - ^ | -||||||
convention | -api.network | -- | 709 | -0 | -No space allowed before bracket - def set_poll_interval(self, milliseconds, bIntervalBetweenPolls ): - ^ | -||||||
convention | -api.network | -- | 853 | -0 | -No space allowed before : - try : - ^ | -||||||
convention | -api.network | -- | 859 | -0 | -No space allowed before bracket - logging.info('Driver ready using library %s' % self._controller.library_description ) - ^ | -||||||
convention | -api.network | -- | 861 | -0 | -No space allowed before bracket - logging.debug('Network %s' % self ) - ^ | -||||||
convention | -api.network | -- | 874 | -0 | -No space allowed before : - finally : - ^ | -||||||
convention | -api.network | -- | 893 | -0 | -No space allowed before : - try : - ^ | -||||||
convention | -api.network | -- | 901 | -0 | -No space allowed before : - finally : - ^ | -||||||
convention | -api.network | -- | 916 | -0 | -No space allowed before : - try : - ^ | -||||||
convention | -api.network | -- | 921 | -0 | -No space allowed before : - finally : - ^ | -||||||
convention | -api.network | -- | 970 | -0 | -No space allowed before : - try : - ^ | -||||||
convention | -api.network | -- | 977 | -0 | -No space allowed before : - finally : - ^ | -||||||
convention | -api.network | -- | 1070 | -0 | -No space allowed before : - try : - ^ | -||||||
convention | -api.network | -- | 1074 | -0 | -Unnecessary parens after u'del' keyword | -||||||
convention | -api.network | -- | 1078 | -0 | -No space allowed before : - finally : - ^ | -||||||
convention | -api.network | -- | 1167 | -0 | -No space allowed before : - try : - ^ | -||||||
convention | -api.network | -- | 1168 | -0 | -No space allowed before : - if self._state < self.STATE_AWAKED : - ^ | -||||||
convention | -api.network | -- | 1176 | -0 | -No space allowed before : - finally : - ^ | -||||||
convention | -api.network | -- | 1364 | -0 | -Exactly one space required around assignment - val=self.nodes[args['nodeId']].values[args['valueId']['id']] - ^ | -||||||
convention | -api.network | -- | 1365 | -0 | -No space allowed before : - if self.nodes[args['nodeId']].remove_value(args['valueId']['id']) : - ^ | -||||||
convention | -api.network | -- | 1 | -0 | -Too many lines in module (1474/1000) | -||||||
fatal | -api.network | -- | 33 | -0 | -Unable to import 'openzwave' | -||||||
fatal | -api.network | -- | 34 | -0 | -Unable to import 'openzwave.object' | -||||||
fatal | -api.network | -- | 35 | -0 | -Unable to import 'openzwave.controller' | -||||||
fatal | -api.network | -- | 36 | -0 | -Unable to import 'openzwave.node' | -||||||
fatal | -api.network | -- | 37 | -0 | -Unable to import 'openzwave.option' | -||||||
fatal | -api.network | -- | 38 | -0 | -Unable to import 'openzwave.scene' | -||||||
refactor | -api.network | -ZWaveNetwork | -42 | -0 | -Too many instance attributes (10/7) | -||||||
convention | -api.network | -ZWaveNetwork | -250 | -4 | -Invalid class attribute name "SIGNAL_ESSENTIAL_NODE_QUERIES_COMPLETE" | -||||||
convention | -api.network | -ZWaveNetwork | -254 | -4 | -Invalid class attribute name "SIGNAL_ALL_NODES_QUERIED_SOME_DEAD" | -||||||
error | -api.network | -ZWaveNetwork.__init__ | -284 | -24 | -Module 'libopenzwave' has no 'PyManager' member | -||||||
warning | -api.network | -ZWaveNetwork.stop | -334 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork.stop | -344 | -8 | -No exception type(s) specified | -||||||
warning | -api.network | -ZWaveNetwork.stop | -343 | -16 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork.stop | -346 | -12 | -Specify string format arguments as logging function parameters | -||||||
refactor | -api.network | -ZWaveNetwork.state_str | -433 | -4 | -Too many return statements (7/6) | -||||||
error | -api.network | -ZWaveNetwork.scene_exists | -650 | -15 | -Instance of 'ZWaveNetwork' has no '_network' member | -||||||
error | -api.network | -ZWaveNetwork.scenes_count | -661 | -15 | -Instance of 'ZWaveNetwork' has no '_network' member | -||||||
error | -api.network | -ZWaveNetwork.remove_scene | -673 | -15 | -Instance of 'ZWaveNetwork' has no '_network' member | -||||||
convention | -api.network | -ZWaveNetwork.set_poll_interval | -709 | -4 | -Invalid argument name "bIntervalBetweenPolls" | -||||||
error | -api.network | -ZWaveNetwork.zwcallback | -775 | -12 | -Instance of 'ZWaveNetwork' has no '_handleNodeReady' member | -||||||
refactor | -api.network | -ZWaveNetwork.zwcallback | -730 | -4 | -Too many branches (31/12) | -||||||
refactor | -api.network | -ZWaveNetwork.zwcallback | -730 | -4 | -Too many statements (65/50) | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_failed | -831 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_failed | -836 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_failed | -837 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_ready | -851 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_ready | -871 | -8 | -No exception type(s) specified | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_ready | -859 | -12 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_ready | -860 | -12 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_ready | -861 | -12 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_ready | -862 | -12 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_ready | -865 | -12 | -Used * or ** magic | -||||||
error | -api.network | -ZWaveNetwork._handle_driver_ready | -867 | -25 | -Module 'libopenzwave' has no 'PyControllerState' member | -||||||
error | -api.network | -ZWaveNetwork._handle_driver_ready | -868 | -27 | -Module 'libopenzwave' has no 'PyControllerState' member | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_ready | -869 | -12 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_ready | -873 | -12 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_reset | -892 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_reset | -897 | -12 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_reset | -899 | -12 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_removed | -915 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_removed | -919 | -12 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_group | -936 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_group | -937 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_node | -952 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_node | -953 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_added | -969 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_added | -974 | -12 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_scene_event | -990 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_scene_event | -991 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_event | -1007 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_event | -1008 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_naming | -1022 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_naming | -1023 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_new | -1035 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_new | -1036 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_protocol_info | -1051 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_protocol_info | -1052 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_removed | -1069 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_removed | -1075 | -16 | -Used * or ** magic | -||||||
convention | -api.network | -ZWaveNetwork._handle_essential_node_queries_complete | -1081 | -4 | -Invalid method name "_handle_essential_node_queries_complete" | -||||||
warning | -api.network | -ZWaveNetwork._handle_essential_node_queries_complete | -1092 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_essential_node_queries_complete | -1093 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_queries_complete | -1109 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_node_queries_complete | -1112 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_all_nodes_queried | -1128 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_all_nodes_queried | -1130 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_all_nodes_queried | -1131 | -8 | -Used * or ** magic | -||||||
convention | -api.network | -ZWaveNetwork._handle_all_nodes_queried_some_dead | -1133 | -4 | -Invalid method name "_handle_all_nodes_queried_some_dead" | -||||||
warning | -api.network | -ZWaveNetwork._handle_all_nodes_queried_some_dead | -1145 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_all_nodes_queried_some_dead | -1147 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_all_nodes_queried_some_dead | -1148 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_awake_nodes_queried | -1165 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_awake_nodes_queried | -1173 | -8 | -No exception type(s) specified | -||||||
warning | -api.network | -ZWaveNetwork._handle_awake_nodes_queried | -1170 | -12 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_awake_nodes_queried | -1171 | -12 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_awake_nodes_queried | -1175 | -12 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_polling_disabled | -1190 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_polling_disabled | -1191 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_polling_enabled | -1205 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_polling_enabled | -1206 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_create_button | -1219 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_create_button | -1220 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_delete_button | -1233 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_delete_button | -1234 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_button_on | -1247 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_button_on | -1248 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_button_off | -1261 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_button_off | -1262 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_value | -1280 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_value_added | -1301 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_value_added | -1303 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_value_changed | -1322 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_value_changed | -1324 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_value_refreshed | -1342 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_value_refreshed | -1344 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_value_removed | -1363 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_value_removed | -1366 | -12 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_notification | -1381 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_notification | -1382 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork._handle_msg_complete | -1395 | -8 | -Specify string format arguments as logging function parameters | -||||||
warning | -api.network | -ZWaveNetwork._handle_msg_complete | -1396 | -8 | -Used * or ** magic | -||||||
warning | -api.network | -ZWaveNetwork.nodes | -504 | -12 | -Attribute '_nodes' defined outside __init__ | -||||||
warning | -api.network | -ZWaveNetwork.nodes | -506 | -12 | -Attribute '_nodes' defined outside __init__ | -||||||
warning | -api.network | -ZWaveNetwork.home_id | -372 | -8 | -Attribute '_object_id' defined outside __init__ | -||||||
warning | -api.network | -ZWaveNetwork._handle_driver_ready | -852 | -8 | -Attribute '_object_id' defined outside __init__ | -||||||
warning | -api.network | -ZWaveNetwork._handle_awake_nodes_queried | -1166 | -8 | -Attribute '_object_id' defined outside __init__ | -||||||
refactor | -api.network | -ZWaveNetwork | -42 | -0 | -Too many public methods (26/20) | -||||||
warning | -api.network | -- | 1443 | --1 | -String statement has no effect | -||||||
refactor | -api.network | -ZWaveTestNetwork | -1445 | -0 | -Too many instance attributes (8/7) | -||||||
warning | -api.network | -ZWaveTestNetwork.__init__ | -1451 | -4 | -__init__ method from base class 'ZWaveNetwork' is not called | -||||||
error | -api.network | -ZWaveTestNetwork.__init__ | -1468 | -24 | -Module 'libopenzwave' has no 'PyManager' member | -||||||
warning | -api.network | -- | 26 | -0 | -Unused namedtuple imported from collections | -||||||
warning | -api.network | -- | 27 | -0 | -Unused import thread | -||||||
warning | -api.network | -- | 29 | -0 | -Unused All imported from louie | -||||||
warning | -api.network | -- | 33 | -0 | -Unused import openzwave | -||||||
warning | -api.network | -- | 34 | -0 | -Unused NullLoggingHandler imported from openzwave.object | -||||||
warning | -api.network | -- | 34 | -0 | -Unused ZWaveTypeException imported from openzwave.object | -||||||
warning | -api.network | -- | 37 | -0 | -Unused ZWaveOption imported from openzwave.option | -||||||
warning | -api.value | -- | 36 | -0 | -TODO: don't report controller node as sleeping | -||||||
warning | -api.value | -- | 37 | -0 | -TODO: allow value identification by device/index/instance | -||||||
convention | -api.value | -- | 119 | -0 | -No space allowed before bracket - separator, self.index ) - ^ | -||||||
convention | -api.value | -- | 308 | -0 | -No space allowed before : - if self.is_read_only : - ^ | -||||||
convention | -api.value | -- | 313 | -0 | -Exactly one space required after comma - return "A byte between %s and %s" % (self.min,self.max) - ^ | -||||||
convention | -api.value | -- | 317 | -0 | -Exactly one space required after comma - return "An integer between %s and %s" % (self.min,self.max) - ^ | -||||||
convention | -api.value | -- | 319 | -0 | -Exactly one space required after comma - return "A short between %s and %s" % (self.min,self.max) - ^ | -||||||
convention | -api.value | -- | 326 | -0 | -No space allowed before : - else : - ^ | -||||||
convention | -api.value | -- | 340 | -0 | -No space allowed before : - if self.is_read_only : - ^ | -||||||
convention | -api.value | -- | 346 | -0 | -No space allowed before : - if isinstance(data, basestring) : - ^ | -||||||
convention | -api.value | -- | 349 | -0 | -No space allowed before : - else : - ^ | -||||||
convention | -api.value | -- | 352 | -0 | -No space allowed before : - try : - ^ | -||||||
convention | -api.value | -- | 354 | -0 | -No space allowed before : - except : - ^ | -||||||
convention | -api.value | -- | 357 | -0 | -No space allowed before : - if new_data < 0 : - ^ | -||||||
convention | -api.value | -- | 359 | -0 | -No space allowed before : - elif new_data > 255 : - ^ | -||||||
convention | -api.value | -- | 362 | -0 | -No space allowed before : - try : - ^ | -||||||
convention | -api.value | -- | 364 | -0 | -No space allowed before : - except : - ^ | -||||||
convention | -api.value | -- | 367 | -0 | -No space allowed before : - try : - ^ | -||||||
convention | -api.value | -- | 369 | -0 | -No space allowed before : - except : - ^ | -||||||
convention | -api.value | -- | 372 | -0 | -No space allowed before : - if new_data < -2147483648 : - ^ | -||||||
convention | -api.value | -- | 374 | -0 | -No space allowed before : - elif new_data > 2147483647 : - ^ | -||||||
convention | -api.value | -- | 377 | -0 | -No space allowed before : - try : - ^ | -||||||
convention | -api.value | -- | 379 | -0 | -No space allowed before : - except : - ^ | -||||||
convention | -api.value | -- | 382 | -0 | -No space allowed before : - if new_data < -32768 : - ^ | -||||||
convention | -api.value | -- | 384 | -0 | -No space allowed before : - elif new_data > 32767 : - ^ | -||||||
warning | -api.value | -- | 387 | -0 | -Bad indentation. Found 16 spaces, expected 12 | -||||||
convention | -api.value | -- | 390 | -0 | -No space allowed before : - if isinstance(data, basestring) : - ^ | -||||||
convention | -api.value | -- | 393 | -0 | -No space allowed before : - else : - ^ | -||||||
convention | -api.value | -- | 396 | -0 | -No space allowed before : - if isinstance(data, basestring) : - ^ | -||||||
convention | -api.value | -- | 399 | -0 | -No space allowed before : - else : - ^ | -||||||
fatal | -api.value | -- | 29 | -0 | -Unable to import 'openzwave' | -||||||
fatal | -api.value | -- | 32 | -0 | -Unable to import 'openzwave.object' | -||||||
warning | -api.value | -ZWaveValue.__init__ | -69 | -8 | -Specify string format arguments as logging function parameters | -||||||
error | -api.value | -ZWaveValue.__str__ | -80 | -11 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.__str__ | -80 | -38 | -Instance of 'ZWaveValue' has no '_object_id' member | -||||||
error | -api.value | -ZWaveValue.value_id | -94 | -15 | -Instance of 'ZWaveValue' has no '_object_id' member | -||||||
error | -api.value | -ZWaveValue.id_on_network | -114 | -20 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.id_on_network | -115 | -45 | -Instance of 'ZWaveValue' has no '_network' member | +Attribute '_nodes' defined outside __init__ | |||||
error | -api.value | -ZWaveValue.label | -135 | -15 | -Instance of 'ZWaveValue' has no '_network' member | +refactor | +openzwave.network | +ZWaveNetwork | +50 | +0 | +Too many public methods (27/20) |
error | -api.value | -ZWaveValue.label | -145 | -8 | -Instance of 'ZWaveValue' has no '_network' member | +warning | +openzwave.network | ++ | 1470 | +-1 | +String statement has no effect |
error | -api.value | -ZWaveValue.help | -154 | -15 | -Instance of 'ZWaveValue' has no '_network' member | +warning | +openzwave.network | ++ | 26 | +0 | +Unused namedtuple imported from collections |
error | -api.value | -ZWaveValue.help | -165 | -8 | -Instance of 'ZWaveValue' has no '_network' member | +warning | +openzwave.network | ++ | 27 | +0 | +Unused import thread |
error | -api.value | -ZWaveValue.units | -175 | -15 | -Instance of 'ZWaveValue' has no '_network' member | +warning | +openzwave.network | ++ | 29 | +0 | +Unused All imported from louie |
error | -api.value | -ZWaveValue.units | -186 | -8 | -Instance of 'ZWaveValue' has no '_network' member | +warning | +openzwave.network | ++ | 32 | +0 | +Unused import openzwave |
error | -api.value | -ZWaveValue.max | -196 | -15 | -Instance of 'ZWaveValue' has no '_network' member | +warning | +openzwave.network | ++ | 33 | +0 | +Unused NullLoggingHandler imported from openzwave.object |
error | -api.value | -ZWaveValue.min | -206 | -15 | -Instance of 'ZWaveValue' has no '_network' member | +warning | +openzwave.network | ++ | 33 | +0 | +Unused ZWaveTypeException imported from openzwave.object |
error | -api.value | -ZWaveValue.type | -219 | -15 | -Instance of 'ZWaveValue' has no '_network' member | +warning | +openzwave.network | ++ | 36 | +0 | +Unused ZWaveOption imported from openzwave.option |
error | -api.value | -ZWaveValue.genre | -232 | -15 | -Instance of 'ZWaveValue' has no '_network' member | +warning | +openzwave.value | ++ | 39 | +0 | +TODO: don't report controller node as sleeping |
error | -api.value | -ZWaveValue.index | -246 | -15 | -Instance of 'ZWaveValue' has no '_network' member | +warning | +openzwave.value | ++ | 40 | +0 | +TODO: allow value identification by device/index/instance |
error | -api.value | -ZWaveValue.instance | -259 | -15 | -Instance of 'ZWaveValue' has no '_network' member | +convention | +openzwave.value | ++ | 349 | +0 | +No space allowed before : + if isinstance(data, basestring) : + ^ |
error | -api.value | -ZWaveValue.data | -270 | -15 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.data | -287 | +warning | +openzwave.value | +ZWaveValue.__init__ | +72 | 8 | -Instance of 'ZWaveValue' has no '_network' member | -||
error | -api.value | -ZWaveValue.data_as_string | -297 | -15 | -Instance of 'ZWaveValue' has no '_network' member | +Specify string format arguments as logging function parameters | |||||
error | -api.value | -ZWaveValue.data_items | -325 | -19 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
refactor | -api.value | +openzwave.value | ZWaveValue.data_items | -300 | +303 | 4 | Too many return statements (10/6) | ||||
warning | -api.value | +openzwave.value | ZWaveValue.check_data | -343 | +346 | 8 | Specify string format arguments as logging function parameters | ||||
warning | -api.value | +openzwave.value | ZWaveValue.check_data | -354 | +357 | 12 | No exception type(s) specified | ||||
warning | -api.value | +openzwave.value | ZWaveValue.check_data | -364 | +367 | 12 | No exception type(s) specified | ||||
warning | -api.value | +openzwave.value | ZWaveValue.check_data | -369 | +372 | 12 | No exception type(s) specified | ||||
warning | -api.value | +openzwave.value | ZWaveValue.check_data | -379 | +382 | 12 | No exception type(s) specified | ||||
refactor | -api.value | +openzwave.value | ZWaveValue.check_data | -329 | +332 | 4 | Too many branches (31/12) | ||||
refactor | -api.value | +openzwave.value | ZWaveValue.check_data | -329 | +332 | 4 | Too many statements (61/50) | ||||
error | -api.value | -ZWaveValue.is_set | -413 | -15 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.is_read_only | -424 | -15 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.is_write_only | -435 | -15 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.enable_poll | -447 | -15 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.disable_poll | -457 | -15 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.poll_intensity | -469 | -15 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.is_polled | -479 | -15 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.command_class | -490 | -15 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.refresh | -500 | -15 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.precision | -511 | -15 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
error | -api.value | -ZWaveValue.is_change_verified | -519 | -15 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
warning | -api.value | +openzwave.value | ZWaveValue.set_change_verified | -532 | +535 | 8 | Specify string format arguments as logging function parameters | ||||
error | -api.value | -ZWaveValue.set_change_verified | -533 | -8 | -Instance of 'ZWaveValue' has no '_network' member | -||||||
refactor | -api.value | +openzwave.value | ZWaveValue | -38 | +41 | 0 | Too many public methods (29/20) | ||||
warning | -api.value | -- | 26 | -0 | -Unused namedtuple imported from collections | -||||||
warning | -api.value | -- | 27 | -0 | -Unused import thread | -||||||
warning | -api.value | -- | 28 | -0 | -Unused import time | -||||||
warning | -api.value | -- | 29 | -0 | -Unused import openzwave | -||||||
warning | -api.value | -- | 31 | -0 | -Unused Timer imported from threading | -||||||
convention | -api.option | -- | 70 | -0 | -Exactly one space required after comma - if not os.path.exists(os.path.join(config_path,"zwcfg.xsd")): - ^ | -||||||
convention | -api.option | +openzwave.option | - | 279 | +286 | 0 | Line too long (161/140) | ||||
error | -api.option | +openzwave.option | - | 30 | +28 | 0 | No name 'PyLogLevels' in module 'libopenzwave' | ||||
fatal | -api.option | -- | 32 | -0 | -Unable to import 'openzwave.object' | -||||||
error | -api.option | +openzwave.option | ZWaveOption | -36 | +43 | 18 | Module 'libopenzwave' has no 'PyOptions' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.__init__ | -67 | +74 | 30 | Instance of 'ZWaveOption' has no 'getConfigPath' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.__init__ | -87 | +94 | 8 | Instance of 'ZWaveOption' has no 'create' member | ||||
refactor | -api.option | +openzwave.option | ZWaveOption.__init__ | -41 | +48 | 4 | Too many branches (15/12) | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_log_file | -97 | +104 | 15 | Instance of 'ZWaveOption' has no 'addOptionString' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_logging | -107 | +114 | 15 | Instance of 'ZWaveOption' has no 'addOptionBool' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_append_log_file | -117 | +124 | 15 | Instance of 'ZWaveOption' has no 'addOptionBool' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_console_output | -127 | +134 | 15 | Instance of 'ZWaveOption' has no 'addOptionBool' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_save_log_level | -149 | +156 | 15 | Instance of 'ZWaveOption' has no 'addOptionInt' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_queue_log_level | -171 | +178 | 15 | Instance of 'ZWaveOption' has no 'addOptionInt' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_dump_trigger_level | -193 | +200 | 15 | Instance of 'ZWaveOption' has no 'addOptionInt' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_associate | -203 | +210 | 15 | Instance of 'ZWaveOption' has no 'addOptionBool' member | ||||
convention | -api.option | +openzwave.option | ZWaveOption.set_exclude | -205 | +212 | 4 | Invalid argument name "commandClass" | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_exclude | -213 | +220 | 15 | Instance of 'ZWaveOption' has no 'addOptionString' member | ||||
convention | -api.option | +openzwave.option | ZWaveOption.set_include | -215 | +222 | 4 | Invalid argument name "commandClass" | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_include | -223 | +230 | 15 | Instance of 'ZWaveOption' has no 'addOptionString' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_notify_transactions | -233 | +240 | 15 | Instance of 'ZWaveOption' has no 'addOptionBool' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_interface | -243 | +250 | 15 | Instance of 'ZWaveOption' has no 'addOptionString' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_save_configuration | -253 | +260 | 15 | Instance of 'ZWaveOption' has no 'addOptionBool' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_driver_max_attempts | -263 | +270 | 15 | Instance of 'ZWaveOption' has no 'addOptionInt' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_poll_interval | -273 | +280 | 15 | Instance of 'ZWaveOption' has no 'addOptionInt' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_interval_between_polls | -283 | +290 | 15 | Instance of 'ZWaveOption' has no 'addOptionBool' member | ||||
error | -api.option | +openzwave.option | ZWaveOption.set_suppress_value_refresh | -293 | +300 | 15 | Instance of 'ZWaveOption' has no 'addOptionBool' member | ||||
warning | -api.option | -- | 26 | -0 | -Unused import datetime | -||||||
refactor | -api.object | -ZWaveNodeInterface | -276 | +openzwave.node | +ZWaveNode | +43 | 0 | Interface not implemented | |||
refactor | -api.option | +openzwave.option | 1 | 0 | -Similar lines in 2 files -==api.scene:26 -==api.value:25 -from collections import namedtuple -import thread -import time -import openzwave -import logging | +Similar lines in 3 files +==openzwave.group:25 +==openzwave.scene:25 +==openzwave.value:25 +from openzwave.object import ZWaveObject + +# Set default logging handler to avoid "No handler found" warnings. +import logging +try: # Python 2.7+ + from logging import NullHandler +except ImportError: + class NullHandler(logging.Handler): + """NullHandler logger for python 2.6""" + def emit(self, record): + pass +logging.getLogger('openzwave').addHandler(NullHandler()) + | |||||
refactor | -api.option | +openzwave.option | 1 | 0 | -Similar lines in 2 files -==api.command:29 -==api.node:28 -import time + | Similar lines in 9 files +==openzwave.command:28 +==openzwave.controller:32 +==openzwave.group:28 +==openzwave.network:39 +==openzwave.node:32 +==openzwave.object:26 +==openzwave.option:32 +==openzwave.scene:28 +==openzwave.value:28 import logging -from openzwave.object import ZWaveException, ZWaveCommandClassException -from openzwave.object import ZWaveObject, NullLoggingHandler, ZWaveNodeInterface -from openzwave.group import ZWaveGroup | +try: # Python 2.7+ + from logging import NullHandler +except ImportError: + class NullHandler(logging.Handler): + """NullHandler logger for python 2.6""" + def emit(self, record): + pass +logging.getLogger('openzwave').addHandler(NullHandler()) +