Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] - Opening Timeout not working #351

Open
zach-sb opened this issue Jan 22, 2025 · 9 comments
Open

[bug] - Opening Timeout not working #351

zach-sb opened this issue Jan 22, 2025 · 9 comments
Assignees
Labels
bug Something isn't working

Comments

@zach-sb
Copy link

zach-sb commented Jan 22, 2025

Hi, I am using v0.9.11-beta3, and the opening time out is not working. In one case I am even trying to set the timeout for 30 minutes (I don't mind if that door is open for a bit), but it is like there is no timeout at all on any of them.

I wasn't sure if I should comment on #76 given it was closed.

Image

Full Config

climate:
  - platform: dual_smart_thermostat
    name: Living Room Climate
    unique_id: climate.livingroom_smart
    heater: input_boolean.living_room_thermo_heat
    cooler: input_boolean.living_room_thermo_cool
    min_temp: 5
    max_temp: 40
    cold_tolerance: 1.5
    hot_tolerance: 0.5
    precision: 0.1
    target_temp_step: 0.5
    target_sensor: sensor.livingroom_digital_clock_temperature
    humidity_sensor: sensor.livingroom_digital_clock_humidity
    outside_sensor: sensor.outside_temperature
    heat_cool_mode: true
    min_cycle_duration: 00:30:00
    openings:
      - entity_id: binary_sensor.master_bedroom_open
        timeout: 00:00:30
      - entity_id: binary_sensor.bathroom_open
        timeout: 00:00:30
      - entity_id: binary_sensor.2nd_bedroom_open
        timeout: 00:00:30
      - entity_id: binary_sensor.front_door_contact
        timeout: 00:02:30
      - entity_id: binary_sensor.back_door_contact
        timeout: 00:00:30
      - entity_id: binary_sensor.laundry_window_contact
        timeout: 00:00:30
      - entity_id: binary_sensor.kitchen_window_contact
        timeout: 00:00:30
      - entity_id: binary_sensor.shed_door_contact
        timeout: 00:30:00
    home:
      temperature: 24
      target_temp_low: 16
      target_temp_high: 25
    sleep:
      temperature: 24
      target_temp_low: 10
      target_temp_high: 35
@swingerman swingerman self-assigned this Jan 22, 2025
@swingerman
Copy link
Owner

I do see a small gap here, though:

Image

@swingerman swingerman added the bug Something isn't working label Jan 22, 2025
@swingerman swingerman changed the title Opening Timeout not working [bug] - Opening Timeout not working Jan 22, 2025
@zach-sb
Copy link
Author

zach-sb commented Jan 22, 2025

Yeah that specific gap in particular was about 4 seconds. It would vary between 3 to 11 (not very solid numbers, just as we noticed through out the day). I am a bit confused about that delay given that the door is clearly detected. In any case, never what I had actually set it too (as shown in config).

@swingerman
Copy link
Owner

In what HVAC mode do you experience this? Heat, cool or heat/cool?

@zach-sb
Copy link
Author

zach-sb commented Jan 23, 2025

Heat/Cool

@swingerman
Copy link
Owner

I'm trying to reproduce the issue with your config, but it seems to work as expected on my end.

@zach-sb
Copy link
Author

zach-sb commented Jan 23, 2025

Well that's inconvenient! XD

I can try and test some stuff in the morning. Anything you would like me to look at? Anywhere to check for logs, specific versions etc?

@swingerman
Copy link
Owner

I see you have humidity and outside sensors set, but they are unnecessary as no fan or dryer device has been installed.
However, I am using your exact config, and it works.
I use input_boolean for my test setup, not binary sensors. This is the only difference at this point. The only thing I can think of is this difference.

@swingerman
Copy link
Owner

You can also look into the logs, search for "Opening changed" entries, and post it here.
It would be better to debug logging for the same.
This would help identify the problem.

@zach-sb
Copy link
Author

zach-sb commented Jan 24, 2025

I switched to test input_booleans for the controls so that I wasn't constantly toggling my air conditioner, but otherwise same setup. I was testing opening and closing the front door, with the 2:30 timeout. Logs are below.

I can see this line in particular in the logs

2025-01-24 11:41:22.494 DEBUG (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Scheduling state open of opening binary_sensor.front_door_contact in 0:02:30

Which does look very right. I can't say that the logs are very clear to me at this stage.

Logs
2025-01-24 11:41:19.961 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:19.961 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.bathroom_open=off; entity_id=['binary_sensor.bathroom_window_contact', 'binary_sensor.bathroom_door_contact'], device_class=opening, friendly_name=Bathroom Is Open @ 2025-01-24T11:01:03.567672+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:19.961 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:19.961 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.2nd_bedroom_open=off; entity_id=['binary_sensor.2nd_bedroom_window_contact', 'binary_sensor.2nd_bedroom_door_contact'], device_class=opening, friendly_name=2nd Bedroom Is Open @ 2025-01-24T11:01:03.357475+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:19.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:19.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)} is timed out, state: <state binary_sensor.front_door_contact=off; device_class=door, friendly_name=Front Door @ 2025-01-24T11:32:34.040628+11:00>, timeout: 0:02:30, is_timed_out: False
2025-01-24 11:41:19.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)}, is open: False.
2025-01-24 11:41:19.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.back_door_contact', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.back_door_contact=off; device_class=door, friendly_name=Back Door @ 2025-01-24T11:01:02.965485+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:19.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.back_door_contact', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:19.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.kitchen_window_contact', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.kitchen_window_contact=off; device_class=window, friendly_name=Kitchen Window @ 2025-01-24T11:01:03.137320+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:19.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.kitchen_window_contact', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:19.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] async_heater_cooler_toggle time: None, force: False
2025-01-24 11:41:19.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] is_cold_or_hot
2025-01-24 11:41:19.962 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_heat, on_state: on
2025-01-24 11:41:19.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] heater_device.is_active: False
2025-01-24 11:41:19.962 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:19.963 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] cooler_device.is_active: True
2025-01-24 11:41:19.963 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_heat, on_state: on
2025-01-24 11:41:19.963 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:19.963 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.9, tolerance: 1.5
2025-01-24 11:41:19.963 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.9, tolerance: 0.5
2025-01-24 11:41:19.963 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] too_cold: False, too_hot: True, tolerance_device: cooler, force: False 
2025-01-24 11:41:19.963 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice - async_control_hvac time: None. force: False
2025-01-24 11:41:19.963 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] _active: True
2025-01-24 11:41:19.963 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] cur_temp: 26.9
2025-01-24 11:41:19.963 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] target_env_attr: _target_temp_high
2025-01-24 11:41:19.963 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] hvac_mode: cool
2025-01-24 11:41:19.963 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] target_temp: 25.0
2025-01-24 11:41:19.963 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:19.963 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device ran long enough: input_boolean.test_cool
2025-01-24 11:41:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] current_state: on
2025-01-24 11:41:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] min_cycle_duration: 0:30:00
2025-01-24 11:41:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] time: 2025-01-24 00:41:19.964174+00:00
2025-01-24 11:41:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device ran long enough: False
2025-01-24 11:41:19.964 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device ran long enough: input_boolean.test_cool
2025-01-24 11:41:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] current_state: on
2025-01-24 11:41:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] min_cycle_duration: 0:30:00
2025-01-24 11:41:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] time: 2025-01-24 00:41:19.964807+00:00
2025-01-24 11:41:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] needs_control: False
2025-01-24 11:41:19.965 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device ran long enough: input_boolean.test_cool
2025-01-24 11:41:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] current_state: on
2025-01-24 11:41:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] min_cycle_duration: 0:30:00
2025-01-24 11:41:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] time: 2025-01-24 00:41:19.965297+00:00
2025-01-24 11:41:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device ran long enough: False
2025-01-24 11:41:19.965 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device ran long enough: input_boolean.test_cool
2025-01-24 11:41:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] current_state: on
2025-01-24 11:41:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] min_cycle_duration: 0:30:00
2025-01-24 11:41:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] time: 2025-01-24 00:41:19.965759+00:00
2025-01-24 11:41:19.965 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] updating HVACActionReason: target_temp_not_reached
2025-01-24 11:41:19.966 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_heat, on_state: on
2025-01-24 11:41:19.966 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:19.966 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:19.966 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:19.966 DEBUG (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Extra state attributes: {'prev_target_temp_low': 16.0, 'prev_target_temp_high': 28.5, 'hvac_action_reason': <HVACActionReason.TARGET_TEMP_NOT_REACHED: 'target_temp_not_reached'>}
2025-01-24 11:41:22.493 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Opening changed: <state binary_sensor.front_door_contact=on; device_class=door, friendly_name=Front Door @ 2025-01-24T11:41:22.492950+11:00>
2025-01-24 11:41:22.494 DEBUG (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Scheduling state open of opening binary_sensor.front_door_contact in 0:02:30
2025-01-24 11:41:22.494 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_heat, on_state: on
2025-01-24 11:41:22.494 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:22.494 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:22.494 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:22.495 DEBUG (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Extra state attributes: {'prev_target_temp_low': 16.0, 'prev_target_temp_high': 28.5, 'hvac_action_reason': <HVACActionReason.TARGET_TEMP_NOT_REACHED: 'target_temp_not_reached'>}
2025-01-24 11:41:22.510 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Sensor outside change: <state sensor.outside_temperature=29.735; state_class=measurement, entity_id=['sensor.outside_front_climate_temperature', 'sensor.outside_back_climate_temperature'], unit_of_measurement=°C, device_class=temperature, friendly_name=Outside Temperature @ 2025-01-24T11:41:22.504650+11:00>
2025-01-24 11:41:22.510 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Attempting to control climate, time None, force False
2025-01-24 11:41:22.510 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] async_control_hvac. hvac_mode: heat_cool, force: False
2025-01-24 11:41:22.510 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] _async_control_heat_cool. time: None, force: False
2025-01-24 11:41:22.510 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] _any_opening_open
2025-01-24 11:41:22.510 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking openings: ['binary_sensor.master_bedroom_open', 'binary_sensor.bathroom_open', 'binary_sensor.2nd_bedroom_open', 'binary_sensor.front_door_contact', 'binary_sensor.back_door_contact', 'binary_sensor.kitchen_window_contact']
2025-01-24 11:41:22.510 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] hvac_mode_scope: heat_cool
2025-01-24 11:41:22.510 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.master_bedroom_open=off; entity_id=['binary_sensor.master_bedroom_door_contact', 'binary_sensor.master_bedroom_windows'], device_class=opening, friendly_name=Master Bedroom Is Open @ 2025-01-24T11:01:03.409425+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:22.511 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:22.511 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.bathroom_open=off; entity_id=['binary_sensor.bathroom_window_contact', 'binary_sensor.bathroom_door_contact'], device_class=opening, friendly_name=Bathroom Is Open @ 2025-01-24T11:01:03.567672+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:22.511 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:22.511 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.2nd_bedroom_open=off; entity_id=['binary_sensor.2nd_bedroom_window_contact', 'binary_sensor.2nd_bedroom_door_contact'], device_class=opening, friendly_name=2nd Bedroom Is Open @ 2025-01-24T11:01:03.357475+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:22.511 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:22.511 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)} is timed out, state: <state binary_sensor.front_door_contact=on; device_class=door, friendly_name=Front Door @ 2025-01-24T11:41:22.492950+11:00>, timeout: 0:02:30, is_timed_out: False
2025-01-24 11:41:22.511 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)}, is open: True.
2025-01-24 11:41:22.511 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off or closing entity input_boolean.test_heat
2025-01-24 11:41:22.512 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off entity input_boolean.test_heat
2025-01-24 11:41:22.512 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:41:22.512 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.9, tolerance: 0.5
2025-01-24 11:41:22.512 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.9, tolerance: 1.5
2025-01-24 11:41:22.512 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: True
2025-01-24 11:41:22.512 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: False
2025-01-24 11:41:22.512 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:41:22.512 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:41:22.512 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off or closing entity input_boolean.test_cool
2025-01-24 11:41:22.512 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off entity input_boolean.test_cool
2025-01-24 11:41:22.520 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Switch changed: old_state: <state input_boolean.test_cool=on; editable=True, friendly_name=test cool @ 2025-01-24T11:32:34.056515+11:00>, new_state: <state input_boolean.test_cool=off; editable=True, friendly_name=test cool @ 2025-01-24T11:41:22.517290+11:00>
2025-01-24 11:41:22.521 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_heat, on_state: on
2025-01-24 11:41:22.521 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:22.521 DEBUG (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Extra state attributes: {'prev_target_temp_low': 16.0, 'prev_target_temp_high': 28.5, 'hvac_action_reason': <HVACActionReason.TARGET_TEMP_NOT_REACHED: 'target_temp_not_reached'>}
2025-01-24 11:41:22.522 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:41:22.522 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.9, tolerance: 1.5
2025-01-24 11:41:22.523 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.9, tolerance: 0.5
2025-01-24 11:41:22.523 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: False
2025-01-24 11:41:22.523 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: True
2025-01-24 11:41:22.523 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:41:22.523 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:41:22.523 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] updating HVACActionReason: opening
2025-01-24 11:41:22.523 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_heat, on_state: on
2025-01-24 11:41:22.523 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:22.523 DEBUG (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Extra state attributes: {'prev_target_temp_low': 16.0, 'prev_target_temp_high': 28.5, 'hvac_action_reason': <HVACActionReason.OPENING: 'opening'>}
2025-01-24 11:41:34.961 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Sensor humidity change: <state sensor.livingroom_digital_clock_humidity=40.6; state_class=measurement, unit_of_measurement=%, device_class=humidity, friendly_name=Living Room Digital Clock Humidity @ 2025-01-24T11:41:34.960754+11:00>
2025-01-24 11:41:34.962 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Attempting to control climate, time None, force False
2025-01-24 11:41:34.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] async_control_hvac. hvac_mode: heat_cool, force: False
2025-01-24 11:41:34.962 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] _async_control_heat_cool. time: None, force: False
2025-01-24 11:41:34.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] _any_opening_open
2025-01-24 11:41:34.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking openings: ['binary_sensor.master_bedroom_open', 'binary_sensor.bathroom_open', 'binary_sensor.2nd_bedroom_open', 'binary_sensor.front_door_contact', 'binary_sensor.back_door_contact', 'binary_sensor.kitchen_window_contact']
2025-01-24 11:41:34.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] hvac_mode_scope: heat_cool
2025-01-24 11:41:34.962 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.master_bedroom_open=off; entity_id=['binary_sensor.master_bedroom_door_contact', 'binary_sensor.master_bedroom_windows'], device_class=opening, friendly_name=Master Bedroom Is Open @ 2025-01-24T11:01:03.409425+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:34.963 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:34.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.bathroom_open=off; entity_id=['binary_sensor.bathroom_window_contact', 'binary_sensor.bathroom_door_contact'], device_class=opening, friendly_name=Bathroom Is Open @ 2025-01-24T11:01:03.567672+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:34.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:34.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.2nd_bedroom_open=off; entity_id=['binary_sensor.2nd_bedroom_window_contact', 'binary_sensor.2nd_bedroom_door_contact'], device_class=opening, friendly_name=2nd Bedroom Is Open @ 2025-01-24T11:01:03.357475+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:34.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:34.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)} is timed out, state: <state binary_sensor.front_door_contact=on; device_class=door, friendly_name=Front Door @ 2025-01-24T11:41:22.492950+11:00>, timeout: 0:02:30, is_timed_out: False
2025-01-24 11:41:34.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)}, is open: True.
2025-01-24 11:41:34.966 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off or closing entity input_boolean.test_heat
2025-01-24 11:41:34.967 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off entity input_boolean.test_heat
2025-01-24 11:41:34.967 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:41:34.967 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.9, tolerance: 0.5
2025-01-24 11:41:34.967 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.9, tolerance: 1.5
2025-01-24 11:41:34.967 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: True
2025-01-24 11:41:34.967 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: False
2025-01-24 11:41:34.967 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:41:34.967 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:41:34.967 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off or closing entity input_boolean.test_cool
2025-01-24 11:41:34.968 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off entity input_boolean.test_cool
2025-01-24 11:41:34.968 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:41:34.968 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.9, tolerance: 1.5
2025-01-24 11:41:34.968 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.9, tolerance: 0.5
2025-01-24 11:41:34.968 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: False
2025-01-24 11:41:34.968 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: True
2025-01-24 11:41:34.968 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:41:34.968 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:41:34.968 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] updating HVACActionReason: opening
2025-01-24 11:41:34.968 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_heat, on_state: on
2025-01-24 11:41:34.968 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:34.969 DEBUG (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Extra state attributes: {'prev_target_temp_low': 16.0, 'prev_target_temp_high': 28.5, 'hvac_action_reason': <HVACActionReason.OPENING: 'opening'>}
2025-01-24 11:41:49.953 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Sensor humidity change: <state sensor.livingroom_digital_clock_humidity=40.7; state_class=measurement, unit_of_measurement=%, device_class=humidity, friendly_name=Living Room Digital Clock Humidity @ 2025-01-24T11:41:49.952631+11:00>
2025-01-24 11:41:49.954 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Attempting to control climate, time None, force False
2025-01-24 11:41:49.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] async_control_hvac. hvac_mode: heat_cool, force: False
2025-01-24 11:41:49.954 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] _async_control_heat_cool. time: None, force: False
2025-01-24 11:41:49.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] _any_opening_open
2025-01-24 11:41:49.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking openings: ['binary_sensor.master_bedroom_open', 'binary_sensor.bathroom_open', 'binary_sensor.2nd_bedroom_open', 'binary_sensor.front_door_contact', 'binary_sensor.back_door_contact', 'binary_sensor.kitchen_window_contact']
2025-01-24 11:41:49.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] hvac_mode_scope: heat_cool
2025-01-24 11:41:49.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.master_bedroom_open=off; entity_id=['binary_sensor.master_bedroom_door_contact', 'binary_sensor.master_bedroom_windows'], device_class=opening, friendly_name=Master Bedroom Is Open @ 2025-01-24T11:01:03.409425+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:49.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:49.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.bathroom_open=off; entity_id=['binary_sensor.bathroom_window_contact', 'binary_sensor.bathroom_door_contact'], device_class=opening, friendly_name=Bathroom Is Open @ 2025-01-24T11:01:03.567672+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:49.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:49.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.2nd_bedroom_open=off; entity_id=['binary_sensor.2nd_bedroom_window_contact', 'binary_sensor.2nd_bedroom_door_contact'], device_class=opening, friendly_name=2nd Bedroom Is Open @ 2025-01-24T11:01:03.357475+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:41:49.955 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:41:49.955 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)} is timed out, state: <state binary_sensor.front_door_contact=on; device_class=door, friendly_name=Front Door @ 2025-01-24T11:41:22.492950+11:00>, timeout: 0:02:30, is_timed_out: False
2025-01-24 11:41:49.955 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)}, is open: True.
2025-01-24 11:41:49.955 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off or closing entity input_boolean.test_heat
2025-01-24 11:41:49.955 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off entity input_boolean.test_heat
2025-01-24 11:41:49.955 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:41:49.955 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.9, tolerance: 0.5
2025-01-24 11:41:49.955 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.9, tolerance: 1.5
2025-01-24 11:41:49.956 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: True
2025-01-24 11:41:49.956 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: False
2025-01-24 11:41:49.956 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:41:49.956 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:41:49.956 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off or closing entity input_boolean.test_cool
2025-01-24 11:41:49.956 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off entity input_boolean.test_cool
2025-01-24 11:41:49.956 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:41:49.956 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.9, tolerance: 1.5
2025-01-24 11:41:49.957 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.9, tolerance: 0.5
2025-01-24 11:41:49.957 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: False
2025-01-24 11:41:49.957 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: True
2025-01-24 11:41:49.957 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:41:49.957 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:41:49.957 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] updating HVACActionReason: opening
2025-01-24 11:41:49.957 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_heat, on_state: on
2025-01-24 11:41:49.957 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:41:49.958 DEBUG (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Extra state attributes: {'prev_target_temp_low': 16.0, 'prev_target_temp_high': 28.5, 'hvac_action_reason': <HVACActionReason.OPENING: 'opening'>}
2025-01-24 11:42:04.951 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Sensor humidity change: <state sensor.livingroom_digital_clock_humidity=40.9; state_class=measurement, unit_of_measurement=%, device_class=humidity, friendly_name=Living Room Digital Clock Humidity @ 2025-01-24T11:42:04.950347+11:00>
2025-01-24 11:42:04.951 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Attempting to control climate, time None, force False
2025-01-24 11:42:04.951 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] async_control_hvac. hvac_mode: heat_cool, force: False
2025-01-24 11:42:04.951 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] _async_control_heat_cool. time: None, force: False
2025-01-24 11:42:04.951 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] _any_opening_open
2025-01-24 11:42:04.951 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking openings: ['binary_sensor.master_bedroom_open', 'binary_sensor.bathroom_open', 'binary_sensor.2nd_bedroom_open', 'binary_sensor.front_door_contact', 'binary_sensor.back_door_contact', 'binary_sensor.kitchen_window_contact']
2025-01-24 11:42:04.952 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] hvac_mode_scope: heat_cool
2025-01-24 11:42:04.952 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.master_bedroom_open=off; entity_id=['binary_sensor.master_bedroom_door_contact', 'binary_sensor.master_bedroom_windows'], device_class=opening, friendly_name=Master Bedroom Is Open @ 2025-01-24T11:01:03.409425+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:42:04.952 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:42:04.952 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.bathroom_open=off; entity_id=['binary_sensor.bathroom_window_contact', 'binary_sensor.bathroom_door_contact'], device_class=opening, friendly_name=Bathroom Is Open @ 2025-01-24T11:01:03.567672+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:42:04.952 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:42:04.952 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.2nd_bedroom_open=off; entity_id=['binary_sensor.2nd_bedroom_window_contact', 'binary_sensor.2nd_bedroom_door_contact'], device_class=opening, friendly_name=2nd Bedroom Is Open @ 2025-01-24T11:01:03.357475+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:42:04.952 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:42:04.952 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)} is timed out, state: <state binary_sensor.front_door_contact=on; device_class=door, friendly_name=Front Door @ 2025-01-24T11:41:22.492950+11:00>, timeout: 0:02:30, is_timed_out: False
2025-01-24 11:42:04.953 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)}, is open: True.
2025-01-24 11:42:04.953 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off or closing entity input_boolean.test_heat
2025-01-24 11:42:04.953 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off entity input_boolean.test_heat
2025-01-24 11:42:04.953 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:42:04.953 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.9, tolerance: 0.5
2025-01-24 11:42:04.953 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.9, tolerance: 1.5
2025-01-24 11:42:04.953 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: True
2025-01-24 11:42:04.953 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: False
2025-01-24 11:42:04.953 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:42:04.953 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:42:04.953 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off or closing entity input_boolean.test_cool
2025-01-24 11:42:04.953 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off entity input_boolean.test_cool
2025-01-24 11:42:04.953 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:42:04.953 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.9, tolerance: 1.5
2025-01-24 11:42:04.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.9, tolerance: 0.5
2025-01-24 11:42:04.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: False
2025-01-24 11:42:04.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: True
2025-01-24 11:42:04.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:42:04.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:42:04.954 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] updating HVACActionReason: opening
2025-01-24 11:42:04.954 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_heat, on_state: on
2025-01-24 11:42:04.954 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:42:04.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Extra state attributes: {'prev_target_temp_low': 16.0, 'prev_target_temp_high': 28.5, 'hvac_action_reason': <HVACActionReason.OPENING: 'opening'>}
2025-01-24 11:42:04.954 DEBUG (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Extra state attributes: {'prev_target_temp_low': 16.0, 'prev_target_temp_high': 28.5, 'hvac_action_reason': <HVACActionReason.OPENING: 'opening'>}
2025-01-24 11:42:19.963 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Sensor humidity change: <state sensor.livingroom_digital_clock_humidity=40.7; state_class=measurement, unit_of_measurement=%, device_class=humidity, friendly_name=Living Room Digital Clock Humidity @ 2025-01-24T11:42:19.962647+11:00>
2025-01-24 11:42:19.964 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Attempting to control climate, time None, force False
2025-01-24 11:42:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] async_control_hvac. hvac_mode: heat_cool, force: False
2025-01-24 11:42:19.964 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] _async_control_heat_cool. time: None, force: False
2025-01-24 11:42:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] _any_opening_open
2025-01-24 11:42:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking openings: ['binary_sensor.master_bedroom_open', 'binary_sensor.bathroom_open', 'binary_sensor.2nd_bedroom_open', 'binary_sensor.front_door_contact', 'binary_sensor.back_door_contact', 'binary_sensor.kitchen_window_contact']
2025-01-24 11:42:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] hvac_mode_scope: heat_cool
2025-01-24 11:42:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.master_bedroom_open=off; entity_id=['binary_sensor.master_bedroom_door_contact', 'binary_sensor.master_bedroom_windows'], device_class=opening, friendly_name=Master Bedroom Is Open @ 2025-01-24T11:01:03.409425+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:42:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:42:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.bathroom_open=off; entity_id=['binary_sensor.bathroom_window_contact', 'binary_sensor.bathroom_door_contact'], device_class=opening, friendly_name=Bathroom Is Open @ 2025-01-24T11:01:03.567672+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:42:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:42:19.964 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.2nd_bedroom_open=off; entity_id=['binary_sensor.2nd_bedroom_window_contact', 'binary_sensor.2nd_bedroom_door_contact'], device_class=opening, friendly_name=2nd Bedroom Is Open @ 2025-01-24T11:01:03.357475+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:42:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:42:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)} is timed out, state: <state binary_sensor.front_door_contact=on; device_class=door, friendly_name=Front Door @ 2025-01-24T11:41:22.492950+11:00>, timeout: 0:02:30, is_timed_out: False
2025-01-24 11:42:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)}, is open: True.
2025-01-24 11:42:19.965 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off or closing entity input_boolean.test_heat
2025-01-24 11:42:19.965 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off entity input_boolean.test_heat
2025-01-24 11:42:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:42:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.9, tolerance: 0.5
2025-01-24 11:42:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.9, tolerance: 1.5
2025-01-24 11:42:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: True
2025-01-24 11:42:19.965 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: False
2025-01-24 11:42:19.966 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:42:19.966 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:42:19.966 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off or closing entity input_boolean.test_cool
2025-01-24 11:42:19.966 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off entity input_boolean.test_cool
2025-01-24 11:42:19.966 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:42:19.966 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.9, tolerance: 1.5
2025-01-24 11:42:19.966 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.9, tolerance: 0.5
2025-01-24 11:42:19.966 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: False
2025-01-24 11:42:19.966 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: True
2025-01-24 11:42:19.966 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:42:19.966 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:42:19.966 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] updating HVACActionReason: opening
2025-01-24 11:42:19.966 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_heat, on_state: on
2025-01-24 11:42:19.966 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:42:19.967 DEBUG (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Extra state attributes: {'prev_target_temp_low': 16.0, 'prev_target_temp_high': 28.5, 'hvac_action_reason': <HVACActionReason.OPENING: 'opening'>}
2025-01-24 11:42:34.940 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Sensor change: <state sensor.livingroom_digital_clock_temperature=26.8; unit_of_measurement=°C, device_class=temperature, friendly_name=Living Room Digital Clock Temperature @ 2025-01-24T11:42:34.937237+11:00>, trigger_control: True
2025-01-24 11:42:34.940 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Attempting to control climate, time None, force False
2025-01-24 11:42:34.940 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] async_control_hvac. hvac_mode: heat_cool, force: False
2025-01-24 11:42:34.941 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] _async_control_heat_cool. time: None, force: False
2025-01-24 11:42:34.941 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] _any_opening_open
2025-01-24 11:42:34.941 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking openings: ['binary_sensor.master_bedroom_open', 'binary_sensor.bathroom_open', 'binary_sensor.2nd_bedroom_open', 'binary_sensor.front_door_contact', 'binary_sensor.back_door_contact', 'binary_sensor.kitchen_window_contact']
2025-01-24 11:42:34.941 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] hvac_mode_scope: heat_cool
2025-01-24 11:42:34.941 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.master_bedroom_open=off; entity_id=['binary_sensor.master_bedroom_door_contact', 'binary_sensor.master_bedroom_windows'], device_class=opening, friendly_name=Master Bedroom Is Open @ 2025-01-24T11:01:03.409425+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:42:34.941 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:42:34.942 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.bathroom_open=off; entity_id=['binary_sensor.bathroom_window_contact', 'binary_sensor.bathroom_door_contact'], device_class=opening, friendly_name=Bathroom Is Open @ 2025-01-24T11:01:03.567672+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:42:34.942 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:42:34.942 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.2nd_bedroom_open=off; entity_id=['binary_sensor.2nd_bedroom_window_contact', 'binary_sensor.2nd_bedroom_door_contact'], device_class=opening, friendly_name=2nd Bedroom Is Open @ 2025-01-24T11:01:03.357475+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:42:34.942 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:42:34.942 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)} is timed out, state: <state binary_sensor.front_door_contact=on; device_class=door, friendly_name=Front Door @ 2025-01-24T11:41:22.492950+11:00>, timeout: 0:02:30, is_timed_out: False
2025-01-24 11:42:34.943 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)}, is open: True.
2025-01-24 11:42:34.943 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off or closing entity input_boolean.test_heat
2025-01-24 11:42:34.943 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off entity input_boolean.test_heat
2025-01-24 11:42:34.943 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:42:34.943 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.8, tolerance: 0.5
2025-01-24 11:42:34.943 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.8, tolerance: 1.5
2025-01-24 11:42:34.943 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: True
2025-01-24 11:42:34.944 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: False
2025-01-24 11:42:34.944 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:42:34.944 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:42:34.944 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off or closing entity input_boolean.test_cool
2025-01-24 11:42:34.944 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off entity input_boolean.test_cool
2025-01-24 11:42:34.944 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:42:34.944 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.8, tolerance: 1.5
2025-01-24 11:42:34.944 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_high, Target temp: 25.0, current temp: 26.8, tolerance: 0.5
2025-01-24 11:42:34.944 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: False
2025-01-24 11:42:34.944 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: True
2025-01-24 11:42:34.944 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:42:34.944 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:42:34.945 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] updating HVACActionReason: opening
2025-01-24 11:42:34.945 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_heat, on_state: on
2025-01-24 11:42:34.945 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_controller.generic_controller] Checking if device is active: input_boolean.test_cool, on_state: on
2025-01-24 11:42:34.945 DEBUG (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Extra state attributes: {'prev_target_temp_low': 16.0, 'prev_target_temp_high': 28.5, 'hvac_action_reason': <HVACActionReason.OPENING: 'opening'>}
2025-01-24 11:42:34.975 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Sensor humidity change: <state sensor.livingroom_digital_clock_humidity=40.6; state_class=measurement, unit_of_measurement=%, device_class=humidity, friendly_name=Living Room Digital Clock Humidity @ 2025-01-24T11:42:34.974838+11:00>
2025-01-24 11:42:34.975 INFO (MainThread) [custom_components.dual_smart_thermostat.climate.climate.livingroom_smart] Attempting to control climate, time None, force False
2025-01-24 11:42:34.975 DEBUG (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] async_control_hvac. hvac_mode: heat_cool, force: False
2025-01-24 11:42:34.975 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.heater_cooler_device] _async_control_heat_cool. time: None, force: False
2025-01-24 11:42:34.975 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] _any_opening_open
2025-01-24 11:42:34.975 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking openings: ['binary_sensor.master_bedroom_open', 'binary_sensor.bathroom_open', 'binary_sensor.2nd_bedroom_open', 'binary_sensor.front_door_contact', 'binary_sensor.back_door_contact', 'binary_sensor.kitchen_window_contact']
2025-01-24 11:42:34.976 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] hvac_mode_scope: heat_cool
2025-01-24 11:42:34.976 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.master_bedroom_open=off; entity_id=['binary_sensor.master_bedroom_door_contact', 'binary_sensor.master_bedroom_windows'], device_class=opening, friendly_name=Master Bedroom Is Open @ 2025-01-24T11:01:03.409425+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:42:34.976 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.master_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:42:34.976 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.bathroom_open=off; entity_id=['binary_sensor.bathroom_window_contact', 'binary_sensor.bathroom_door_contact'], device_class=opening, friendly_name=Bathroom Is Open @ 2025-01-24T11:01:03.567672+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:42:34.976 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.bathroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:42:34.976 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)} is timed out, state: <state binary_sensor.2nd_bedroom_open=off; entity_id=['binary_sensor.2nd_bedroom_window_contact', 'binary_sensor.2nd_bedroom_door_contact'], device_class=opening, friendly_name=2nd Bedroom Is Open @ 2025-01-24T11:01:03.357475+11:00>, timeout: 0:00:30, is_timed_out: False
2025-01-24 11:42:34.977 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.2nd_bedroom_open', 'timeout': datetime.timedelta(seconds=30)}, is open: False.
2025-01-24 11:42:34.977 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] Checking if opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)} is timed out, state: <state binary_sensor.front_door_contact=on; device_class=door, friendly_name=Front Door @ 2025-01-24T11:41:22.492950+11:00>, timeout: 0:02:30, is_timed_out: False
2025-01-24 11:42:34.977 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.opening_manager] No timeout mode for opening {'entity_id': 'binary_sensor.front_door_contact', 'timeout': datetime.timedelta(seconds=150)}, is open: True.
2025-01-24 11:42:34.977 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off or closing entity input_boolean.test_heat
2025-01-24 11:42:34.977 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] HeaterDevice. Turning off entity input_boolean.test_heat
2025-01-24 11:42:34.977 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power
2025-01-24 11:42:34.978 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_hot - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.8, tolerance: 0.5
2025-01-24 11:42:34.978 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.environment_manager] is_too_cold - target temp attr: _target_temp_low, Target temp: 16.0, current temp: 26.8, tolerance: 1.5
2025-01-24 11:42:34.978 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal reached: True
2025-01-24 11:42:34.978 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] goal not reached: False
2025-01-24 11:42:34.978 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] hvac_action: off
2025-01-24 11:42:34.978 DEBUG (MainThread) [custom_components.dual_smart_thermostat.managers.hvac_power_manager] Updating hvac power because goal reached
2025-01-24 11:42:34.978 INFO (MainThread) [custom_components.dual_smart_thermostat.hvac_device.generic_hvac_device] CoolerDevice. Turning off or closing entity input_boolean.test_cool

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants