Commit graph

93 commits

Author SHA1 Message Date
Stefan Persson
35028b1c82 Added support for rain and wind sensors (Oregon Scientific) in telldus-core 2013-09-02 16:28:39 +02:00
Micke Prag
d88d5a5098 Remove empty lines according to google style guidelines 2012-11-08 15:40:31 +01:00
Micke Prag
c3bcd64246 Queue all device commands and execute them from the main thread.
By queueing all commands the client library will return immediately and all
executed commands will not block any more. This is benificial for applications
that calls the api using the same thread as the ui thread. For instance groups
could before take several seconds to execute and the application would freeze in
the meantime. If the time to execute was longer than the timeout between
telldus-core and telldusd other nasty stuff like resending the same group up to
20 times could happen.

This change fixes all that with the drawback that we do not really know if the
command was succuessful when returning. We do the best to check all
prerequisites to determine it the call will be successful. Errors like
TELLSTICK_ERROR_COMMUNICATION and TELLSTICK_ERROR_BROKEN_PIPE will not be
reported back to the client. We can still log them though.

This fixes #260. Please reopen if the issue still exists.
2012-11-02 19:52:07 +01:00
Micke Prag
818ae8abed Rename ControllerMessage::getIntParameter() to ControllerMessage::getInt64Parameter() 2012-06-19 16:47:01 +02:00
Micke Prag
6688f44084 Missing username in TODO according to Google style guidelines "readability/todo" 2012-06-19 12:30:52 +02:00
Micke Prag
5d2e3f33c8 Use C++ casting instead of C casting according to Google style guidelines "readability/casting" 2012-06-19 12:30:52 +02:00
Micke Prag
2fc9d470dd If an else has a brace on one side, it should have it on both according to Google style guidelines "readability/braces" 2012-06-19 12:30:52 +02:00
Micke Prag
1ac3fc25e0 Use pointers when passing references according to Google style guidelines "runtime/references" 2012-06-19 12:30:52 +02:00
Micke Prag
e7bb22cf34 We need spaces surrounding operators according to Google style guidelines "whitespace/operators" 2012-06-19 12:30:51 +02:00
Micke Prag
dc357ddeca Remove extra blank lines according to Google style guidelines "whitespace/blank_line" 2012-06-19 12:30:51 +02:00
Micke Prag
110dcc2c57 Should have spaces after comma according to Google style guidelines "whitespace/comma" 2012-06-19 12:30:51 +02:00
Micke Prag
3a0cee353a Fix include header order according to Google style guidelines "build/include_order" 2012-06-19 12:30:50 +02:00
Micke Prag
75f21588e5 Should have a space between // and comment "whitespace/comments" 2012-06-19 12:30:50 +02:00
Micke Prag
e1608f94a8 { should almost always be at the end of the previous line, according to Google style guidelines "whitespace/braces" 2012-06-19 12:30:50 +02:00
Micke Prag
8d0228ced2 Add copyright message according to Google style guidelines "legal/copyright" 2012-06-19 12:30:50 +02:00
Micke Prag
5b5be387cd Include the directory when naming .h files. According to Google style guideline "build/include". 2012-06-19 12:30:49 +02:00
Micke Prag
9500c4c898 Convert dos endings to unix in telldus-core, see #160 2012-02-27 17:37:52 +01:00
Micke Prag
39265caa01 Refactor to reuse same functions in settings for both devices and controllers 2012-02-23 12:14:32 +01:00
Micke Prag
e834160492 Move class Event and EventHandler into the TelldusCore namespace 2012-02-03 17:09:38 +01:00
Stefan Persson
b84e8b3806 Added TELLSTICK_ERROR_BROKEN_PIPE to distinguate between when communication with TellStick fails due to timeout or actual error. 2012-01-12 11:39:04 +01:00
Stefan Persson
8d22eff5da Added wait for ack on noop-command 2012-01-11 11:38:03 +01:00
Stefan Persson
dfae48ef33 Merge remote-tracking branch 'origin/t132' into ticket132
Conflicts:
	telldus-core/service/DeviceManager.cpp
2012-01-10 10:01:55 +01:00
Stefan Persson
06ac023b4a Resetting USB and retrying send once if TellStick is not found, in Linux 2012-01-10 09:55:26 +01:00
Stefan Persson
86554b26ac Code cleanup 2011-12-28 11:14:59 +01:00
Micke Prag
1646ebd71b Always iterate all devices when we get at controller message. Even if it matches it can match more then one device. 2011-09-05 09:01:30 +00:00
Micke Prag
c4864af31b Take the value from the sensor object instead of the message. This way we allow it to be converted into a more suitable format. 2011-05-16 14:18:02 +00:00
Micke Prag
c247ec4269 Compiler fixes for Windows. 2011-05-16 08:37:30 +00:00
Micke Prag
856e23d7da Added functions DeviceManager::getSensors() and DeviceManager::getSensorValue() 2011-05-13 12:48:45 +00:00
Micke Prag
8f2413e630 Changed parameter dataType in SensorEvent to be an int instead of string 2011-05-12 15:17:24 +00:00
Micke Prag
38cfda5fcc Handle sensor messages and post them to the client 2011-05-12 14:56:07 +00:00
Micke Prag
17e93f0a4d Return the error messages from Settings if something goes wrong 2011-03-03 15:37:36 +00:00
Stefan Persson
fe7f8f6eb8 Code cleanup, removed todos 2011-03-03 14:21:57 +00:00
Micke Prag
cccaf86cb8 Made it possible to specify a serial to a controller to disconnect. This controller will be disconnected even if it is still available 2011-03-03 11:21:41 +00:00
Micke Prag
adce4c941c Refactored DeviceManager::getDeviceMethods() to clean up the interface and added 2 overloaded helper functions 2011-03-02 09:58:54 +00:00
Micke Prag
e9a7504c9f Ignore TELLSTICK_ERROR_METHOD_NOT_SUPPORTED on groups since there might be other devices supporting the method. Except if no device supports the method 2011-02-28 16:28:28 +00:00
Stefan Persson
b4a96af45f Groups in group doesn't crash service now. Status of groups in group are updated. 2011-02-28 13:56:21 +00:00
Stefan Persson
801b7f3029 Fixed bug that deadlocked service in Linux when groups were used. 2011-02-25 13:17:36 +00:00
Micke Prag
9b9fae9522 Skipped unnecessary copies. 2011-01-04 11:37:14 +00:00
Stefan Persson
baf414e871 "Group"-type divided into group and scene. 2010-11-22 09:42:33 +00:00
Stefan Persson
75d13d228e Device group functionallity added to Telldus Center. 2010-11-18 16:24:23 +00:00
Stefan Persson
a6a554b4d7 Another fix to avoid infinite loops in group belonging to itself.
Different approach when relocking devices in doGroupAction.
2010-11-18 11:31:54 +00:00
Stefan Persson
66e54a2095 Supported method-fix for state callback for groups 2010-11-17 12:53:28 +00:00
Stefan Persson
88067a97b7 Supported methods-fix, bell not changing state even when turnon was called (as a fallback) 2010-11-17 11:49:58 +00:00
Stefan Persson
c63a8d6a99 Check so that group/scene doesn't call itself again. Secondary calls are not monitored though. 2010-11-17 09:24:28 +00:00
Stefan Persson
c54088b27c Basic scene support added to core. 2010-11-17 08:53:46 +00:00
Stefan Persson
6910512aae Basic support for groups in core. Still some locking/unlocking issues to discuss. 2010-11-16 09:42:24 +00:00
Micke Prag
41c763cbd4 Converted Event pointers to smart pointers instead 2010-10-28 08:45:17 +00:00
Micke Prag
c59ec99c6d Added an extra scope so we don't delete the d variable while we have a MutexLocker locking anything inside the d variable 2010-10-27 15:11:58 +00:00
Stefan Persson
fbc72cff52 Receive messages in linux. Deadlocks fixed 2010-10-26 15:06:02 +00:00
Stefan Persson
db6ac7b939 Linux actions implemented 2010-10-26 10:40:10 +00:00