Commit Graph

2428 Commits

Author SHA1 Message Date
Fabio Manganiello 3e4b13d20f
Added standard Vue component for confirm dialogs 2022-04-24 21:34:39 +02:00
Fabio Manganiello 321a61d06d
Align .section.right content to the right 2022-04-24 11:30:52 +02:00
Fabio Manganiello b22df768eb
Fixed entity icon alignment on mobile 2022-04-24 01:42:14 +02:00
Fabio Manganiello 8e2154f2b5
Do not overwrite an entity's state from an event if the state was not sampled 2022-04-24 01:41:45 +02:00
Fabio Manganiello a9751f21f1
`entities` should be the default view when the web panel is opened 2022-04-24 01:40:34 +02:00
Fabio Manganiello 135965176d
Support for entity icon color change 2022-04-23 17:52:21 +02:00
Fabio Manganiello ef6b57df31
Added entity info modal and (partial) support for renaming entities 2022-04-23 01:01:14 +02:00
Fabio Manganiello 7d4bd20df0
Support for individual entity group refresh 2022-04-19 23:56:49 +02:00
Fabio Manganiello e6bfa1c50f
Better dynamic entities discovery 2022-04-13 11:25:14 +02:00
Fabio Manganiello 332c91252c
zwave.mqtt.status renamed to controller_status, while status should return the current state of the values 2022-04-12 23:44:14 +02:00
Fabio Manganiello b35c761a43
Fixed entities panel mobile layout 2022-04-12 22:24:19 +02:00
Fabio Manganiello 08c0779347
<style> on entity components should be scoped 2022-04-12 16:00:31 +02:00
Fabio Manganiello 595ebe49ca
Support for entity scan timeout errors and visual error handling 2022-04-12 15:58:19 +02:00
Fabio Manganiello 548d487e73
Publish a switch entity from zigbee.mqtt only if the update includes its state 2022-04-12 14:41:21 +02:00
Fabio Manganiello 20530c2b6d
Loading events are now synchronized both ways upon entity action/refresh 2022-04-12 01:10:09 +02:00
Fabio Manganiello 9ddcf5eaeb
Implemented entities refresh on the UI 2022-04-12 00:43:22 +02:00
Fabio Manganiello 2aa8778078
Do not process EntityUpdateEvents only in case of payload changes
The UI relies on these events upon refresh to detect if a device is
still reacheable. Therefore, we shouldn't mask them if we don't detect
any changes with the current entity configuration/state.
2022-04-12 00:41:20 +02:00
Fabio Manganiello 72617b4b75
Handle EntityUpdateEvents on the UI 2022-04-11 23:16:29 +02:00
Fabio Manganiello be4d1e8e01
Proper support for native entities in zigbee.mqtt integration 2022-04-11 21:16:45 +02:00
Fabio Manganiello db4ad5825e
Fire an EntityUpdateEvent when the zwave.mqtt backend gets a value changed message 2022-04-11 01:40:49 +02:00
Fabio Manganiello 4471001110
smartthings.toggle should properly publish the updated entity 2022-04-11 00:43:31 +02:00
Fabio Manganiello f17245e8c7
Send an EntityUpdateEvent only if an entity has already been persisted
If an event comes from an entity that hasn't been persisted yet on the
internal storage then we wait for the entity record to be committed
before firing an event. It's better to wait a couple of seconds for the
database to synchronize rather than dealing with entity events with
incomplete objects.
2022-04-11 00:38:11 +02:00
Fabio Manganiello 67ff585f6c
Entities engine improvements
- Added cache support to prevent duplicate EntityUpdateEvents
- The cache is smartly pre-populated and kept up-to-date, so it's
  possible to trigger events as soon as the entities are published by
  the plugin (not only when the records are flushed to the internal db)
2022-04-11 00:01:21 +02:00
Fabio Manganiello 17615ff028
Support for multiple entity types/plugins filter on entities.get 2022-04-10 21:23:03 +02:00
Fabio Manganiello 532217be12
Support for filtering entities by search string 2022-04-10 17:57:51 +02:00
Fabio Manganiello f301fd7e69
Added standard NoItems component to handle visualization of no-results divs 2022-04-10 14:27:32 +02:00
Fabio Manganiello 58861afb1c
Added entities panel 2022-04-10 13:07:36 +02:00
Fabio Manganiello 8ec9c8f203
Added standard component for icons 2022-04-10 13:07:01 +02:00
Fabio Manganiello 3435f591eb
Support for keep-open-on-item-click and icon URLs on dropdown elements 2022-04-10 01:57:39 +02:00
Fabio Manganiello 19223bbbe1
Added SmartThings icon 2022-04-10 01:56:47 +02:00
Fabio Manganiello 453652ef76
Updated plugin icons 2022-04-10 01:50:45 +02:00
Fabio Manganiello b2ff66aa62
Added mixins to capitalize/prettify text 2022-04-10 01:50:13 +02:00
Fabio Manganiello 655d56f4da
Upgraded font-awesome to 6.x 2022-04-10 01:49:14 +02:00
Fabio Manganiello f52b556219
- icon_class should not be part of the backend model
- Interaction with entities should occur through the `entities.action`
  method, not by implementing native methods on each of the model
  objects
2022-04-08 16:49:47 +02:00
Fabio Manganiello 947b50b937
Added meta as a JSON field on the Entity table
Metadata attributes can now be defined and overridden on the object
itself, as well as on the database. Note that db settings will always
take priority in case of value conflicts.
2022-04-07 22:11:31 +02:00
Fabio Manganiello db7c2095ea
Implemented meta property for entities (for now it only include `icon_class`) 2022-04-07 18:09:25 +02:00
Fabio Manganiello e40b668380
Added missing docs 2022-04-07 01:49:13 +02:00
Fabio Manganiello d3dc86a5e2
Added documentation for plugin/entity type registry 2022-04-07 01:47:42 +02:00
Fabio Manganiello 28026b0428
Trigger an EntityUpdateEvent when an entity state changes 2022-04-07 01:46:37 +02:00
Fabio Manganiello 44707731a8
Normalize UTC timezone on all the entity timestamps 2022-04-07 01:13:29 +02:00
Fabio Manganiello 948f37afd4
Filter by configured/enabled plugins when returning the entity/plugin registry 2022-04-07 01:04:06 +02:00
Fabio Manganiello 3b4f7d3dad
Added entities plugin to query/action entities 2022-04-07 00:22:54 +02:00
Fabio Manganiello 2eeb1d4fea
Entity objects are now JSON-able 2022-04-07 00:21:54 +02:00
Fabio Manganiello 26ffc0b0e1
Use Redis instead of an in-process map to store the entity/plugin registry
This is particularly useful when we want to access the registry from
another process, like the web server or an external script.
2022-04-07 00:18:11 +02:00
Fabio Manganiello 7b1a63e287
Make sure that flake8 and black don't step on each other's toes 2022-04-07 00:17:39 +02:00
Fabio Manganiello 1c6ff2fa49
(actually, the other way around is better) 2022-04-06 23:56:10 +02:00
Fabio Manganiello d311629403
black validation should run before flake8 2022-04-06 23:48:27 +02:00
Fabio Manganiello d52ae2fb80
Implemented RunnablePlugin.wait_stop() utility method 2022-04-05 23:33:02 +02:00
Fabio Manganiello 061268cdaf
Support for direct actions on native entities [WIP] 2022-04-05 23:22:54 +02:00
Fabio Manganiello 91ff47167b
Don't terminate the entities engine thread if a batch of entity records fails 2022-04-05 23:04:57 +02:00