My Daikin AC - IRRecvDumpV2 work corretly but OMG no

In the end i noticed that IRremoteESP8266 gave me more reliable results for my Daikin rather then OMG so i decided to use the IRMQTTSERVER.ino and modified it to include ir_Daikin and the analysis of recieved message according to dumpACInfo function.
I modified it to publish a new mqtt topic ir_server/daikin and i modified that function to create a json.
I am sorry in the end i didn’t use OMG but looked easier to me to modify the IRremoteESP8266.
Next challenge is to prepare the JSON payload for ir_send to send message to IR.
In the end, here is a payload:

{"Power":"ON","Mode":0,"Temp":27,"Fan":10,"Powerful":"OFF","Quiet":"OFF","Sensor":"OFF","Eye":"ON","Mold":"OFF","Comfort":"OFF","SwingH":"OFF","SwingV":"OFF","CurrentTime":"19:18","Current Day":,"OnTime":"OFF","OffTime":"OFF"}

here is my openhab thing definition:

Thing mqtt:topic:irmqtt (mqtt:broker:localBroker) {
Channels:
    Type string : irmsgsend "AC_rawstring"  [stateTopic="ir_server/daikin", commandTopic="ir_server/daikin"]
    Type switch : acpower "AC_power"  [stateTopic="ir_server/daikin", transformationPattern="JSONPATH:$.Power"]
    Type string : acmode "AC_mode"  [stateTopic="ir_server/daikin", transformationPattern="JSONPATH:$.Mode"]
    Type number : actemperature "AC_temperature"  [stateTopic="ir_server/daikin", transformationPattern="JSONPATH:$.Temp"]
    Type number : acwind "AC_wind"  [stateTopic="ir_server/daikin", transformationPattern="JSONPATH:$.Fan"]
    Type switch : acwindswing "AC_swing"  [stateTopic="ir_server/daikin", transformationPattern="JSONPATH:$.SwingV"]
    Type switch : acpowerful "AC_powerful"  [stateTopic="ir_server/daikin", transformationPattern="JSONPATH:$.Powerful"]
    Type switch : accomfort "AC_comfort"  [stateTopic="ir_server/daikin", transformationPattern="JSONPATH:$.Comfort"]

}

Here is .items

Group AC "Air conditioner"

Group g_AC “LivingRoom Daikin” [ “Thermostat”, “Celsius” ]
Switch AC_power “AC Power” (AC) { channel=“mqtt:topic:irmqtt:acpower” }
String AC_mode “AC Mode” (AC) { channel=“mqtt:topic:irmqtt:acmode” }
Number AC_set_temp “AC Temperature” (AC, g_AC) { channel=“mqtt:topic:irmqtt:actemperature” }
Number AC_windlevel “Wind” (AC) { channel=“mqtt:topic:irmqtt:acwind” }
Switch AC_windswing “Wind Swing” (AC) { channel=“mqtt:topic:irmqtt:acwindswing” }
Switch AC_powermode “Powerful” (AC) { channel=“mqtt:topic:irmqtt:acpowerful” }
Switch AC_comfort “Comfort” (AC) { channel=“mqtt:topic:irmqtt:accomfort” }

String AC_rawstring “AC Command” { channel=“mqtt:topic:irmqtt:irmsgsend” }

and this is .sitemap

    Switch item=AC_power label="Power" icon="heating"
    Setpoint item=AC_set_temp minValue=18 maxValue=32 step=1 icon="temperature" label="Setpoint [%.0f °C]"
    Switch item=AC_mode label="Mode" icon="sofa" mappings=[0="Auto", 2="Dry", 3="Cool", 4="Heat", 6="Fan"]
    Switch item=AC_windlevel label="Wind level" icon="fan" mappings=[10="Auto", 11= "Calm", 1="▂", 2="▃", 3="▄", 4="▆", 5="▇"]
    Switch item=AC_windswing label="Wind swing" icon="aircon_swing"
    Switch item=AC_powermode label="Power mode" icon="wind"
    Switch item=AC_comfort label="Comfort" icon="econmode"

Interesting, with the same versions of IRremoteESP8266 library?

No problem, at final the essential is that you use case is satisfied.

