Data documentation

The common data structures and defitions.

This file is part of python-openzwave project https://github.com/OpenZWave/python-openzwave.

platform:Unix, Windows, MacOS X
sinopsis:openzwave C++

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.

libopenzwave.PyNotifications = ['ValueAdded', 'ValueRemoved', 'ValueChanged', 'ValueRefreshed', 'Group', 'NodeNew', 'NodeAdded', 'NodeRemoved', 'NodeProtocolInfo', 'NodeNaming', 'NodeEvent', 'PollingDisabled', 'PollingEnabled', 'SceneEvent', 'CreateButton', 'DeleteButton', 'ButtonOn', 'ButtonOff', 'DriverReady', 'DriverFailed', 'DriverReset', 'EssentialNodeQueriesComplete', 'NodeQueriesComplete', 'AwakeNodesQueried', 'AllNodesQueriedSomeDead', 'AllNodesQueried', 'Notification', 'DriverRemoved', 'ControllerCommand', 'NodeReset']

list() -> new empty list list(iterable) -> new list initialized from iterable’s items

libopenzwave.PyGenres = ['Basic', 'User', 'Config', 'System']

list() -> new empty list list(iterable) -> new list initialized from iterable’s items

libopenzwave.PyValueTypes = ['Bool', 'Byte', 'Decimal', 'Int', 'List', 'Schedule', 'Short', 'String', 'Button', 'Raw']

list() -> new empty list list(iterable) -> new list initialized from iterable’s items

libopenzwave.PyLogLevels = {'Alert': {'doc': 'Something unexpected by the library about which the controlling application should be aware', 'value': 6}, 'Always': {'doc': 'These messages should always be shown', 'value': 2}, 'Debug': {'doc': 'Very detailed information on progress that will create a huge log file quickly but this level (as others) can be queued and sent to the log only on an error or warning', 'value': 9}, 'Detail': {'doc': 'Detailed information on the progress of each message', 'value': 8}, 'Error': {'doc': 'A serious issue with the library or the network', 'value': 4}, 'Fatal': {'doc': 'A likely fatal issue in the library', 'value': 3}, 'Info': {'doc': "Everything's working fine...these messages provide streamlined feedback on each message", 'value': 7}, 'Internal': {'doc': 'Used only within the log class (uses existing timestamp, etc', 'value': 11}, 'Invalid': {'doc': 'Invalid Log Status', 'value': 0}, 'None': {'doc': 'Disable all logging', 'value': 1}, 'StreamDetail': {'doc': 'Will include low-level byte transfers from controller to buffer to application and back', 'value': 10}, 'Warning': {'doc': 'A minor issue from which the library should be able to recover', 'value': 5}}

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs
dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v
dict(**kwargs) -> new dictionary initialized with the name=value pairs
in the keyword argument list. For example: dict(one=1, two=2)
libopenzwave.PyControllerCommand = ['None', 'AddDevice', 'CreateNewPrimary', 'ReceiveConfiguration', 'RemoveDevice', 'RemoveFailedNode', 'HasNodeFailed', 'ReplaceFailedNode', 'TransferPrimaryRole', 'RequestNetworkUpdate', 'RequestNodeNeighborUpdate', 'AssignReturnRoute', 'DeleteAllReturnRoutes', 'SendNodeInformation', 'ReplicationSend', 'CreateButton', 'DeleteButton']

list() -> new empty list list(iterable) -> new list initialized from iterable’s items

libopenzwave.PyControllerError = ['None', 'ButtonNotFound', 'NodeNotFound', 'NotBridge', 'NotSUC', 'NotSecondary', 'NotPrimary', 'IsPrimary', 'NotFound', 'Busy', 'Failed', 'Disabled', 'Overflow']

list() -> new empty list list(iterable) -> new list initialized from iterable’s items

libopenzwave.PyControllerState = ['Normal', 'Starting', 'Cancel', 'Error', 'Waiting', 'Sleeping', 'InProgress', 'Completed', 'Failed', 'NodeOK', 'NodeFailed']

list() -> new empty list list(iterable) -> new list initialized from iterable’s items

