-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathTODO
219 lines (210 loc) · 8.24 KB
/
TODO
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
=== TODO ===
Settings:
- check handling of device renaming
- Refactor jQuery hacks to Vue bindings
- Seperate call for device enable/disable
- Show number of messages per device
- Disable device capabilities
- CHECK en.json translations
HASS:
- light modes
- HA Discovery (MQTT_statestream + BluePrint)
- Include configuration overrides
- Duplicate (unavailable) onoff entity (light & switch) for light devices
- Update lights & dimming (prevent brightness sliders returning to previous position due 'onoff' call)
- [BUG] Cover stop -> resume
- Update correct HSV values when setting one of the values (color topic)
- Set numeric values? input_number: https://www.home-assistant.io/components/input_number/?
- Fans
- Locks
- Vacuums
- thermostat modes
- configure additional properties for the remaining capabilities (e.g. icon, device class, etc.)
- [REFACTOR] De-couple parse & format logic. Refactor data processing. Create handlers per type?
Homie:
- refactor color handling
- Use ValueParser
- Do NOT retain messages for non-getable capabilities (button)
- Introduce queue for updating device state (use brightness slider ha app)
- Device Aliasses (e.g. dim/brightness, light temperature, etc.)
- Publish onoff message on dim && dim when switching onoff?
- Fix RGB
- (listen to) broadcasts
- Zone depth > 1 (folder structure)
App:
- [BUG] disabling devices it removed them from the homie/homey topic tree but created another named literally homie/deviceID
- [Check] Refresh devices on device/zone changes + Broadcast
- Translate to Dutch
- Translate to German
MQTT Device:
- default percentage scaling + example value templates: value / 100 & value * 100
- fetch retained value when configuring topics
- Handle (un)installing of MQTT app
- availablility topic
- Translations
- auto detect on/off values (setting) from state topic
- auto fill set topic while typing state topic
- Color (+ device setting)
Discovery (auto discover external devices):
! [Check] Capability matches Nefit
- Detect already configured devices & mark them created
- Implement HA discovery
- Keep a record of previous discovery topic
Commands:
- Updating state for multiple devices (e.g. all devices in a room) == Homie broadcast?
- Trigger flow
- Info requests:
* System
* Device classes
* Zones
* ...
- Listen to scene flow triggers
Insights / System info:
- Publish system info on seperate topics (i.s.o. json)
- updates per 1, 5 & 15 minutes
- (All) Prometheus functionality
======= DONE =======
- MQTT Device: handle message loops
- MQTT Device: custom icon
- MQTT Device: Capability details
- MQTT Device: value & output templates with mathJS expressions
- color temperature fix
- MQTT DEVICE: allow the same topic to be used for multiple capabilities
- MQTT DEVICE: edit capabilities while creating a device
- MQTT DEVICE: Custom display names
- MQTT DEVICE: Use the same capability multiple times
- Discovery: Disconnect MQTT client on done
- Discovery: [Bug] Close button does not react (discovered devices view)
- Discovery: Styling bug empty list discovered devices (empty row?)
- Disconnect MQTT client on done
- MQTT Device: unsubscribe from topics on uninstall
- unsubscribe from topics on MQTT Client (e.g. Uninstall app / topic switch)
- Skip non-homie device topics in homieDevice message handling
- changed default HA status topic to: homeassistant/status
- handling flase & 0 payloads
- MQTT Device jsonp output template
- MQTT Device jsonPath input value
- HA dispatchers cover set position fix
- Change MQTT device capabilities and topics in advanced device config
- prevent message loops when the MQTT device state is updated by a message
- MQTT Device onoff values + state updates
- FIX: changing advanced settings of an MQTT Device
- flow card to trigger broadcast
- removed icons from HA dispatcher payload
- initial topic: remove guid from deviceId
- SDK v3: MQTT discovery
- SDK v3: MQTT Device
- delay initial broadcast
- fix SDK 3 issues
- Upgrade to SDK v3
- readme.txt & changelog
- Normalize device name
- Fix getDeviceName for homey 1.5.13
- MQTT discovery (see OpenHAB / Domoticz)
- Implement Homie convention (Homey v1.5.13)
- Homie Convention for Homey v2.0
- Normalization BUG
- Handle device & zone name changes in HomieDispatcher
- Try to combine the old topic format with the Homie Convention (&Ditch the old topic format?)
- Fix on/off button
- Disable settings running button (show loader) untill state active state is received
- Settings page
* Select communication protocol (Homie | Homey)
* Homie color format (HSV | RGB)
* Configure root topic
* Configure Homie topic
* Enable/disable system state dispatcher
* Enable/Disable triggers & commands
* Include/Exclude devices & capabilities for dispatchers
* refresh/resend state
* Inject device id
* Update settings on save
* Display current status
* Log stream
- Rename to 'MQTT Hub'
- Fix app icon
- App images
- BUG: Initial settings (root topic undefined)
- BUG: Normalize injected device class & zone
- Custom protocal & disable non-protocol options
- Activate & update command + rename to 'set'
- Settings Instructions tab
- Register & cleanup device topics when disabling devices
- fix non-awaited promises
- Catch Renaming zones / devices
- Check: dispatched firmWare version
x test internal MQTT client ('socket hang up' fix? duplicate mem usage, config & maintenance...)
- [fixed] some $set commands don't work (false|null|undefie|'' messages)
- [fixed] all devices are shown off @ first load (dispatch state @ registering devices)
- HASS Discovery setup
- HASS Devices
- HASS Enum & string values
- broadcast on hass birth
- put HASS discovery before Homie
- birth & last will messages
- CHECK: MQTT Client handling 0 values
- implement scalable property 0-1 (float) | 0-100 (int)
- HASS Broadcast
- HASS disable devices
- HASS enable device => send discover config
- HASS Keep track of device topics & remove messages from queue when disabling device
- Send empty messages to clear devices
- [BUG] set command not working when deviceId or topic root is empty
- HASS settings (enable disable discovery + topic root)
- seperate root topics (homie, HASS, system state, custom, etc.)
- Make class constants configurable
- Re-factor settings
- settings restore app defaults button
- [CHECK] Load deviceId @ first load
- Allow all chars for DeviceId, normalize for topics (based on setting)
- Inject deviceId (normalized) in topics
- Skip reloading when changing birth & last will messages
- HASS: Implement full reload @ settings change
- optional normalization for custom protocol
- system info topic configurable
- Birth & Last will topics + messages
- enable/disable set command handler
- HASS: Enable/disable
x Settings: Split hiding of devices & applying default (protocol) settings
- [CHECK] broadcast on settings changes (if needed)
- [CHECK] initial settings @ clean install
- Check 'App' initilaized (prevent settings crash)
- Add additional boolean checks
- Clear command & system state topics when changing topic
- Clear all HASS messages (Register all topics &clear @ settings topic change)
- color values: round float values (int)
- Scale 0...100 round float values (int)
- set value decimals => toFixed(capability.decimals)
- Update Instructions
- Adjust documentation for HA Discovery & changed settings (readme)
- [BUG] client/hub registration?
- [BUG] MQTT Client installed
- Fixed HASS Status topic
- Normalization fixes
- MQTT Client availability/installed checks (app startup order)
- Log levels
- Fix HASS binary sensors
- broadcast HASS discovery on custom protocol changes
- Fixed config changes detection
- Homie integer datatype fix
- display broadcast progress (loader)
x Debug log level warning (20% speed improvement)
- [Check] shutdown procedure
- [Check] all code TODO's
- profiling/optimizations
- Enable/disable all devices
- HASS: Changed Light dimming to 'first'
- HASS: Covers
- Create a virtual device acting on MQTT messages
- MQTT Device socket exceptions => static messageQueue for all MQTT Devices
- move utils.js to shared location
- Implement Homie discovery
- Create virtual devices from MQTT discovery
- Device Icons (assets)
- Styling capabilities list
- MQTT Device FlowCards
- App Icon with Homie in center
- Fix handling of adding/removing Homey devices (DeviceManager)
- [BUG] All devices MQTT Hub zone
- MQTT Device: Percentage scale setting
- Manage topics after device is installed