diff --git a/propbox.yaml b/propbox.yaml
index 7fd9eb87e5ca9f3f6b7fcdbc17f7817943353efa..e79dfba80f2591519715f33f7d4fb58c9136a06b 100644
--- a/propbox.yaml
+++ b/propbox.yaml
@@ -9,9 +9,6 @@ substitutions:
   hostname_light: "propbox-light.${domain}"
   hostname_fan: "propbox-fan.${domain}"
 
-  # Sensors
-  ble_sensor_mac: "A4:C1:38:47:14:50" # 'PropBoxBLE'
-
   # Schedules
   #schedule_grow_on: "0 0 3 * * *"
   #schedule_grow_off: "0 0 21 * * *"
@@ -24,15 +21,23 @@ substitutions:
 
   temperature_max: "27"
   temperature_min: "21"
+  temperature_hysteresis: "2"
   humidity_max: "70"
   humidity_min: "40"
+  humidity_hysteresis: "5"
 
 <<: !include common.yaml
 
 esp32:
   board: esp32dev
 
-esp32_ble_tracker:
+i2c:
+  sda: 21
+  scl: 22
+
+dallas:
+  - pin: GPIO23
+    update_interval: 5s
 
 http_request:
   id: http_request_data
@@ -52,26 +57,33 @@ sensor:
 
 ### Specific Sensors
 
-  - platform: pvvx_mithermometer
-    mac_address: ${ble_sensor_mac}
-    battery_level:
-      id: ble_battery_level
-      name: "BLE Battery Level"
-    battery_voltage:
-      id: ble_battery_voltage
-      name: "BLE Battery Voltage"
+  - platform: bme280
+    address: 0x76
+    update_interval: 5s
     temperature:
-      id: ble_temperature
+      id: temperature
       name: "Temperature"
+      accuracy_decimals: 2
       on_value:
         then:
           - script.execute: fan_control
     humidity:
-      id: ble_humidity
+      id: humidity
       name: "Humidity"
+      accuracy_decimals: 2
       on_value:
         then:
           - script.execute: fan_control
+    pressure:
+      id: pressure
+      accuracy_decimals: 2
+      name: "Pressure"
+
+  - platform: dallas
+    index: 0
+    id: temperature_water
+    name: "Water Temperature"
+    accuracy_decimals: 2
 
 text_sensor:
   !include include/text_sensors.yaml
@@ -99,6 +111,8 @@ select:
             id(schedule) = index.value();
 
 switch:
+  - platform: restart
+    name: "Restart"
   - platform: template
     id: propbox_light
     name: "Light Status"
@@ -170,17 +184,18 @@ script:
           // switch fan on when temperature/humidity is above the limit, unless humidity/temperature is below the limit
           if (
             !id(propbox_fan).state &&
-            (id(ble_temperature).state >= ${temperature_max} && id(ble_humidity).state    >= ${humidity_min}) ||
-            (id(ble_humidity).state    >= ${humidity_max}    && id(ble_temperature).state >= ${temperature_min})
+            (id(temperature).state >= ${temperature_max} && id(humidity).state    >= ${humidity_min}) ||
+            (id(humidity).state    >= ${humidity_max}    && id(temperature).state >= ${temperature_min})
           ) {
             id(propbox_fan).turn_on();
             id(propbox_fan).publish_state(true);
           }
 
-          // switch fan off when temperature and humidity are below the limits
+          // switch fan off when temperature and humidity are below the limits minus hysteresis
           else if (
             id(propbox_fan).state &&
-            id(ble_temperature).state <= ${temperature_max} && id(ble_humidity).state <= ${humidity_max}
+            id(temperature).state <= ${temperature_max} - ${temperature_hysteresis} && 
+            id(humidity).state    <= ${humidity_max}    - ${humidity_hysteresis}
           ) {
             id(propbox_fan).turn_off();
             id(propbox_fan).publish_state(false);