Commit graph

112 commits

Author SHA1 Message Date
pnaulls@gmail.com
01aa2c7853 Misc grammar fixes. 2011-08-16 16:28:23 +00:00
pnaulls@gmail.com
cef3a77673 Instead of the overhead of looking up the NotifyTransactions
option each time, just do it once.
2011-08-16 16:26:57 +00:00
glsatz
6bbf5ec08e Fix Meter class multiple values retrieval and make value creation
consistent across multiple instances.
Fix gcc compile warning.
2011-08-11 22:01:35 +00:00
google@lansell.org
ca01ecf52c Additional MultiInstance support. Messages can now be marked with an instance, and the content will be modified when the message is finalized. This simplifies adding multi-instance support to SetValue and RequestValue calls. Removed optional arguments from the RequestValue methods to avoid mistakes. 2011-08-11 18:24:30 +00:00
glsatz
dd6b9ca257 More debugging to track query state.
Change the RequestState/RequestValue protocol to handle the case where
there is nothing to send. Must return true only if a message was sent so
the query state machine can track properly.
2011-08-10 17:27:42 +00:00
glsatz
c4b55814bb Address numerous Meter V2+ class issues. MultiInstance support isn't
complete yet.
2011-08-10 03:05:01 +00:00
glsatz
bac6b7b432 Add write only option to class variable creation including xml support.
xml name is 'write_only'.
Some Aeon Labs configuration variables affect other variables. Add an xml
'affects' options which takes as its argument a list of configuration
parameter numbers or the keyword all.
Create a node method to request dynamic variables so button releases and
hails can cause a refresh.
Fixed bug in CommandClass::ExtractValue where sign wasn't being taken from
the proper byte offset in the case of Meter V2 or higher messages.
Some thermostats start counting setpoint types at bit 0 instead of bit
1. Add an xml option called 'base' so the proper offset is used.
Add missing m_queryStageCompleted settings in Driver and Meter.
Attempt to add default values to the Trane xml configuration.
2011-08-09 07:48:22 +00:00
glsatz@gmail.com
75d53a1afc Fixed Association query. 2011-08-09 03:35:58 +00:00
glsatz
929ebb3cdb Create a new node boolean variable m_queryStageCompleted that tracks the
status of the  current query response. This means  m_queryRetries is only a
retry counter.  All the  classes and places  where queries succeed  or fail
must update this variable.

Extra debugging left in this version as there will most likely be query
bugs due to this change.

Generate a log message when reading class variables from xml configuration
files without values.

Comment out unused variables in Meter.cpp since the stringent compilation
flags of gcc creates an error.

Random formatting changes to be consistent.
2011-08-09 02:53:54 +00:00
google@lansell.org
8c7dfb1133 Fixed error in requesting multiple scales from a meter 2011-08-08 22:40:50 +00:00
google@lansell.org
6bb93c36d2 Meter command class support for versions 2 and 3. 2011-08-08 22:34:41 +00:00
glsatz
a0a5a1be60 Change types to conform to proper specs for c++ string handling return values. From dev@fahrradbibliothek.de 2011-08-08 17:00:33 +00:00
glsatz@gmail.com
11b497df7c Fix issue with item not being set in list selection. Occurs with missing
configuration (xml) information.
Clean up formatting and add some missing value->Release calls.
2011-08-06 15:21:24 +00:00
pnaulls@gmail.com
497f42e614 OpenWrt's libudev just got updated, so this define is no longer required against
the older version.
2011-08-05 15:34:09 +00:00
google@lansell.org
8f9904dbc4 Fixes for MultiChannel command class crash and excessive messaging.
Added priority flag to messages - low priority messages wait for all others to be sent first, and are used during node querying to reduces delays to other traffic.

Added Notification::Type_EssentialNodeQueriesComplete, which is sent for each node when all its queries up to and including instances have been done - this is the point at which all values will have been created and messages normal messages can be sent/received.
2011-08-05 15:01:47 +00:00
glsatz@gmail.com
c50a92cec4 Resolve warnings that are considered errors with new compile flags. 2011-08-05 08:23:00 +00:00
google@lansell.org
c98fe63f31 Added V2 of the MultiInstance command class (otherwise known as MultiChannel), which should solve issues with newer HSM100 sensors and Aeon-Labs energy monitors. This also entailed changing the way instances are handled so they no longer need to be sequential indices.
Command class versions are now only requested where OpenZWave has implemented a command class to a version greater than one.

Node queries are now arranged so that nodes that have not proceeded as far as requesting the ManufactuerSpecific data are given priority.  This allows OpenZwave to get into a state where incoming messages may be handled much more quickly.

Added GetSendQueueCount to the dot net wrapper.
2011-08-04 21:41:48 +00:00
pnaulls@gmail.com
e598da9332 Put #ifdef __linux__ around udev (Linux only) stuff. 2011-07-30 18:29:34 +00:00
pnaulls@gmail.com
341746ab95 Allow USB vendor:product specification for device instead. 2011-07-26 15:53:55 +00:00
glsatz
672dd30640 Add a GetSendQueueCount() interface to retrieve the send queue size. 2011-07-22 17:34:36 +00:00
glsatz@gmail.com
8e22f0eff4 Do not overwrite currently set variables because a commandclass is specified
in the xml configuration.
2011-07-13 14:59:53 +00:00
pnaulls@gmail.com
f8c45273c8 Fix earlier typo; addresses issue 29. 2011-07-13 04:59:00 +00:00
pnaulls@gmail.com
e598746519 Fix last warnings, and now always build with -Werror. 2011-07-12 20:59:27 +00:00
pnaulls@gmail.com
7ed928f768 Aggregate product detail setting, etc for nodes in order
to find details for controller, and load XML earlier.
2011-07-12 20:38:33 +00:00
google@lansell.org
20d6cc42e3 Added scene class to VS2008 and VS2010 projects.
Added wrappers for scene methods to the DotNet wrapper.
2011-07-12 17:32:34 +00:00
pnaulls@gmail.com
5bf7d0a502 Likely changes for Windows build 2011-07-12 17:28:24 +00:00
pnaulls@gmail.com
4359eb07e4 Add a positive failure mode for drivers. Set DriverMaxAttempts to > 0
and catch the new notification.
2011-07-11 02:34:38 +00:00
pnaulls@gmail.com
9e5e002840 Warning fixes; build in Linux with -Werror. There are no
functionality changes with this commit.
2011-07-11 00:09:41 +00:00
pnaulls@gmail.com
5646ae2d31 Add build definition for building against OpenWrt's libudev 2011-07-10 22:57:13 +00:00
pnaulls@gmail.com
464d876824 Reorder constructor initializations to avoid some warnings. 2011-07-10 22:50:44 +00:00
pnaulls@gmail.com
0516c4b49b Fix some warnings.
Instead of waiting an arbitrary number of seconds, instead using
a thread notification to know for certain if/when we are ready.
2011-07-10 22:07:39 +00:00
glsatz
cbc2736eb1 Use the flock system call for device locking instead of the non-portable open option. 2011-07-10 18:37:42 +00:00
glsatz@gmail.com
751c6f6df0 Add support for Scenes, 8 bit ids that accept groups of command classes to changed at one time.
Finally fix Linux/Mac makefile library version number tracking.
Lots of space/tab misformatting.
Open Unix /dev files with exclusive locking
Finish implementation of command class read-only option called create_vars in xml files. Defaults to true but if set to false, command class variables will not be defined.
2011-07-10 14:48:02 +00:00
glsatz
3abef6489b Resolve discovery/query staging hanging when devices that don't implement
classes but claim they do timeout. This is more of a work around but will
get us by.
2011-07-02 00:32:16 +00:00
google@lansell.org
b612aefe18 Fixed error in calculating time to wait for in events (unix only) 2011-06-27 14:31:21 +00:00
dscottmiller3
74f4d76898 2011-06-26 14:32:06 +00:00
glsatz
0a1fdd26a1 Add configuration file for Aeon Labs door/window sensor.
Update Aeon Labs HEM and SES configuration.
Add write_only attribute to configuration files. Code will follow later.
Add Danfoss thermostat configuration file.
Remove binary junk from front of device_classes.xml
Add base attribute to Thermostat command class attribute as some
thermostats assume counting setpoint settings from bit 0 and others from
bit 1. This provides a way to distinguish between them.
Do not execute assert failure for Linux/Mac RELEASE compiles.
2011-06-26 05:56:55 +00:00
glsatz
06c6adbd8c Change HID debugging symbol to HIDDEBUG to reduce extra output unless
necessary.
Add missing ioctls for Linux HID support. Remove these when a newer
linux/hidraw.h is available.
Add more defensive checks in device add/remove processing. Not all
controllers fill in the node field.
Provide group notifications on initial group discovery.
Add Aeon Labs Home Energy Monitor device defintion as well as update device
info for Everspring SM103.
Make sure ACT Zir010 has default values specified in configuration for
initial case.
2011-05-16 23:37:45 +00:00
glsatz
b7603998d7 Rewrite of HidControllerImpl::Read for stability.
Reformat to OZW formatting standards.
Update to latest hidapi version.
USB HID devices should now be working. Tested on Linux & Mac OS X.
2011-05-15 19:20:14 +00:00
glsatz
e3032e51bb Include contoller's node id in DriverReady notification.
Ignore battery/listening = false device types for controllers. This
prevents messages to controllers from being placed on the wakeup
queue. Currently all controllers will be treated this way. May need to
revisit for handhelp battery operated controllers.
2011-03-26 18:56:26 +00:00
glsatz
77c4592661 Remove spurious Log.h reference. 2011-03-22 01:38:18 +00:00
glsatz
ecee53a606 Set svn eol-style property to native to help with mixed platform file
end-of-line characters and patching.
2011-03-14 05:12:47 +00:00
dscottmiller3
976812ffd6 Removed SetLoggingState and GetLoggingState from Manager.h since Log is public 2011-03-09 13:58:31 +00:00
dscottmiller3
18f3f729d2 Implemented SetLogggingState in .NET and added GetLogggingState to both C++ and .NET 2011-03-08 18:21:57 +00:00
dscottmiller3
119c1d8d80 Fix for Decimal zero truncation 2011-03-07 20:24:54 +00:00
glsatz
d1d5215997 Enable/Disable logging by Brian Sutter <sutter1963@gmail.com> 2011-03-07 18:05:50 +00:00
dscottmiller3
27bd4142a5 Added some config params for the Trane thermostat (still in process)
Added log entry to confirm that the manufacturer log file is being read
Flag unusual situations in Driver.cpp
Remove trailing zeros from Decimal values
Add "Interface" option to be stored in the options.xml file (a start at moving serial port out of the library itself...need to expand to accomodate multiple drivers and HID devices)
2011-03-06 22:00:45 +00:00
glsatz
f78cd80fd3 Patch for zero node number in RemoveMsg.
Patch to handle zero node number in Remove Node/Controller.
Patch to enable ReceiveConfiguration controller message.
2011-03-06 20:47:44 +00:00
glsatz
ca7439f849 Add SetValueLabel, SetValueUnits and SetValueHelp Manager interfaces for
already existing ValueID member functions.
2011-03-04 07:43:06 +00:00
glsatz
130614fd0c Add the Manager/Driver interface to determine if a variable is being
polled: isPolled( ValueID )
2011-02-25 04:56:53 +00:00