Commit Graph

3038 Commits

Author SHA1 Message Date
Fabio Manganiello e810025a6d
Added `Cpu` and `CpuTimes` entities. 2023-04-17 02:25:03 +02:00
Fabio Manganiello 65481dc6b4
Added `PercentSensor` entity type. 2023-04-17 02:25:02 +02:00
Fabio Manganiello 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
Fabio Manganiello b43017ef01
Refactoring the `system` plugin to support entities. 2023-04-17 02:25:02 +02:00
Fabio Manganiello 3e3c48d779
Defined new entity and schema for CpuInfo. 2023-04-17 02:25:02 +02:00
Fabio Manganiello 186a21f715
Added CpuInfo entity frontend components. 2023-04-17 02:25:01 +02:00
Fabio Manganiello 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
Fabio Manganiello 4c19535612 A more resilient logic on entity copy/serialization to prevent ObjectDeletedError 2023-04-13 17:16:21 +02:00
Fabio Manganiello 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
Fabio Manganiello 10955dad72
Fixed some documentation glitches in `switchbot`. 2023-04-03 01:36:12 +02:00
Fabio Manganiello f9ce4b75e8
Updated docs 2023-04-03 01:36:12 +02:00
Fabio Manganiello d5de38975d
generate_missing_docs 2.0 2023-04-03 01:36:12 +02:00
Fabio Manganiello 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
Fabio Manganiello 8852cb8db4
Fixed new class name for `sensor.mcp3008` plugin. 2023-04-03 01:36:12 +02:00
Fabio Manganiello d5ddc0c65e
Migrated `arduino` integration to the new `SensorPlugin` API. 2023-04-03 01:36:12 +02:00
Fabio Manganiello cf16076bce
Added icons for new entity sensor sources. 2023-04-03 01:36:11 +02:00
Fabio Manganiello ac2ec58f89
Migrated `mcp3008` integration to the new `SensorPlugin` API. 2023-04-03 01:36:11 +02:00
Fabio Manganiello 45e5ca47e7 Fallback for sensor._has_changes 2023-04-02 15:38:49 +02:00
Fabio Manganiello 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
Fabio Manganiello 92578a17c9
Added small docstring portion 2023-04-02 13:55:00 +02:00
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello fcdda40c4a
Update the `_last_measurement` only if some events were processed from the new data. 2023-04-02 12:09:45 +02:00
Fabio Manganiello 88784985e1
Should be `abs(old_data - new_data) >= tolerance`.
Not `abs(old_data - new_data) > tolerance`.
2023-04-02 12:08:40 +02:00
Fabio Manganiello a3f4b21478
Updated dist files 2023-04-02 03:24:11 +02:00
Fabio Manganiello e6e5dec088
Updated dist files 2023-04-02 02:56:09 +02:00
Fabio Manganiello 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
Fabio Manganiello 3cd42c9e45
`Entity` should use `Message.Encoder` as a JSON serializer. 2023-04-02 02:44:19 +02:00
Fabio Manganiello 31f411868c
`Message.Encoder` should serialize binary data to `0x`-led hex strings. 2023-04-02 02:43:06 +02:00
Fabio Manganiello 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
Fabio Manganiello 8d4aa310f4
Support for values passed in dict format to `ThreeAxisSensor` 2023-04-02 02:02:08 +02:00
Fabio Manganiello 5a6f4bcf57
Added 3-axis sensor, accelerometer and magnetometer entities 2023-04-02 01:13:22 +02:00
Fabio Manganiello d964167631
`s/TimeDurationSensor/TimeDuration/g` 2023-04-02 00:57:48 +02:00
Fabio Manganiello 839c6108a0
Added `sensor.*` icon classes 2023-04-02 00:40:50 +02:00
Fabio Manganiello 429893ddbf
Updated dist files 2023-04-01 23:58:28 +02:00
Fabio Manganiello f24d0773d1
No need for `sensor.vl53l1x.transform_entities` to call the parent. 2023-04-01 23:54:43 +02:00
Fabio Manganiello 99572f9731
Sanity check to prevent empty objects from being propagated to `sensor.transform_entities` 2023-04-01 23:41:28 +02:00
Fabio Manganiello 3f3726c50a
Fixed another occurrence of "Subscripted generics cannot be used" etc. error 2023-04-01 23:34:22 +02:00
Fabio Manganiello e2e73d0fdb
Fix another Python < 3.10 subscripted generic issue. 2023-04-01 23:23:51 +02:00
Fabio Manganiello 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
Fabio Manganiello 8e0f88ea16
Don't swap the argument of `SensorPlugin.publish_entities` with a list if not required 2023-04-01 23:06:37 +02:00
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 6f237a1500
Support the deprecated `poll_seconds` option on `RunnablePlugin` 2023-04-01 22:02:59 +02:00
Fabio Manganiello c23e8867e2
Added `enabled_sensors` to the `sensor` plugin 2023-04-01 21:56:56 +02:00
Fabio Manganiello 7912a59ff8
`vl53l1x` plugin migrated to the new `SensorPlugin` interface. 2023-04-01 19:31:13 +02:00
Fabio Manganiello 6a5a5de03e
`serial` plugin migrated to the new `SensorPlugin` interface. 2023-04-01 19:29:56 +02:00
Fabio Manganiello bf4db76830
Legacy `sensor` backend replaced by an extended `sensor` runnable plugin. 2023-04-01 19:24:35 +02:00