Commit graph

4242 commits

Author SHA1 Message Date
711cc2b239
Removed (now unused) CpuTimesResponse. 2023-04-17 02:25:03 +02:00
b9286f50b0
Added support for CpuTimes as an entity of the system plugin.
Also, there is now a single `Cpu` entity being exported, with a nested
hierarchy structured like:

```
cpu
  -> cpu_info
  -> cpu_times
    -> idle
    -> user
    -> system
    -> ...
  -> cpu_load
    -> ...
```
2023-04-17 02:25:03 +02:00
4842c1911b
Frontend entities should have a reference to allEntities.
There are probably more optimal ways of achieving this other than
passing a reference to the full list of entities to each of the
entities, such as running a BFS to recursively expand all the entities
within the child hierarchy of an entity.

This is needed because the entity needs to know which entities aren't
direct children, but are two or more layers down in the hierarchy, so
they should be passed to their own child entities.
2023-04-17 02:25:03 +02:00
6e65783feb
Added schemas for CpuTimes. 2023-04-17 02:25:03 +02:00
e810025a6d
Added Cpu and CpuTimes entities. 2023-04-17 02:25:03 +02:00
65481dc6b4
Added PercentSensor entity type. 2023-04-17 02:25:02 +02:00
e7f64843a5
Added include_children parameter to _merge_columns.
We need to recursively merge the columns of children entities if a child
entity isn't a leaf node.
2023-04-17 02:25:02 +02:00
b43017ef01
Refactoring the system plugin to support entities. 2023-04-17 02:25:02 +02:00
3e3c48d779
Defined new entity and schema for CpuInfo. 2023-04-17 02:25:02 +02:00
186a21f715
Added CpuInfo entity frontend components. 2023-04-17 02:25:01 +02:00
74aeca5c34
Trigger a sensor event only if abs(old_data - new_data) > tolerance
Not if abs(old_data - new_data) >= tolerance, otherwise events will
always be triggered when tolerance=0, even if the data hasn't changed.
2023-04-17 02:25:01 +02:00
4c19535612 A more resilient logic on entity copy/serialization to prevent ObjectDeletedError 2023-04-13 17:16:21 +02:00
a499b7bc2f
Deprecated poll_seconds in light.hue.
For sake of naming consistency with other plugins, we should use
`poll_interval` instead.
2023-04-03 01:36:12 +02:00
10955dad72
Fixed some documentation glitches in switchbot. 2023-04-03 01:36:12 +02:00
f9ce4b75e8
Updated docs 2023-04-03 01:36:12 +02:00
d5de38975d
generate_missing_docs 2.0 2023-04-03 01:36:12 +02:00
6e5f746dbe
Removed deprecated gpio.sensor base plugin.
Now all the plugins that used to implement it have been moved to
`SensorPlugin`.
2023-04-03 01:36:12 +02:00
8852cb8db4
Fixed new class name for sensor.mcp3008 plugin. 2023-04-03 01:36:12 +02:00
d5ddc0c65e
Migrated arduino integration to the new SensorPlugin API. 2023-04-03 01:36:12 +02:00
cf16076bce
Added icons for new entity sensor sources. 2023-04-03 01:36:11 +02:00
ac2ec58f89
Migrated mcp3008 integration to the new SensorPlugin API. 2023-04-03 01:36:11 +02:00
45e5ca47e7 Fallback for sensor._has_changes 2023-04-02 15:38:49 +02:00
962c55937d
Migrated sensor.distance integration.
Remove `backend.sensor.distance` and `gpio.sensor.distance`. They are
now replaced by the `sensor.hcsr04` integration, which is compatible
with the new `SensorPlugin` API.
2023-04-02 14:20:12 +02:00
92578a17c9
Added small docstring portion 2023-04-02 13:55:00 +02:00
beff88986a
Migrated dht integration.
Removed `backend.sensor.dht` and `gpio.sensor.dht`. They have been
merged into the new `sensor.dht` integration, which supports the new
`SensorPlugin` API.
2023-04-02 13:38:53 +02:00
8f604445a2
Migrated old sensor.accelerometer integration.
Removed `backend.sensor.accelerometer` and `gpio.sensor.accelerometer`.
The logic has now been merged in the new `sensor.lis3dh` integration,
which is compatible with the new `SensorPlugin` API.
2023-04-02 13:22:28 +02:00
44cf25271c
Migrated pmw3901 integration.
Removed legacy `backend.sensor.motion.pmw3901` and
`gpio.sensor.motion.pmw3901`. They have been merged in the new
`sensor.pmw3901` integration, compatible with the new `SensorPlugin`
API.
2023-04-02 12:36:08 +02:00
fcdda40c4a
Update the _last_measurement only if some events were processed from the new data. 2023-04-02 12:09:45 +02:00
88784985e1
Should be abs(old_data - new_data) >= tolerance.
Not `abs(old_data - new_data) > tolerance`.
2023-04-02 12:08:40 +02:00
a3f4b21478
Updated dist files 2023-04-02 03:24:11 +02:00
e6e5dec088
Updated dist files 2023-04-02 02:56:09 +02:00
7697c1c6ad
Migrated envirophat to the new SensorPlugin API.
Removed `backend.sensor.envirophat` and `gpio.sensor.envirophat` plugin.
They have now been merged into the new `sensor.envirophat` plugin.
2023-04-02 02:49:08 +02:00
3cd42c9e45
Entity should use Message.Encoder as a JSON serializer. 2023-04-02 02:44:19 +02:00
31f411868c
Message.Encoder should serialize binary data to 0x-led hex strings. 2023-04-02 02:43:06 +02:00
9e5ad0e0b1
Entity.to_dict now takes into account columns mapped to properties.
No more `_value` in the JSON output instead of the `value` property.

