* Fixed caching problem where old messages were sent out if long debounce values is used for sensor.
* Fixed caching problem where old messages were sent out if long debounce values is used for sensor
* State cache updated during debounce IF cache is enabled in configuration.
* Fixed code styles
* Implemented test case for testing State cache is updated correctly during debouncing
* If-statement was obsolete as cache can be update right away.
---------
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
* fix for TypeError: The "path" argument must be of type string in writeDevicesOrGroups
* added test case that produces the error when running on old implementation
Summary of all failing tests
FAIL test/settings.test.js
● Settings › Should add devices even when devices exist empty
TypeError: The "path" argument must be of type string. Received undefined
275 |
276 | jest.mock('../../lib/util/data', () => ({
> 277 | joinPath: (file) => require('path').join(mockDir, file),
| ^
278 | getPath: () => mockDir,
279 | }));
280 |
at Object.join [as joinPath] (test/stub/data.js:277:41)
at joinPath (lib/util/settings.ts:245:38)
at writeDevicesOrGroups (lib/util/settings.ts:250:5)
at Object.write [as addDevice] (lib/util/settings.ts:555:5)
at Object.addDevice (test/settings.test.js:128:18)
* Fix extension path to make debugginge easier in VScode
* Fix linting error
* Add setting "cache_state_persist_on_leave" (default false)
This setting does not remove a device from State if it leaves the network
* Merge from upstream kk/dev
* Re-define cache_state_persist_on_leave to be a timeout
Allows the config to specify how long the state should be held (and the device to re-join & maintain the state).
Remove all pending deletions if the system is stopped
* Add debug. Fix "time" test
* Disable esline warnings for long debug lines
* Simplify state maintenance for leave/join devices
* Restore default configuration.yaml
* Don't track device presence via events, but examine herdsman on system stop
* Update configuration.yaml
* Update state.ts
* Update state.ts
* Update controller.test.js
* Update eventBus.ts
* Update eventBus.ts
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
* Adding 2 config params under 'frontend' : 'ssl_cert' and 'ssl_key' to contain file patch of certificate files to expose frontend in HTTPS.
* Taking all PR remarks in account.
Co-authored-by: phil <phil@8godsprod.com>
* Extract parsing of value reference '!' in settings into a function
* Allow to specify full file name in value reference '!'
This `network_key: '!secret network_key'` is really confusing because
it looks like a YAML tag named 'secret' and a value "network_key".
When we write `network_key: '!secret.yaml network_key'` instead, it's
a little clearer what's going on. Also, it's more consistent with file
references in 'devices' and 'groups'.
This allows specifying a path outside of the data directory using an
absolute path (e.g. /path/to/devices.yaml) or a path relative to the data
directory (e.g. devices.yaml, foo/devices.yaml, ../../devices.yaml, ...).
This change is backward compatible because file names and nested paths are
just a special case of a relative path.
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
* Fix cover state publishing of multi-endpoint devices
* WIP testing
* WIP test for multiEndpoint cover device
* WIP zigfred plus test
* WIP zigfred plus test
* Remove zigfred plus meta testing flag
* Working zigfred plus integration into bridge test
* Working integration of zigfred plus in tests
* WIP zigfred plus testing
* Add working test for multi-cover devices. Working cover state for multi-cover + multi-light devices.
* Fix republishing of cover state
* Fix cover position and tilt readout with postfix topic
* Fix homeassistant.test.js for zigfred plus cover
* Fix cover value template to support multi-cover devices
* Update homeassistant.ts
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>