1
1
"""Sensor platform for MyHeat."""
2
2
3
3
from itertools import chain
4
- import logging
5
4
6
5
from homeassistant .components .sensor import SensorEntity
7
6
from homeassistant .config_entries import ConfigEntry
8
7
from homeassistant .const import UnitOfTemperature
9
8
from homeassistant .core import HomeAssistant
10
9
from homeassistant .helpers .entity_platform import AddEntitiesCallback
11
10
12
- from .const import CONF_NAME , DEFAULT_NAME , DOMAIN
11
+ from .const import DOMAIN
13
12
from .entity import MhHeaterEntity , MhEntity
14
13
15
- _logger = logging .getLogger (__package__ )
16
-
17
14
18
15
async def async_setup_entry (
19
16
hass : HomeAssistant ,
@@ -23,9 +20,8 @@ async def async_setup_entry(
23
20
"""Setup sensor platform."""
24
21
coordinator = hass .data [DOMAIN ][entry .entry_id ]
25
22
26
- _logger .info (f"Setting up heater entries: { coordinator .data } " )
27
-
28
- async_add_entities (
23
+ entities = chain (
24
+ (MhWeatherTempSensor (coordinator , entry ),),
29
25
chain .from_iterable (
30
26
[
31
27
MhHeaterFlowTempSensor (coordinator , entry , heater ),
@@ -35,13 +31,39 @@ async def async_setup_entry(
35
31
MhHeaterModulationSensor (coordinator , entry , heater ),
36
32
]
37
33
for heater in coordinator .data .get ("heaters" , [])
38
- )
34
+ ),
39
35
)
40
36
37
+ async_add_entities (entities )
41
38
42
- class MhHeaterSensor (MhHeaterEntity , SensorEntity ):
43
- """myheat Sensor class."""
44
39
40
+ class MhWeatherTempSensor (MhEntity , SensorEntity ):
41
+ """myheat weatherTemp Sensor class."""
42
+
43
+ _attr_device_class = "temperature"
44
+ _attr_unit_of_measurement = UnitOfTemperature .CELSIUS
45
+
46
+ @property
47
+ def name (self ) -> str :
48
+ return f"{ self ._mh_name } weatherTemp"
49
+
50
+ @property
51
+ def unique_id (self ):
52
+ return f"{ super ().unique_id } weatherTemp"
53
+
54
+ @property
55
+ def state (self ):
56
+ return self .coordinator .data .get ("weatherTemp" )
57
+
58
+ @property
59
+ def extra_state_attributes (self ):
60
+ city = self .coordinator .data .get ("city" )
61
+ return {
62
+ "city" : city ,
63
+ }
64
+
65
+
66
+ class MhHeaterSensor (MhHeaterEntity , SensorEntity ):
45
67
@property
46
68
def state (self ):
47
69
"""Return the state of the sensor."""
0 commit comments