From 8c5de31d983435bddf46167b9cd57d88e4de3fc6 Mon Sep 17 00:00:00 2001 From: Roland Jax Date: Wed, 26 Nov 2014 13:04:36 +0100 Subject: [PATCH] README, NEWS and ChangeLog adapted. --- ChangeLog | 276 +----------------------------------------- NEWS | 113 +---------------- README | 26 ++-- src/ebusd/busloop.cpp | 2 + 4 files changed, 14 insertions(+), 403 deletions(-) diff --git a/ChangeLog b/ChangeLog index e758e4da..0fa7276b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,275 +1 @@ -ebusd - ChangeLog ------------------ - -2014-10-28 Roland Jax -* libebus project merged into ebusd project. - -2014-10-21 Roland Jax -* class EBusLoop: recvBuffer removed. - -2014-10-09 Roland Jax -* class BaseLoop, EBusLoop: polling functionality implemented. -* Version changed from 0.3.0 to 0.4.0 - -2014-10-06 Roland Jax -* class CYCData deleted; functionality is moved into libebus. - -2014-10-03 Roland Jax -* class Logger: minor name changes. -* class CYCData: delCommands fixed. -* class BaseLoop: config option added. (config reload implemented) - -2014-10-02 Roland Jax -* class Network splitted into classes Network and Connection. -* class Message separated from class BaseLoop. -* global Objects (network, commands, ebusloop, cycdata) relocated into - new global Object baseloop. -* class BaseLoop: log option reworked (logarea -> logareas; loglevel -> log level). - -2014-06-26 Roland Jax -* ebusdump merged into ebusctl. - -2014-06-25 Roland Jax -* ebusctl added (includes ebusd_scan and ebusd_send) -* Version changed from 0.2.1 to 0.3.0 - -2014-06-22 Roland Jax -* 'stop' daemon command added. - -2014-06-03 Roland Jax -* ebusd_send, ebusd_scan added. -* class Appl: program arguments parsing improved. -* directories utils->lib and tools->tool renamed. -* Version changed from 0.2.0 to 0.2.1 - -2014-05-11 Roland Jax -* ebus-daemon merged into ebusd. - -2014-05-11 Roland Jax -* Beta-Test for ebus-daemon started. - -2014-01-09 Roland Jax -* Initial commit. - ---- - -2014-03-16: -* Specific vaillant data type "ttm" (time table minutes) added. - (thx hendrikw / KNX Forum) - -2014-02-21: -* fix crash: Create a local copy of the string. (thx Hannes Gredler) -* Some cosmetic changes. - -2014-02-20: -* Missing void declarations in various function parameter added. -* New branch "socket" created. -* Improved ebus device handling to use tcp based device too. - -2014-01-22: -* autogen.sh modified. - -2014-01-05: -* Missing daemon option -n (nodevicecheck) fixed. - -2013-12-07: -* Vaillant configuration files for VWx Heat Pumps added. - -2013-12-04: -* Vaillant configuration files for VR 60/3 added. -* Vaillant configuration files for VR 90/3 changed. -* Vaillant configuration files for CI (Control Interface) added. - -2013-12-02: -* Vaillant configuration files for VPM 30/35 W added. -* Vaillant configuration files for VR 90/3 added. - -2013-12-01: -* New branch "newDataTypes" created. -* More data types (char, int, long, float) added. -* Vaillant configuration filse for VPM 20 S added. - -2013-11-29: -* New daemon option nodevicecheck added. - -2013-11-19: -* Data type of struct commands.s_type changed from integer to char[2]. Possible - data types are: BR, MM, MS. (BroadCast, MasterMaster, MasterSlave) -* Wolf configuration files converted to new version. -* README fixed. - -2013-11-06: -* Specific vaillant data type "ulg" (unsigned long) added. - -2013-09-20: -* Removed unnecessary spaces located behind last return value. (thx JuMi2006 / KNX Forum) -* Removed more unneeded space characters. (thx JuMi2006 / KNX Forum) - -2013-09-04: -* Fixed eb_recv_data_get function. (Replaced strncpy with memcpy.) - -2013-08-26: -* Modified hex decode routine. (To set start/end point of data bytes.) -* Some cosmetic changes. - -2013-05-28: -* Modified timeout statement, too force serial device reconnect. (thx aloz77 / KNX Forum) - -2013-05-27: -* Added timeout to select at main_loop. (thx aloz77 / KNX Forum) - -2013-05-25: -* Modified hex Dump (EBH) for active sent messages. (thx Fry / KNX Forum) -* Changed telnet connecting log level info from L_NET to L_DBG. -* Added ability to reopen temporary removed serial device. (thx aloz77 / KNX Forum) - Attention: If the serial device is removed, network socket will be closed too. -* Removed data output format for executed commands. (thx JuMi2006 / KNX Forum) - -2013-05-24: -* Added hex type to eb_cmd_encode_value function. (thx Fry / KNX Forum) - -2013-05-17: -* Modified eb_serial_valid function and usage. (thx aloz77 / KNX Forum) - -2013-05-16: -* Added ability to restrict tcp connection to localhost. (thx aloz77 / KNX Forum) -* Added skip of negative sleep time while waiting for QQ byte. (thx aloz77 / KNX Forum) - -2013-05-05: -* Added function checks whether the FD is still a valid serial device. - -2013-04-27: -* Improved csv files read in a way that ebus parts are not case sensitive. -* Added eb_cmd_uppercase function. - -2013-04-17: -* Changed error messages from daemon startup vom E_ERR to E_ALL. - -2013-04-09: -* Extended signal handler to fit with logrotate / logging facility. -* Added ebusd.logrotate.d file too contrib. -* Added gentoo ebusd.init.d and ebusd.conf.d scripts. -* Reverted logging functions too old behavior. - -2013-04-08: -* Logging functions changed so it fits together with the behavior of logrotate. -* Fixed function eb_cmd_search_com_id so it compares class length too. - -2013-03-28: -* Fixed daemon crash if some spaces was found behind command (without subcommands.) - -2013-03-16: -* Fixed slave message CRC check for cyc messages. - -2013-03-15: -* Improved cyc commands data handling so all parts from message could be decoded. -* Added new parameter d_part to element configuration part. -* Updated documantation. -* ebusd.init script (debian) slightly modified. - -2013-03-06: -* Fixed extension for command files in configuration. A point is not necessary. - -2013-03-03: -* Added debian init script ebusd.init to contrib. -* Fixed autogen.sh that it worked properly with bourne shell. - -2013-03-01: -* Added new directory doc with some usefull documentation. -* Added an example command csv file into contrib directory. -* Changed width of class string from 5 to 20. - -2013-02-28: -* Added loglevel as telnet command to change logging level at runtime. -* Moved eb_cmd* functions from ebus-bus file to new ebus-cmd file. -* Added many explicit casts to remove compiler warnings. - -2013-02-27: -* Fixed memory leak in eb_raw_print_hex twice. -* Added new config parameter print_size to adjust number of bytes at output stream. - -2013-02-25: -* Fixed possible memory leaks in eb_raw_print_hex and eb_search_cyc - -2013-02-22: -* Added too each client answer (no need of special config for putty) -* Minor print cosmetic with cyc commands on Master Slave types - -2013-02-21: -* Improved decoding of cyc commands to all ebus message types. -* Added function eb_cyc_data_process to decode all cyc ebus message types. -* Removed hex bitmask of logging output. -* Fixed uninitialized buffer in eb_cyc_data_recv. - -2013-02-19: -* Added some usefull description of ebusd to README - -2013-02-18: -* Changed name of functions for message handling from eb_send_cmd to eb_msg_execute. -* Changed name of eb_msg_search_hex function to eb_msg_search_cyc. - -2013-02-17: -* Added csv tool to print command configuration. -* Added decoding of cyc commands. -* Fixed daemon crash when telnet command window closed without quit signal. -* Split dat (date) decode format into bda (bcd) and hda (hex). -* Split tim (time) decode format into bti (bcd) and hti (hex). -* Added internal buffer for cyc data, so cyc commands can be used like get/set - to fetch last data. - -2013-02-16: -* Structure for commands improved so only one structure for GET/SET/CYC is needed -* Possible formats for GET / SET (asc, bcd, d1b, d1c, d2b, d2c, dat, tim) -* Commands with format hex will return undecoded data. -* Added d_valid to structure. It will be used to check answers with given items. -* Added functions to decode/encode date and time to library. -* Changed CSV file struture to fit new data structure. - -2013-02-10: -* Changed decode datatype from int to bcd -* Added bcd, d2b and d2c too available SET commands -* Changed CSV file structur - move comment on position 4 - -2013-02-09: -* Upgrade the send ability for ebus SET commands. (only d1b and d1c) - -2013-02-06: -* Fixed increase length of ebus command from 20 to 30 -* Fixed set initiale value of crclen before escape in eb_send_data_prepare() -* Fixed eb_msg_decode_result() do strtok on local copy from r_pos. Maybe - we don't wont do modife the original value. -* Fixed compare strlen of given command with command from csv file too. -* Added send_retry parameter (2=default) to daemon configuration. - -2013-02-04: -* Add the ability to send commands via telnet to daemon - (This ist just implemented for GET and a few ebus commands for response) -* The telnet commands will collected into a message buffer. - If the cycle buffer is free, only one command is sent. - -2013-02-01: -* Added functions to read ebus command files and load them into nested - structure. This will be used to send and decode ebus messages. -* Try to read daemon configuration file at daemon directory too. -* ebus files splitted into ebus-decode and ebus-bus part. -* Moved log.* from src to lib directory and build liblog.a - -2013-01-25: -* Added autogen.sh script in main dir. Just type ./autogen.sh for build all. -* Logging functions changed from level to class system. The advantage of this - system is that different classes can be easily mixed together. - There are now 8 classes: INF, NOT, WAR, ERR, DBG, EBH, EBS, NET - and ALL for just all messages. - -2013-01-24: -* Added new directory contrib with daemon configuration file -* Added functions with cfg_ prefix (utils). These parse - the daemon configuration file and set parameters. - Priority of given configuration by: - 1. commandline argurments - 2. configuration file - 3. default configuration (hard coded) - -2013-01-17: -* Initial release -* Prepare Source to compile with GNU Autotools +https://github.com/yuhu-/ebusd/commits/master diff --git a/NEWS b/NEWS index a5297fe9..3032a631 100644 --- a/NEWS +++ b/NEWS @@ -1,112 +1 @@ -ebusd - NEWS ------------- - -2014-10-09 Roland Jax -* Polling ability implemented. -* Reload function for ebus configuration added. -* Version changed from 0.3.0 to 0.4.0 - -2014-08-05 Roland Jax -* Vendor specific configuration files removed. - -2014-06-26 Roland Jax -* ebusctl added (includes ebusd_scan and ebusd_send) -* ebusdump merged into ebusctl. -* Version changed from 0.2.1 to 0.3.0 - -2014-06-03 Roland Jax -* ebusd_send, ebusd_scan added. -* Version changed from 0.2.0 to 0.2.1 - -2014-05-11 Roland Jax -* ebus-daemon merged into ebusd. - -2014-05-11 Roland Jax -* Beta-Test for ebus-daemon started. - ---- - -2014-03-16: -* Specific vaillant data type "ttm" (time table minutes) added. - (thx hendrikw / KNX Forum) - -2014-02-21: -* Improved ebus device handling to use tcp based device too. - -2013-11-19: -* Data type of struct commands.s_type changed from integer to char[2]. - -2013-11-14: -* Initial commit on github. - -2013-11-06: -* Specific vaillant data type "ulg" (unsigned long) added. - -2013-05-25: -* Added ability to reopen temporary removed serial device. (thx aloz77 / KNX Forum) - -2013-05-16: -* Added ability to restrict tcp connection to localhost. (thx aloz77 / KNX Forum) - -2013-04-27: -* Improved csv files read in a way that ebus parts are not case sensitive. - -2013-04-09: -* Extended signal handler to fit with logrotate / logging facility. - -2013-04-08: -* Logging functions changed so it fits together with the behavior of logrotate. - -2013-03-15: -* Improved cyc commands data handling so all parts from message could be decoded. - -2013-03-03: -* Added debian init script ebusd.init to contrib. - -2013-03-01: -* Added documentation and an example command csv file. - -2013-02-28: -* Added loglevel as telnet command to change logging level at runtime. - -2013-02-27: -* Added new config parameter print_size to adjust number of bytes at output stream. - -2013-02-22: -* Changed client answer code so normal telnet client can handle it - -2013-02-21: -* Improved decoding of cyc commands to all ebus message types. - -2013-02-19: -* Added some usefull description of ebusd to README - -2013-02-17: -* Added csv tool to print command configuration. -* Added deconding of cyc commands. - -2013-02-16: -* Structure for commands improved so only one structure for GET/SET/CYC is needed -* Possible formats for GET / SET (asc, bcd, d1b, d1c, d2b, d2c, dat, tim) - -2013-02-06: -* Fixed some malfunctions of command decode function -* Added parameter send_retry so the daemon can try x times to send command - -2013-02-04: -* Added the ability to send commands via telnet to daemon - (This ist just added for GET and a few ebus commands for response) - -2013-02-01: -* Added functions to read ebus command files - -2013-01-25: -* Added autogen.sh script in main dir -* Logging functions changed from level to class system - -2013-01-24: -* Added example daemon configuration file -* Added functions for parsing daemon configuration file - -2013-01-17: -* Prepare Source to compile with GNU Autotools +https://github.com/yuhu-/ebusd/releases diff --git a/README b/README index dfc45852..1c555bb7 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ -ebusd - README --------------- +ebusd +----- The ebusd provides a communication interface to the energy bus (ebus) which is used in various heating systems. @@ -8,12 +8,11 @@ which is used in various heating systems. Features -------- - * send and receive ebus commands for all ebus message types - (message types are: Broadcast, Master-Master and Master-Slave) - * collect data of cycle messages - * poll messages and collect received data - * write raw data into dump files (for debugging purpose) + * send and receive ebus commands + * collect data of cycle commands + * poll commands and collect received data * scan ebus to identifies bus participants + * dump raw data into binary files * available daemon commands: - get fetch data from ebus participant @@ -45,16 +44,11 @@ vendor specific configuration files for ebusd See https://github.com/yuhu-/ebus-configuration +Tools +----- -ebusctl - client program for ebusd ----------------------------------- - -server commands: - * connect to ebusd (socket) and execute server commands (commands see above) - -local commands: - * 'feed' ebusd with raw data from dump files (or telnet) to ebusd - + * 'ebusctl' is a tcp socket client for ebusd. + * 'ebusfeed' is a tool to feed ebusd with raw data from dump files. Build diff --git a/src/ebusd/busloop.cpp b/src/ebusd/busloop.cpp index 06292767..f0f333fb 100644 --- a/src/ebusd/busloop.cpp +++ b/src/ebusd/busloop.cpp @@ -307,6 +307,8 @@ void BusLoop::collectCycData(const int numRecv) void BusLoop::analyseCycData() { + //TODO check the input data for validity + static bool skipfirst = false; if (skipfirst == true) {