IFeel seeting
nagyrobi opened this issue · 6 comments
Is there a way to implement the IFeel
setting, which is supported by many brands (Gree, Airwell, Electra, Whirlpool, etc).? All data is available in the component to support it.
The IFeel
function means that the AC's original remote controller has a built-in temp sensor, which sends periodically the measured temperature back to the AC unit, allowing for more accurate room temperature control. Given that the sensor built-in the AC unit is usually in an un-optimal location, it is indeed better to use the remote, which can be placed by the user in a proper location to feel the real temperature of the room. The remote's manual states that it has to be put down pointing to the AC unit so temperature codes can be transmitted.
This component already supports the temperature_sensor
to be shown in the entity card in HA, but we could use this value to be sent to the AC unit via the IR Blaster too. A quick search in the IRremoteESP8266 repository for IFeel
shows that it's supported.
Afaik the temperature value should be sent to the AC unit every minute. If the unit doesn't receive temperatures, even if IFeel
is enabled, it will fall back to the built-in sensor automatically, until it receives temp data again.
I took a look at IRremoteESP8266, but IFeel is an On/Off switch and doesn't seem to support temperature transmission.
@nagyrobi I've made such automation based on Tasmota IRHVAC, but this is not optimal. Better use your remote and its iFeel function. If we make this functionality, this will increase dramaticaly the power usage of the AC. In practice we will make inverter AC unit in to non inverter AC unit. The AC itself (even not smart one) is smart enough to know when to start its pump and when not to do it. The end result was way more electricity used and constant beeping from the AC unit. The other problem is that we cannot send the curent ambient temp to the AC. Only the real remote can do it. It is using separate codes for this functionality. So the only way is to create automation for that. But the better way is to use your remote with iFeel, or setting such temperature, that you feel best. :) If you still want "custom iFeel", I can give you the automation for it.
I'd love to see how you did it
@nagyrobi This is one of the automations
alias: AC Automation
description: |-
Example AC automation
trigger:
- platform: state
entity_id:
- sensor.room_temperature
- platform: state
entity_id:
- climate.livingroom_ac
attribute: temperature
- platform: time_pattern
minutes: /15
condition: []
action:
- if:
- condition: time
before: "16:30:00"
after: "07:50:00"
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: state
entity_id: climate.livingroom_ac
state: "off"
for:
hours: 0
minutes: 5
seconds: 0
then:
- choose:
- conditions:
- condition: template
value_template: >-
{{ states.sensor.room_temperature.state|float <
(state_attr("climate.livingroom_ac", "temperature") - 1)|float
}}
- condition: not
conditions:
- condition: state
entity_id: climate.livingroom_ac
state: heat
sequence:
- service: climate.turn_on
data: {}
target:
entity_id: climate.livingroom_ac
- service: climate.set_hvac_mode
data:
hvac_mode: heat
target:
entity_id: climate.livingroom_ac
default: []
else:
- if:
- condition: not
conditions:
- condition: state
entity_id: climate.livingroom_ac
state: "off"
- condition: time
before: "12:00:00"
weekday:
- sat
- sun
after: "00:00:00"
then:
- service: climate.turn_off
data: {}
target:
entity_id: climate.livingroom_ac
- if:
- condition: time
before: "13:00:00"
weekday:
- sat
after: "10:00:00"
then:
- choose:
- conditions:
- condition: template
value_template: >-
{{ states.sensor.room_temperature.state|float <
(state_attr("climate.livingroom_ac", "temperature") - 1)|float
}}
- condition: state
entity_id: climate.livingroom_ac
state: "off"
for:
hours: 0
minutes: 5
seconds: 0
- condition: not
conditions:
- condition: state
entity_id: climate.livingroom_ac
state: heat
sequence:
- service: climate.turn_on
data: {}
target:
entity_id: climate.livingroom_ac
- service: climate.set_hvac_mode
data:
hvac_mode: heat
target:
entity_id: climate.livingroom_ac
default: []
else:
- if:
- condition: not
conditions:
- condition: state
entity_id: climate.livingroom_ac
state: "off"
- condition: time
before: "12:00:00"
weekday:
- fri
- thu
- wed
- tue
- mon
after: "00:00:00"
then:
- service: climate.turn_off
data: {}
target:
entity_id: climate.livingroom_ac
- if:
- condition: time
before: "12:00:00"
weekday:
- sun
after: "00:00:00"
- condition: not
conditions:
- condition: state
entity_id: climate.livingroom_ac
state: "off"
then:
- service: climate.turn_off
data: {}
target:
entity_id: climate.livingroom_ac
mode: single
Yes, but unfortunately my AC devices are not supported by ESPHome.