@@ -877,6 +877,20 @@ def _appliance_measurements(
877877 appl_p_loc .text , getattr (attrs , ATTR_UNIT_OF_MEASUREMENT )
878878 )
879879 data ["sensors" ][s_key ] = s_value
880+ # Anna: save cooling-related measurements for later use
881+ # Use the local outdoor temperature as reference for turning cooling on/off
882+ if meas_rn == "cooling_activation_outdoor_temperature" :
883+ self ._cooling_activation_outdoor_temp = data ["sensors" ][
884+ "cooling_activation_outdoor_temperature"
885+ ]
886+ if meas_rn == "cooling_deactivation_threshold" :
887+ self ._cooling_deactivation_threshold = data ["sensors" ][
888+ "cooling_deactivation_threshold"
889+ ]
890+ if meas_rn == "outdoor_air_temperature" :
891+ self ._outdoor_temp = data ["sensors" ][
892+ "outdoor_air_temperature"
893+ ]
880894 case _ as meas_rn if meas_rn in SWITCHES :
881895 sw_key = cast (SwitchType , meas_rn )
882896 sw_value = cast (
@@ -898,19 +912,6 @@ def _appliance_measurements(
898912 case "elga_status_code" :
899913 data ["elga_status_code" ] = int (appl_p_loc .text )
900914
901- # Anna: save cooling-related measurements for later use
902- # Use the local outdoor temperature as reference for turning cooling on/off
903- if meas_rn == "cooling_activation_outdoor_temperature" :
904- self ._cooling_activation_outdoor_temp = data ["sensors" ][
905- "cooling_activation_outdoor_temperature"
906- ]
907- if meas_rn == "cooling_deactivation_threshold" :
908- self ._cooling_deactivation_threshold = data ["sensors" ][
909- "cooling_deactivation_threshold"
910- ]
911- if meas_rn == "outdoor_air_temperature" :
912- self ._outdoor_temp = data ["sensors" ]["outdoor_air_temperature" ]
913-
914915 i_locator = f'.//logs/interval_log[type="{ measurement } "]/period/measurement'
915916 if (appl_i_loc := appliance .find (i_locator )) is not None :
916917 name = cast (SensorType , f"{ measurement } _interval" )
0 commit comments