Thanks for the integrations examples, at the end I need to see how we can facilitate AC integration into OMG

Hello, with OMG protocol was not always properly detected, i got several different results.
Version of IRremoteESP8266 is the latest (2.6.0), downloaded from github.
I will be happy to switch back to OMG as soon as things are easier :wink:

1 Like

Hi, i see today there is a new relase of library IRremoteESP8266. In particular there is new example code called IRMQTTServer.ino (IRremoteESP8266/IRMQTTServer.ino at master · crankyoldgit/IRremoteESP8266 · GitHub) published today 7 hours ago.
I try to upload to my NodeMcu and i make some test (in my home assistant i just add this code for A/C):

climate:
  platform: mqtt
  name: Living Room Aircon
  modes:
    - "off"
    - "auto"
    - "cool"
    - "heat"
    - "dry"
    - "fan_only"
 fan_modes:
   - "auto"
   - "min"
   - "low"
   - "medium"
   - "high"
   - "max"
swing_modes:
  - "off"
  - "auto"
  - "highest"
  - "high"
  - "middle"
  - "low"
  - "lowest"
power_command_topic: "ir_server/ac/cmnd/power"
mode_command_topic: "ir_server/ac/cmnd/mode"
mode_state_topic: "ir_server/ac/stat/mode"
temperature_command_topic: "ir_server/ac/cmnd/temp"
temperature_state_topic: "ir_server/ac/stat/temp"
fan_mode_command_topic: "ir_server/ac/cmnd/fanspeed"
fan_mode_state_topic: "ir_server/ac/stat/fanspeed"
swing_mode_command_topic: "ir_server/ac/cmnd/swingv"
swing_mode_state_topic: "ir_server/ac/stat/swingv"
min_temp: 16
max_temp: 32
temp_step: 1
retain: false

So i try to control my A/C unit and it work in all mode now. I’m very happy.

From remote to A/C device (feedback in HA)
I press mode button and my device change state (and in HA i see new device state correctly) and that for all buttons: temp+ , temp- , fan, etc…

From HA to A/C device
I change in my HA the component “climate” and for every changes my nodemcu send send the corrispondent IR signal to my A/C (and without generate 153 or more scripts… ). Fantastic!

My question is : is so difficult include that code in OMG? I would like continue to use OMG. All code you need is in the file IRMQTTServer.ino
I hope you will find the time to make this integration because it will be very happy all users of OMG community, i’m the first :wink:

I don’t think it is difficult, it is more a question of time and priority. Let me take a look and I will go back to you.

Ok… i will wait. Thank you for all work you make for us of community :wink:

Hi friend… do you test it?

The more I use Home assistant and OMG , the more i am bummed that i need a 3rd party server to do IR translation, adding 153 scripts per device isn’t reasonable,
The main solutions i see is either:

  1. use the “SmartIR” Home Assistant component IR code base ( mostly base64 due to Broadlink compatibility)
  2. Implement the IRremoteESP8266/ IRMQTTServer.ino code to allow a direct mqtt climate solution as @Roby_Perpy Suggest.
  3. Any other solution which doesn’t involve 153 scripts per device. :slight_smile:
    Thnx alot
    eldadh

Hello,

Yes there is a need to autodetect remote controls and publish the available commands automaticaly to home assistant, if I understand well. Pull request are welcome if someone wants to participate :slight_smile:

thnx for the quick replay’
but i m not sure you understood.
i am not looking for autodetect, since in most scenerios there will be only one type of AC per OMG.
the problem is with the current integration solution for HA requires writing a script for each of the 153 out comes for the AC.
the proposed solution looks at the IRremoteESP8266/ IRMQTTServer.ino code, which allows the HA to simply send the wanted parameters ( temp, fan speed, swing …) and the IRremoteESP8266 does the rest. where the topic can hide the remote type for instance.

eldadh

Hi.
But in the end, did anyone finally manage to send IR to Daikin via OMG?
I’m still receiving from the Daikin controller IR signal with wrong protocols and having an error when trying to send a Daikin command via IR. :weary:

ps: I’m using IrrecvDump v3 to catch IR codes, it is detecting Daikin protocols without apparent issues.