* 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>
* Ensure filtered_attributes and filtered_optimistic are also regex
Bring filtered_attributes and filtered_optimistic in line with the newer filtered_cache.
All three of them are now regex matches instead of absolute matches.
* update tests to use regex ^$ anchors
* utils: add filterProperties
* want a way to prevent attribute from being cached
* Update filtered_cache description to be more clear
* Fix emitStateChange was returning wrong payload in to parameter
* Directly get filtered_cache from entity and forgo parameter to State.set()
* Add tests to cover filtered_cache
* Update state.ts
* Update controller.test.js
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>