Commit graph

56 commits

Author SHA1 Message Date
G Johansson
c49246dd07
Fix duplicate unique id in System Monitor (again) (#107947)
Fix duplicate unique id in System Monitor
2024-01-13 13:48:02 +01:00
G Johansson
e715d6a7a1
Fix duplicated resource issue in System Monitor (#107671)
* Fix duplicated resource issue

* Only slug the argument
2024-01-12 08:44:38 +01:00
G Johansson
4cd1965786
Use set instead of list in Systemmonitor (#106650) 2023-12-29 13:21:08 +01:00
G Johansson
67629111f9
Systemmonitor always load imported disks (#106546)
* Systemmonitor always load legacy disks

* loaded_resources
2023-12-28 20:39:39 +01:00
G Johansson
4f0ee20ec5
Add config flow to System Monitor (#104906)
* Initial commit for config flow to System Monitor

* sensors

* Fixes

* Works

* Add import

* entity_registry_enabled_default = False

* entity_category = diagnostic

* Create issue

* issue in config flow

* Tests

* test requirement

* codeowner

* Fix names

* processes

* Fix type

* reviews

* get info during startup once

* Select process

* Legacy import of resources

* requirements

* Allow custom

* Fix tests

* strings

* strings

* Always enable process sensors

* Fix docstrings

* skip remove sensors if no sensors

* Modify sensors

* Fix tests
2023-12-26 18:29:32 +01:00
Erik Montnemery
0c2485bc03
Freeze integration entity descriptions (#105984)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-18 16:28:13 -10:00
Marc Mueller
8fbcffcf9f
Add types-psutil dependency (#98267) 2023-08-11 18:09:58 +02:00
Joost Lekkerkerker
e9eb8a4754
Remove stateclass from Systemmonitor process sensor (#96973)
Remove stateclass
2023-07-21 09:00:04 +02:00
Franck Nijhof
f39f3b612a
String formatting and max line length - Part 5 (#84501)
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2022-12-23 16:43:17 +01:00
epenet
ba043c9ebb
Use UnitOfTemperature in integrations (p-s) (#84308) 2022-12-20 18:47:27 +01:00
epenet
69bc95a715
Use DATA_SIZE device class in integrations (#83895) 2022-12-13 10:17:56 +01:00
epenet
535aba10ee
Use DataRate unit and device class in integrations (#83610) 2022-12-10 11:41:44 +01:00
Kryštof Korb
21d96e00a2
Use better icon for system monitor IP sensor (#81779) 2022-11-09 10:51:28 +01:00
Stefan Agner
650aae49fe
Support AMD SoC CPU temperature (#78472)
This adds support for CPU temperature readings on AMD SoC based systems
like the AMD G-Series GX-222G found in FUJITSU FUTRO S920.
2022-09-14 20:06:29 +03:00
Franck Nijhof
fa09cf663e
Update black to 22.1.0 (#65788) 2022-02-05 14:19:37 +01:00
Ville Skyttä
872bc456a9
Clean up no longer needed Python 3.8 support code (#65231)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-01-30 15:07:07 -06:00
epenet
eafece3651
Add setup type hints (part 1) (#63955)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-12 08:49:46 +01:00
Karthik T
bf1f8f4bfa
Fix systemmonitor CPU temp for Armbian on PineA64 (#63111) 2022-01-02 21:51:50 +01:00
epenet
071e29bf1d
Use new enums in systemmonitor (#62401)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-20 11:15:30 -05:00
Michael
a3bf56c11d
Use native datetime value in Systemmonitor sensors (#60236) 2021-11-23 21:46:31 +01:00
Michael
0da1f9544e
Correct state classes for systemmonitor sensors (#57615) 2021-10-14 08:45:58 +02:00
Michael
d661a76462
Use entity description and set state class to all System Monitor sensors (#56140) 2021-09-13 09:55:33 -10:00
Erik Montnemery
94a264afaf
Move temperature conversions to entity base class (7/8) (#54482) 2021-08-11 18:57:50 +02:00
Marc Mueller
0815eede4b
Replace lists with tuples (2) (#53685) 2021-07-30 01:20:03 +02:00
Marius
7ce4763784
change processor_temperature icon (#52256)
* change processor_temperature icon

to indicate the temperature, using "mdi:thermometer"

* add DEVICE_CLASS_TEMPERATURE,

* add None for icon

* remove Icon from Last boot

since it uses the device_class already
2021-06-29 00:39:21 +02:00
Colin Robbins
a404c138fa
Support multiple disks in systemmonitor (#50362)
* Fix #50158 - add support for multiple disks

* Rework as a tuple
2021-05-10 10:48:00 -07:00
Ruslan Sayfutdinov
786c5db5be
Use AddEntitiesCallback type, pt.4 (#49955) 2021-05-04 14:50:06 +02:00
J. Nick Koston
3fa8ffa731
Enable mccabe complexity checks in flake8 (#49616)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-04-25 12:38:40 +02:00
Paulus Schoutsen
a90d3a051f
prefer total_seconds over seconds (#49505) 2021-04-20 17:41:36 -07:00
Phil Hollenback
e7e53b879e
Fix cpu temperature reporting for Armbian on Odroid (#48903)
Some systems expose cpu temperatures differently in
psutil. Specifically, running armbian on the Odroid xu4 sbc gives the
following temerature output:

>>> pp.pprint(psutil.sensors_temperatures())
{   'cpu0-thermal':
    [   shwtemp(label='', current=54.0, high=115.0, critical=115.0)],
    'cpu1-thermal':
    [   shwtemp(label='', current=56.0, high=115.0, critical=115.0)],
    'cpu2-thermal':
    [   shwtemp(label='', current=58.0, high=115.0, critical=115.0)],
    'cpu3-thermal':
    [   shwtemp(label='', current=56.0, high=115.0, critical=115.0)],
}

Since the cpu number is embedded inside the name, the current code
can't find it.

To fix this, check both the name and the constructed label for matches
against CPU_SENSOR_PREFIXES, and add the appropriate label
cpu0-thermal in the prefix list.

While this is slightly less efficient that just generating the label
and checking it, it results in easier to understand code.
2021-04-09 10:25:03 +02:00
Philip Allgaier
030e9d314d
Fix systemmonitor IP address look-up logic (#48740) 2021-04-06 22:58:35 +02:00
Michael
b47a90a9d8
Add AMD Ryzen processor temperatur capability to systemmonitor (#48705) 2021-04-05 17:07:22 -10:00
J. Nick Koston
c28d4e8e01
Clean and optimize systemmonitor (#48699)
- Remove unneeded excinfo to _LOGGER.exception
- Use f-strings
- Switch last_boot to utc
- Cache psutil/os calls used by multiple attributes in the same update cycle
2021-04-05 21:50:22 +02:00
J. Nick Koston
0544d94bd0
Update all systemmonitor sensors in one executor call (#48689)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-04-04 22:11:57 -10:00
Martin Hjelmare
fdbef90a57
Remove device class timestamp from device condition and trigger (#48431)
* Remove unit from garmin connect

* Remove unit from hvv departures

* Remove device class timestamp from device condition and trigger

* Remove unit from systemmonitor

* Use device class constant for timestamp in ring
2021-04-01 15:05:10 +02:00
Franck Nijhof
8d5ce53098
Merge of nested IF-IF cases - S-W (#48372) 2021-03-27 10:54:59 +01:00
Erik Montnemery
64bc9a8196
Migrate integrations r-s to extend SensorEntity (#48215) 2021-03-22 19:54:14 +01:00
J. Nick Koston
c820dd4cb5
Have pylint warn when user visible log messages do not start with capital letter or end with a period (#48064)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-19 09:26:36 -05:00
Esben Damgaard
25adc6dd4f
Don't update systemmonitor static boot time timestamp (#45165) 2021-01-21 12:35:37 +01:00
Philip Allgaier
392c058d34
Ensure consistent spelling of "ID" (#44585) 2020-12-28 18:34:08 +01:00
Philip Allgaier
b6a93724bf
Use consistent "percent" naming in systemmonitor (#41411) 2020-10-11 15:52:32 +02:00
Marius
00b3b9f183
Change Swap free mandatory arg (#41025)
to False
2020-10-03 20:55:00 +02:00
Philip Allgaier
8185ddf9a1
Add systemmonitor check for mandatory "arg" of sensors (#39687)
* Added check for mandatory "arg" of sensors

* Make pylint happy

* Moved to vol validator function for "arg" checks

* Make pylint happy once again

* Adjustments from code review
2020-09-09 12:57:24 +02:00
springstan
d2b1918e9c
Drop UNIT_ prefix for percentage constant (#39383) 2020-09-05 21:09:14 +02:00
Philip Allgaier
7be5ef8b6c
Improve systemmonitor (#36283)
* Improvements for systemmonitor

* Use MDI CPU icon (bit architecture determined at runtime)
* Consistent usages of "percent" (ensured backwards compatibility by explicity setting the entity_id)
* Default value "/" (root) for disk_* sensors to prevent runtime issues if not specified in configuration

* Added CPU temperature sensor to systemmonitor

* Code streamlining of CPU temperature retrieval

* Corrected sensor state handling and added "available" logic

* Corrected ENTITY_ID to include argument

* Optimized "available" handling & CPU temperature detection

* Corrected tuple for CPU temperature determination

* - Do not create CPU temperature entity if no sensor data can be read
- Re-use temperature sensor labels from "glances" integration

* Array fix

* Corrected sensor array access

* Handle empty temperature sensor labels (same logic as used by "glances")

* PR comments: Setting unique_ID and f-strings

* Removed unused constants

* Revert entity rename (wait until next release)
2020-09-05 05:51:18 +02:00
springstan
f1a0ca7cd3
Add and use percentage constant (#32094)
* Add and use percentage constant

* Fix pylint error and broken test
2020-02-28 11:46:48 -08:00
Ville Skyttä
3e23a3a860
Add and use bunch of data size and rate related constants (#31781)
Also fix a few units to match the corresponding data.
2020-02-13 08:52:57 -08:00
Fabian Affolter
b4cec23add
Upgrade psutil to 5.6.5 (#28717) 2019-11-13 08:43:14 +01:00
Ville Skyttä
7431e26752 Round system monitor load averages to 2 decimal digits (#27558)
On a Raspberry Pi 3, Python 3.7.4:

  # python3 -c "import os; print(os.getloadavg())"
  (0.2724609375, 0.3505859375, 0.3515625)
2019-10-23 08:57:51 -07:00
Malte Franken
d337b71725 move import to top-level (#27352) 2019-10-10 00:25:21 -07:00