litinoveweedle / SmartIR

⏻ Control Home Assistant climate, fan, media_player and light devices via IR/RF controllers (Broadlink, Xiaomi, MQTT, LOOKin, ESPHome, ZHA)
MIT License
117 stars 33 forks source link

2 sets of ir commends. #121

Closed omersht closed 3 months ago

omersht commented 3 months ago

Hi, my electra AC uses a wired on/off system. there is one button for on/off. that button sends the on/off command as well as all the AC settings(temp,mod. etc). if I i will change a setting(while the AC is on) the AC will turn off. I have 2 filles one with all of the on/off comands for each setting and one for the change commands(if the AC is alrady on). I now set it up as 2 diffrent "devices" and have an automation to manage wich one to "send the command to", and I use a climate template as the real ac entity, So my feature request is to have the ability to set up 2 difrrent files(or just 1. With additional: command_bank: ["turn_on","change"]) one with all the turn on commands, and one with all the change mode commands. and smartIR will choose one based of if the ac is currently on or off. This system is being used by the majority(if not all) of electra AC's and will allow compatibility to a wide range of AC's. thank you in advance for maintaining this awesome project.

edit: I saw on the original smartir repo an issue on this topic as well a someone using a fork of this repo to implementation this feature, unfortunately after some testing his implement dosent work as expected,

litinoveweedle commented 3 months ago

Hello, I do not understand your request correctly.

Are on and off commands same? Do you need explicit on command at all, when you have combined setting command which include on command?

Please note, that current implementation do not send on command, if it is same as off command and AC unit is already assume to be in ON state.

omersht commented 3 months ago

Hey, first thank you for responding, but second My ac need a specific on command for each settings, so what I need to be happening when I send a command is this:

  1. SmartIR will check whether or not the state of the Aircon is on or off
  2. If off, SmartIR will choose a command from a bank of turn on commands, according to the required settings(temp mode etc)
  3. If on, SmartIR will choose a command from a bank of change settings command, again according to the required command,
  4. The command will be sent,

The reason: most of electa ac's use a super wired system.

Lest imagine the ac is off, and i will send a simple (cool,19,medium) command, the ac will not turn on, The real command that needs to be sent is (on,cool,19,medium) But if the ac is already on, an i will send (on,cool,19,medium). The ac will now turn off. One work around is to use the "on command" option, But then lets say I want to set the ac to heat, but the on command is (on,cool,19,medium) And then immediately send the correct setting command, but this has 2 main problems 1. It is super unhealthy to the ac, it has already booted up at cool mode and I am now changing it to heat and it now has a minute of cool-down before working.

  1. I am using a tuya zigbee IR blaster with zigbee2mqtt, and it has some reliability issues when sending rapid commands.
litinoveweedle commented 3 months ago

Ok, I am afraid that then your device is not compatible with the SmartIR integration. I have no intention to support every model of the AC units not compatible with the mainstream, as it will only complicate codebase and its maintenance significantly. Please feel free to either fork or create dedicated Electra integration implementation based on the SmartIR codebase. The alternative way is to use template based climate control and use HA actions to automate whatever you want. You can see my climate template integration

omersht commented 3 months ago

Ok, I understand, PS I wish I had the knowledge and experience to create such a fork.