If a column is marked as private, and there's an associated property
mapped to its public name, then we should use and serialize that value.
2023-04-02 02:22:40 +02:00
8d4aa310f4
Support for values passed in dict format to ThreeAxisSensor 2023-04-02 02:02:08 +02:00
5a6f4bcf57
Added 3-axis sensor, accelerometer and magnetometer entities 2023-04-02 01:13:22 +02:00
d964167631
s/TimeDurationSensor/TimeDuration/g 2023-04-02 00:57:48 +02:00
839c6108a0
Added sensor.* icon classes 2023-04-02 00:40:50 +02:00
429893ddbf
Updated dist files 2023-04-01 23:58:28 +02:00
f24d0773d1
No need for sensor.vl53l1x.transform_entities to call the parent. 2023-04-01 23:54:43 +02:00
99572f9731
Sanity check to prevent empty objects from being propagated to sensor.transform_entities 2023-04-01 23:41:28 +02:00
3f3726c50a
Fixed another occurrence of "Subscripted generics cannot be used" etc. error 2023-04-01 23:34:22 +02:00
e2e73d0fdb
Fix another Python < 3.10 subscripted generic issue. 2023-04-01 23:23:51 +02:00
c1d0f21ead
Migrated ltr559 integration to the new API.
Merged `backend.sensor.ltr559` and `gpio.sensor.ltr559` into the new
`sensor.ltr559` plugin, which extends the new `SensorPlugin` API.
2023-04-01 23:16:03 +02:00
8e0f88ea16
Don't swap the argument of SensorPlugin.publish_entities with a list if not required 2023-04-01 23:06:37 +02:00
0047d85b9d
Dirty fix for "Subscripted generics cannot be used with class and instance checks" on Python < 3.10 2023-04-01 22:52:24 +02:00
98ec018292
Replaced NoneType reference.
`types.NoneType` is not always available on all Python versions, so we
have to make our own type for it.
2023-04-01 22:42:13 +02:00
5dabfed365
Migrated sensor.bme280 to the new SensorPlugin interface.
Removed the old `backend.sensor.bme280` and the old `gpio.sensor.bme280`
plugin. They have now been merged into the new `sensor.bme280` runnable
plugin, which extends the `SensorPlugin` API and supports entities.
2023-04-01 22:31:24 +02:00
6f237a1500
Support the deprecated poll_seconds option on RunnablePlugin 2023-04-01 22:02:59 +02:00