File tree Expand file tree Collapse file tree 5 files changed +8
-8
lines changed
custom_components/octopus_energy Expand file tree Collapse file tree 5 files changed +8
-8
lines changed Original file line number Diff line number Diff line change @@ -11,9 +11,9 @@ class Connectivity(BaseModel):
1111
1212
1313class Telemetry (BaseModel ):
14- temperatureInCelsius : float
14+ temperatureInCelsius : Optional [ float ]
1515 humidityPercentage : Optional [float ]
16- retrievedAt : str
16+ retrievedAt : Optional [ str ]
1717
1818
1919class Sensor (BaseModel ):
Original file line number Diff line number Diff line change @@ -44,9 +44,9 @@ def mock_heat_pump_status_and_configuration():
4444 "retrievedAt" : (now - timedelta (seconds = random .randrange (1 , 120 ))).strftime ("%Y-%m-%dT%H:%M:%S.%f%z" )
4545 },
4646 "telemetry" : {
47- "temperatureInCelsius" : - 273 + ( random . randrange ( 1 , 20 ) * 0.1 ) ,
47+ "temperatureInCelsius" : None ,
4848 "humidityPercentage" : None ,
49- "retrievedAt" : ( now - timedelta ( seconds = random . randrange ( 1 , 120 ))). strftime ( "%Y-%m-%dT%H:%M:%S.%f%z" )
49+ "retrievedAt" : None
5050 }
5151 },
5252 {
Original file line number Diff line number Diff line change @@ -92,7 +92,7 @@ def _handle_coordinator_update(self) -> None:
9292 for sensor in sensors :
9393 if sensor .code == self ._sensor .code and sensor .telemetry is not None :
9494 self ._state = sensor .telemetry .humidityPercentage
95- self ._attributes ["retrieved_at" ] = datetime .fromisoformat (sensor .telemetry .retrievedAt )
95+ self ._attributes ["retrieved_at" ] = datetime .fromisoformat (sensor .telemetry .retrievedAt ) if sensor . telemetry . retrievedAt is not None else None
9696
9797 self ._last_updated = current
9898
Original file line number Diff line number Diff line change @@ -93,7 +93,7 @@ def _handle_coordinator_update(self) -> None:
9393 for sensor in sensors :
9494 if sensor .code == self ._sensor .code and sensor .telemetry is not None :
9595 self ._state = sensor .telemetry .temperatureInCelsius
96- self ._attributes ["retrieved_at" ] = datetime .fromisoformat (sensor .telemetry .retrievedAt )
96+ self ._attributes ["retrieved_at" ] = datetime .fromisoformat (sensor .telemetry .retrievedAt ) if sensor . telemetry . retrievedAt is not None else None
9797
9898 self ._last_updated = current
9999
Original file line number Diff line number Diff line change @@ -36,9 +36,9 @@ def test_when_valid_dictionary_returned_then_it_can_be_parsed_into_heat_pump_obj
3636 "retrievedAt" : "2025-05-09T17:28:51.555000+00:00"
3737 },
3838 "telemetry" : {
39- "temperatureInCelsius" : - 90.3 ,
39+ "temperatureInCelsius" : None ,
4040 "humidityPercentage" : None ,
41- "retrievedAt" : "2025-05-09T17:28:44.152000+00:00"
41+ "retrievedAt" : None
4242 }
4343 },
4444 {
You can’t perform that action at this time.
0 commit comments