Commit Graph

159 Commits

Author SHA1 Message Date
Martin Preuss
eeffe225ec Improved mqtt device detection and handling. Add command to announce new values. 2024-02-13 23:49:56 +01:00
Martin Preuss
793d12693b aqhome: make datafile a virtual class. Add datafile_direct.
this is to allow for cached data file handling later.
2024-02-11 22:21:49 +01:00
Martin Preuss
5888bc9068 Storage: make storage class virtual with default implementations. 2024-02-11 20:07:30 +01:00
Martin Preuss
c7ee9dc18c Fixed bug. 2023-10-21 02:19:30 +02:00
Martin Preuss
b818065b9b Added function AQH_ValuesDataIpcMsg_GetDatapoints(). 2023-10-21 02:17:48 +02:00
Martin Preuss
c9b88f2cea Add "data" argument to event handlers. 2023-10-18 15:28:32 +02:00
Martin Preuss
f0cfbfccc4 Condensed functions for GetDataPoints to only use one.
Keep HandleGetLastData for now (for older clients).
2023-10-18 15:27:53 +02:00
Martin Preuss
a3f866f69c Renamed files timer* to eventtimer* 2023-10-13 00:48:47 +02:00
Martin Preuss
16e08d623d Started adding an event layer. 2023-10-12 00:35:08 +02:00
Martin Preuss
ddded51f9e removed unavailable includes. 2023-10-06 18:06:09 +02:00
Martin Preuss
7b89df6153 sort files in 0BUILD files. 2023-10-06 18:05:46 +02:00
Martin Preuss
161dee1667 remove unneeded includes. 2023-10-06 18:05:27 +02:00
Martin Preuss
8613fbdad7 Added handling of timeout cmd arg for valgrind test. fixed memory leaks. 2023-10-05 23:56:53 +02:00
Martin Preuss
bfed937950 More work on mqtt tool. 2023-10-04 16:02:02 +02:00
Martin Preuss
831c94f898 Read config file for fallback when no command line arguments are given. 2023-10-03 16:51:15 +02:00
Martin Preuss
f56b25d06f renamed deviceNameForDriver of AQH_VALUE and nameForDriver of AQH_DEVICE. 2023-10-03 13:42:21 +02:00
Martin Preuss
17d4ce5125 Change AQH_Value field NameForDriver to Name and make it only contain the value name.
Previously this field contained the device name, too. This would make it
necessary for drivers to remove the device part of the name when SetValue
is called. Instead the device name is now always provided by the driver in
the appropriate field DeviceNameForDriver.
2023-10-03 13:31:05 +02:00
Martin Preuss
253b3862da add IPC command to modify device info on the server. 2023-10-02 23:22:59 +02:00
Martin Preuss
45da38b64a added devices, added command getdevices. 2023-10-01 23:44:26 +02:00
Martin Preuss
c57472d86e removed unneeded IPC message types. 2023-10-01 21:53:55 +02:00
Martin Preuss
1e27223dfa Simplified IPC code to use less different IPC messages. Share more code. More qork on MQTT code. 2023-10-01 21:31:02 +02:00
Martin Preuss
bf89562d51 Removed unneeded code. 2023-09-20 17:51:02 +02:00
Martin Preuss
d6ae79cf81 Decreased verbosity. 2023-09-17 19:24:06 +02:00
Martin Preuss
9b7d043682 Started working on aqhome-nodes which will replace aqhomed. 2023-09-13 23:31:02 +02:00
Martin Preuss
161b979e84 added specific IPC messages and use them instead of more generic messages. 2023-09-13 12:07:11 +02:00
Martin Preuss
11798a39d6 Revert "Use INHERIT mechanism for AQH_Tag16IpcMsg."
This reverts commit 07abc76a7a.
2023-09-12 21:33:00 +02:00
Martin Preuss
07abc76a7a Use INHERIT mechanism for AQH_Tag16IpcMsg. 2023-09-12 21:32:51 +02:00
Martin Preuss
e1639a9d13 Implemented setdata in server and aqhome-tool. 2023-09-12 00:04:37 +02:00
Martin Preuss
71f5ce8c7e Implemented GETLASTDATA in server and aqhome-tool. 2023-09-11 22:55:38 +02:00
Martin Preuss
518a3a53f9 Heavy work on IPC.
We will now have a broker (aqhome-data) which stores data and distributes
value change messages among connected clients.
aqhomed will connect to that broker and send its values there.
aqhome-mqtt will also connect to the broker and send its values there.
Other clients can later connect to check for changes and react according
to rules.
2023-09-10 23:13:03 +02:00
Martin Preuss
2b733a52ca Introduces tag16 ipc messages. 2023-09-10 00:22:31 +02:00
Martin Preuss
3bfb39966f aqhome-data: adding datapoints basically works now. 2023-08-17 00:24:38 +02:00
Martin Preuss
f9ae85b9ad more work on IPC data protocol. 2023-08-14 21:38:21 +02:00
Martin Preuss
5fdb33c192 started working on aqhome-data.
this will be the data daemon storing datapoints, accessable via IPC.
2023-08-14 02:00:37 +02:00
Martin Preuss
51a13f286f started work on IPC protocol for data service. 2023-08-13 17:56:31 +02:00
Martin Preuss
290967a7c5 added generic IPC result message. 2023-08-13 17:56:00 +02:00
Martin Preuss
64938b9cb0 Prepared introduction of multiple ipc protocols. 2023-08-13 14:09:15 +02:00
Martin Preuss
a4c0f2e6fd aqhome-storage now checks and parses mqtt messages and stores values in datafiles. 2023-08-12 16:55:06 +02:00
Martin Preuss
c1353c056a added list of received and unknown topics. 2023-08-12 10:53:56 +02:00
Martin Preuss
f5878f43ff Added datafile and handling of MQTT publish message. 2023-08-12 02:06:54 +02:00
Martin Preuss
e25a391fde Fixed an important bug (lead to segfaults). 2023-08-11 03:21:31 +02:00
Martin Preuss
978d3f6f7a editing of values now also works. 2023-08-11 03:21:06 +02:00
Martin Preuss
c5171714b2 added url handler for mqtt topics. 2023-08-11 01:24:31 +02:00
Martin Preuss
96c2b9a649 prepared for u_mqtttopic module. 2023-08-10 22:26:30 +02:00
Martin Preuss
487e506a01 added urlhandler for devices. 2023-08-10 19:28:10 +02:00
Martin Preuss
23c9e286b1 Fixed invalid memory access. 2023-08-10 13:28:24 +02:00
Martin Preuss
a2c79aa6db Fixed memory leaks. 2023-08-10 13:27:51 +02:00
Martin Preuss
9b0122e34c addd urlhandler for static content, more reusing of code. 2023-08-10 01:45:12 +02:00
Martin Preuss
b9a54b8ffb added #define DISABLE_DEBUGLOG to source files in http and service folders
will alter be enabled to disable verbose debug logging.
2023-08-09 17:45:59 +02:00
Martin Preuss
b5916acf79 fixed memory leaks, added cleanup code, added valgrind scripts to test binaries 2023-08-09 17:24:44 +02:00