diff --git a/homeassistant/components/evohome/manifest.json b/homeassistant/components/evohome/manifest.json
index 700872ef92be1ea304584596a524287f84bc5db7..44e4cdb1128231d080c80acc163596335a4bb683 100644
--- a/homeassistant/components/evohome/manifest.json
+++ b/homeassistant/components/evohome/manifest.json
@@ -6,5 +6,5 @@
   "iot_class": "cloud_polling",
   "loggers": ["evohome", "evohomeasync", "evohomeasync2"],
   "quality_scale": "legacy",
-  "requirements": ["evohome-async==1.0.3"]
+  "requirements": ["evohome-async==1.0.4"]
 }
diff --git a/requirements_all.txt b/requirements_all.txt
index 72d00d4fcfcdc3bcd47e02d3f32f0332c45ed1f1..fea08e809d5ea3c7fab8d39c87678a6bd07b0ee0 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -899,7 +899,7 @@ eufylife-ble-client==0.1.8
 # evdev==1.6.1
 
 # homeassistant.components.evohome
-evohome-async==1.0.3
+evohome-async==1.0.4
 
 # homeassistant.components.bryant_evolution
 evolutionhttp==0.0.18
diff --git a/requirements_test_all.txt b/requirements_test_all.txt
index a1ae217ef6529934dd83a3bf8eb43511095f68b1..d5bd6a6317f3af1d740e5ad6e802646819aa73bf 100644
--- a/requirements_test_all.txt
+++ b/requirements_test_all.txt
@@ -765,7 +765,7 @@ eternalegypt==0.0.16
 eufylife-ble-client==0.1.8
 
 # homeassistant.components.evohome
-evohome-async==1.0.3
+evohome-async==1.0.4
 
 # homeassistant.components.bryant_evolution
 evolutionhttp==0.0.18
diff --git a/tests/components/evohome/fixtures/botched/user_locations.json b/tests/components/evohome/fixtures/botched/user_locations.json
index f2f4091a2dccb35ecd7e82caf03c54c99678bf4f..0016c5db0075dc3838572a10c94ff964cc12587b 100644
--- a/tests/components/evohome/fixtures/botched/user_locations.json
+++ b/tests/components/evohome/fixtures/botched/user_locations.json
@@ -8,14 +8,14 @@
       "country": "UnitedKingdom",
       "postcode": "E1 1AA",
       "locationType": "Residential",
-      "useDaylightSaveSwitching": true,
       "timeZone": {
-        "timeZoneId": "GMTStandardTime",
-        "displayName": "(UTC+00:00) Dublin, Edinburgh, Lisbon, London",
-        "offsetMinutes": 0,
-        "currentOffsetMinutes": 60,
+        "timeZoneId": "PacificSAStandardTime",
+        "displayName": "(UTC-04:00) Santiago",
+        "offsetMinutes": -240,
+        "currentOffsetMinutes": -180,
         "supportsDaylightSaving": true
       },
+      "useDaylightSaveSwitching": true,
       "locationOwner": {
         "userId": "2263181",
         "username": "user_2263181@gmail.com",
diff --git a/tests/components/evohome/snapshots/test_climate.ambr b/tests/components/evohome/snapshots/test_climate.ambr
index 5a6a6bff8638fd1194654ebc7f4f4f9f35aa904a..7fb0ae5aaecd7bf7b18b0153c1bfcd039a13f5d4 100644
--- a/tests/components/evohome/snapshots/test_climate.ambr
+++ b/tests/components/evohome/snapshots/test_climate.ambr
@@ -168,10 +168,10 @@
           'target_heat_temperature': 16.0,
         }),
         'setpoints': dict({
-          'next_sp_from': HAFakeDatetime(2024, 7, 10, 22, 10, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'next_sp_temp': 18.6,
-          'this_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'this_sp_temp': 16.0,
+          'next_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'next_sp_temp': 16.0,
+          'this_sp_from': HAFakeDatetime(2024, 7, 10, 7, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'this_sp_temp': 18.1,
         }),
         'temperature_status': dict({
           'is_available': True,
@@ -215,10 +215,10 @@
           'target_heat_temperature': 17.0,
         }),
         'setpoints': dict({
-          'next_sp_from': HAFakeDatetime(2024, 7, 10, 22, 10, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'next_sp_temp': 18.6,
-          'this_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'this_sp_temp': 16.0,
+          'next_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'next_sp_temp': 16.0,
+          'this_sp_from': HAFakeDatetime(2024, 7, 10, 7, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'this_sp_temp': 18.1,
         }),
         'temperature_status': dict({
           'is_available': False,
@@ -257,19 +257,19 @@
         'activeFaults': tuple(
           dict({
             'fault_type': 'TempZoneActuatorLowBattery',
-            'since': '2022-03-02T04:50:20+00:00',
+            'since': '2022-03-02T04:50:20-03:00',
           }),
         ),
         'setpoint_status': dict({
           'setpoint_mode': 'TemporaryOverride',
           'target_heat_temperature': 21.0,
-          'until': '2022-03-07T19:00:00+00:00',
+          'until': '2022-03-07T16:00:00-03:00',
         }),
         'setpoints': dict({
-          'next_sp_from': HAFakeDatetime(2024, 7, 10, 22, 10, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'next_sp_temp': 18.6,
-          'this_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'this_sp_temp': 16.0,
+          'next_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'next_sp_temp': 16.0,
+          'this_sp_from': HAFakeDatetime(2024, 7, 10, 7, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'this_sp_temp': 18.1,
         }),
         'temperature_status': dict({
           'is_available': True,
@@ -313,10 +313,10 @@
           'target_heat_temperature': 17.0,
         }),
         'setpoints': dict({
-          'next_sp_from': HAFakeDatetime(2024, 7, 10, 22, 10, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'next_sp_temp': 18.6,
-          'this_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'this_sp_temp': 16.0,
+          'next_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'next_sp_temp': 16.0,
+          'this_sp_from': HAFakeDatetime(2024, 7, 10, 7, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'this_sp_temp': 18.1,
         }),
         'temperature_status': dict({
           'is_available': True,
@@ -360,10 +360,10 @@
           'target_heat_temperature': 17.0,
         }),
         'setpoints': dict({
-          'next_sp_from': HAFakeDatetime(2024, 7, 10, 22, 10, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'next_sp_temp': 18.6,
-          'this_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'this_sp_temp': 16.0,
+          'next_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'next_sp_temp': 16.0,
+          'this_sp_from': HAFakeDatetime(2024, 7, 10, 7, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'this_sp_temp': 18.1,
         }),
         'temperature_status': dict({
           'is_available': True,
@@ -407,10 +407,10 @@
           'target_heat_temperature': 16.0,
         }),
         'setpoints': dict({
-          'next_sp_from': HAFakeDatetime(2024, 7, 10, 22, 10, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'next_sp_temp': 18.6,
-          'this_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'this_sp_temp': 16.0,
+          'next_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'next_sp_temp': 16.0,
+          'this_sp_from': HAFakeDatetime(2024, 7, 10, 7, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'this_sp_temp': 18.1,
         }),
         'temperature_status': dict({
           'is_available': True,
@@ -450,7 +450,7 @@
         'activeFaults': tuple(
           dict({
             'fault_type': 'TempZoneActuatorCommunicationLost',
-            'since': '2022-03-02T15:56:01+00:00',
+            'since': '2022-03-02T15:56:01-03:00',
           }),
         ),
         'setpoint_status': dict({
@@ -458,10 +458,10 @@
           'target_heat_temperature': 17.0,
         }),
         'setpoints': dict({
-          'next_sp_from': HAFakeDatetime(2024, 7, 10, 22, 10, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'next_sp_temp': 18.6,
-          'this_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
-          'this_sp_temp': 16.0,
+          'next_sp_from': HAFakeDatetime(2024, 7, 10, 8, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'next_sp_temp': 16.0,
+          'this_sp_from': HAFakeDatetime(2024, 7, 10, 7, 0, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
+          'this_sp_temp': 18.1,
         }),
         'temperature_status': dict({
           'is_available': True,
diff --git a/tests/components/evohome/snapshots/test_water_heater.ambr b/tests/components/evohome/snapshots/test_water_heater.ambr
index 7b1bc44550a26b741ff5d5aba833207b7c7f047f..13fb375c097c7661b73d30ce4ab2fa3ab04cb611 100644
--- a/tests/components/evohome/snapshots/test_water_heater.ambr
+++ b/tests/components/evohome/snapshots/test_water_heater.ambr
@@ -2,10 +2,10 @@
 # name: test_set_operation_mode[botched]
   list([
     dict({
-      'until': HAFakeDatetime(2024, 7, 10, 12, 0, tzinfo=datetime.timezone.utc),
+      'until': HAFakeDatetime(2024, 7, 10, 12, 30, tzinfo=datetime.timezone.utc),
     }),
     dict({
-      'until': HAFakeDatetime(2024, 7, 10, 12, 0, tzinfo=datetime.timezone.utc),
+      'until': HAFakeDatetime(2024, 7, 10, 12, 30, tzinfo=datetime.timezone.utc),
     }),
   ])
 # ---
@@ -39,9 +39,9 @@
         ),
         'dhw_id': '3933910',
         'setpoints': dict({
-          'next_sp_from': HAFakeDatetime(2024, 7, 10, 13, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
+          'next_sp_from': HAFakeDatetime(2024, 7, 10, 8, 30, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
           'next_sp_state': 'Off',
-          'this_sp_from': HAFakeDatetime(2024, 7, 10, 12, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/London')),
+          'this_sp_from': HAFakeDatetime(2024, 7, 10, 6, 30, tzinfo=zoneinfo.ZoneInfo(key='America/Santiago')),
           'this_sp_state': 'On',
         }),
         'state_status': dict({