aboutsummaryrefslogtreecommitdiff
path: root/TODO.md
blob: 0bf1cd1212e055520ce5ea4af8ff8b3386f84873 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# obinsect is a Work-in-Progress

There will be changes to the configuration file syntax!

Items which needs to be fixed in arbitrary order:

## OBIS list parsing

* Include some metadata

## Memory management

* All json-c allocations should be audited.  We are most likely
  getting some reference counts wrong
  
## MQTT connection

* make sure the client will attempt to reconnect on errors
* complete and verify all supported authentication methods, including
  TLS client certificates

## HAN port reader

* test and robustify, making sure the serial device can go away and
  reappear without breaking stuff

## Publishing

* Create a packet metadata section _before_ parsing, including stuff like
  1. timestamp
  2. program name
  3. program version


## Code refactoring

* cleanup is obviously necessary
* audit comments, making sure they are still semi-correct and relevant
* move most of the documentation comments to docs, or delete

## System integration

* add daemon mode?
* include OpenWrt packaging example?
* include systemd unit?
* add working config example, which could be used as-is?

## Logging

* add real logging, with at least debug, error and info levels
* support logging of all levels to MQTT.  Maybe modify topic config
  syntax to allow a LEVEL variable or similar?

## Main config file

* provide some sane defaults?
* add log configuration?
* add a settings section. Some possibilities:
   1. timestamp format
   2. include units (implies values as strings)
   



## ++++