libopenzwave.PyOptionList = {'AppendLogFile': {'doc': 'Append new session logs to existing log file (false = overwrite).', 'type': 'Bool'}, 'Associate': {'doc': 'Enable automatic association of the controller with group one of every device.', 'type': 'Bool'}, 'AssumeAwake': {'doc': 'Assume Devices that Support the Wakeup CC are awake when we first query them ...', 'type': 'Bool'}, 'ConfigPath': {'doc': 'Path to the OpenZWave config folder.', 'type': 'String'}, 'ConsoleOutput': {'doc': 'Display log information on console (as well as save to disk).', 'type': 'Bool'}, 'CustomSecuredCC': {'doc': 'What List of Custom CC should we always encrypt if SecurityStrategy is CUSTOM.', 'type': 'String', 'value': '0x62,0x4c,0x63'}, 'DriverMaxAttempts': {'doc': '.', 'type': 'Int'}, 'DumpTriggerLevel': {'doc': 'Default is to never dump RAM-stored log messages.', 'type': 'Int'}, 'EnableSIS': {'doc': 'Automatically become a SUC if there is no SUC on the network.', 'type': 'Bool'}, 'EnforceSecureReception': {'doc': 'If we recieve a clear text message for a CC that is Secured, should we drop the message', 'type': 'Bool'}, 'Exclude': {'doc': 'Remove support for the listed command classes.', 'type': 'String'}, 'Include': {'doc': 'Only handle the specified command classes. The Exclude option is ignored if anything is listed here.', 'type': 'String'}, 'Interface': {'doc': 'Identify the serial port to be accessed (TODO: change the code so more than one serial port can be specified and HID).', 'type': 'String'}, 'IntervalBetweenPolls': {'doc': 'If false, try to execute the entire poll list within the PollInterval time frame. If true, wait for PollInterval milliseconds between polls.', 'type': 'Bool'}, 'LogFileName': {'doc': 'Name of the log file (can be changed via Log::SetLogFileName).', 'type': 'String'}, 'Logging': {'doc': 'Enable logging of library activity.', 'type': 'Bool'}, 'NetworkKey': {'doc': 'Key used to negotiate and communicate with devices that support Security Command Class', 'type': 'String'}, 'NotifyOnDriverUnload': {'doc': 'Should we send the Node/Value Notifications on Driver Unloading - Read comments in Driver::~Driver() method about possible race conditions.', 'type': 'Bool'}, 'NotifyTransactions': {'doc': 'Notifications when transaction complete is reported.', 'type': 'Bool'}, 'PerformReturnRoutes': {'doc': 'If true, return routes will be updated.', 'type': 'Bool'}, 'PollInterval': {'doc': '30 seconds (can easily poll 30 values in this time; ~120 values is the effective limit for 30 seconds).', 'type': 'Int'}, 'QueueLogLevel': {'doc': 'Save (in RAM) log messages equal to or above LogLevel_Debug.', 'type': 'Int'}, 'RefreshAllUserCodes': {'doc': "If true, during startup, we refresh all the UserCodes the device reports it supports. If False, we stop after we get the first 'Available' slot (Some devices have 250+ usercode slots! - That makes our Session Stage Very Long ).", 'type': 'Bool'}, 'RetryTimeout': {'doc': 'How long do we wait to timeout messages sent.', 'type': 'Int'}, 'SaveConfiguration': {'doc': 'Save the XML configuration upon driver close.', 'type': 'Bool'}, 'SaveLogLevel': {'doc': 'Save (to file) log messages equal to or above LogLevel_Detail.', 'type': 'Int'}, 'SecurityStrategy': {'doc': "Should we encrypt CC's that are available via both clear text and Security CC?.", 'type': 'String', 'value': 'SUPPORTED'}, 'SuppressValueRefresh': {'doc': 'If true, notifications for refreshed (but unchanged) values will not be sent.', 'type': 'Bool'}, 'UserPath': {'doc': "Path to the user's data folder.", 'type': 'String'}}

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs
dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v
dict(**kwargs) -> new dictionary initialized with the name=value pairs
in the keyword argument list. For example: dict(one=1, two=2)
libopenzwave.PyStatDriver = {'ACKCnt': 'Number of ACK bytes received', 'ACKWaiting': 'Number of unsolicited messages while waiting for an ACK', 'CANCnt': 'Number of CAN bytes received', 'NAKCnt': 'Number of NAK bytes received', 'OOFCnt': 'Number of bytes out of framing', 'SOFCnt': 'Number of SOF bytes received', 'badChecksum': 'Number of bad checksums', 'badroutes': 'Number of failed messages due to bad route response', 'broadcastReadCnt': 'Number of broadcasts read', 'broadcastWriteCnt': 'Number of broadcasts sent', 'callbacks': 'Number of unexpected callbacks', 'dropped': 'Number of messages dropped & not delivered', 'netbusy': 'Number of network busy/failure messages', 'noack': 'Number of no ACK returned errors', 'nondelivery': 'Number of messages not delivered to network', 'readAborts': 'Number of times read were aborted due to timeouts', 'readCnt': 'Number of messages successfully read', 'retries': 'Number of messages retransmitted', 'routedbusy': 'Number of messages received with routed busy status', 'writeCnt': 'Number of messages successfully sent'}

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs
dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v
dict(**kwargs) -> new dictionary initialized with the name=value pairs
in the keyword argument list. For example: dict(one=1, two=2)
libopenzwave.PyStatNode = {'averageRequestRTT': 'Average Request round trip time', 'averageResponseRTT': 'Average Response round trip time', 'errors': 'Count errors for dead node detection', 'lastReceivedMessage': 'Place to hold last received message', 'lastRequestRTT': 'Last message request RTT', 'lastResponseRTT': 'Last message response RTT', 'quality': 'Node quality measure', 'receivedCnt': 'Number of messages received from this node', 'receivedDups': 'Number of duplicated messages received', 'receivedTS': 'Last message received time', 'receivedUnsolicited': 'Number of messages received unsolicited', 'retries': 'Number of message retries', 'sentCnt': 'Number of messages sent from this node', 'sentFailed': 'Number of sent messages failed', 'sentTS': 'Last message sent time'}

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs
dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v
dict(**kwargs) -> new dictionary initialized with the name=value pairs
in the keyword argument list. For example: dict(one=1, two=2)