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

IFeel seeting #99

Closed
nagyrobi opened this issue Oct 14, 2022 · 6 comments
Closed

IFeel seeting #99

nagyrobi opened this issue Oct 14, 2022 · 6 comments

Comments

@nagyrobi
Copy link
Contributor

nagyrobi commented Oct 14, 2022

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.

@nao-pon
Copy link
Collaborator

nao-pon commented Oct 16, 2022

I took a look at IRremoteESP8266, but IFeel is an On/Off switch and doesn't seem to support temperature transmission.

@hristo-atanasov
Copy link
Owner

@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.

@nagyrobi
Copy link
Contributor Author

I'd love to see how you did it

@hristo-atanasov
Copy link
Owner

hristo-atanasov commented Nov 29, 2022

@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

@nao-pon
Copy link
Collaborator

nao-pon commented Dec 1, 2022

@nagyrobi FYI, using ESPHome might give you the functionality you want.

@nagyrobi
Copy link
Contributor Author

nagyrobi commented Dec 1, 2022

Yes, but unfortunately my AC devices are not supported by ESPHome.

@nao-pon nao-pon closed this as completed Jun 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants