Which air conditioner buy to work with OH?

So I have chance buy :
Toshiba
Syen (Gree brand - Gree bindings)
Gree (Gree bindings)
Daikin - quite expensive
Beko (don’t know if it’s OH compatible)
Sinclair (Gree brand - Gree bindings)
Samsung (don’t know if it’s OH compatible)

My favourite is Gree, Syen or Toshiba - is it ok for OH ? Which one is better ? Any experience ?

I’m using a Daikin mini-split unit with a “Faikin” (not a typo) open-source WiFi module that is available for sale. GitHub - revk/ESP32-Faikout: ESP32 based module to control Daikin aircon units
Plugs into the S21 port of my Daikin quite nicely, pretty straightforward to get set up with.
Communicates locally over MQTT to OpenHAB, requires a bit of setup in that respect.

I have the FTXA35B2V1BB as my indoor unit.

Looks amazing

I already bought the faikin:

“Communicates locally over MQTT to OpenHAB, requires a bit of setup in that respect.”

Can you point to some good documentation how to do that or if there isn’t any available can you provide what needs to be done, Dave?

I have 2 LG aircon units with built in WIFI, they work well with the ThinQ binding although the binding is Community Marketplace.
I have solar so control the units depending on power generated and temperature in the rooms.

I have the same idea. Also solar and I want consume a generated power when battery is charged.

@stefan.hoehn, based on your quote, I think you are asking specifically about the MQTT interface setup?

I would say that the provided documentation on the Faikin Github site is an OK start: ESP32-Faikout/Manuals/Advanced.md at main · revk/ESP32-Faikout · GitHub

This device is auto-discovered by my OpenHAB 4.x’s Inbox as a HomeAssistant MQTT thing, but I’m not very familiar with this auto-setup and whether it’ll work well. It didn’t work for me but I’m not sure if that’s because I have older Faikin firmware or some nuance of my OH setup.

If not already familiar, you should do a little reading and experimentation on MQTT, and I recommend you install MQTT Explorer (or similar) to be able to see in real time what data is being published to your MQTT broker, the content, timestamps, etc. so you precisely understand what data is available.

It’s been quite a while since I set this all up, and admittedly did not do a great job of documenting the various iterations I went through, but now that I look at my OH configurations, I do see that I turned on the “Home Assistant” option in the Faikin’s web UI, as that triggers status reporting via MQTT on a very frequent basis, and (IIRC) included one or two parameters that I did not see being frequently reported elsewhere. This HA option triggers reporting to an MQTT topic equal the device’s WiFi MAC address:

topic: DC5475XXXXXX (device MAC)
{"online":true,"target":11.00,"temp":19.50,"outside":23.50,"liquid":20.50,"comp":0,"fanfreq":0.0,"mode":"dry","action":"idle","fan":"auto","swing":"V","preset":"home"}

The standard ‘state’ reporting I found to be very infrequent and also missing the ‘target’ parameter which represents an externally-provided setpoint (i.e. from Daikin IR remote, or MQTT):

topic: state/MiniSplit/status
{"protocol":"S21","online":true,"home":19.0,"heat":false,"fanrpm":0,"comp":0,"outside":17.0,"liquid":19.5,"anglev":74,"power":true,"mode":"D","temp":11.0,"fan":"A","swingh":false,"swingv":true,"powerful":false,"autor":0.0,"autot":15.5,"auto0":"00:00","auto1":"00:00","autop":false}

Below are the code representations of my MQTT channels, hopefully they help:

- id: FaikinUpToDate
    channelTypeUID: mqtt:switch
    label: Faikin Up To Date Indicator
    description: ""
    configuration:
      stateTopic: Faikin/info/MiniSplit/upgrade
      transformationPattern:
        - JSONPATH:$.up-to-date
      off: "false"
      on: "true"
  - id: FaikinModeString
    channelTypeUID: mqtt:string
    label: Faikin Mode String
    description: ""
    configuration:
      allowedStates: heat,cool,auto,fan,dry,off
      commandTopic: command/MiniSplit/mode
      stateTopic: DC5475XXXXXX
      transformationPattern:
        - JSONPATH:$.mode
  - id: FaikinFanMode
    channelTypeUID: mqtt:string
    label: Faikin Fan Mode
    description: ""
    configuration:
      allowedStates: auto,1,2,3,4,5,low,lowMedium,medium,mediumHigh,high
      commandTopic: command/MiniSplit/fan
      stateTopic: DC5475XXXXXX
      transformationPattern:
        - JSONPATH:$.fan
  - id: FaikinOnline
    channelTypeUID: mqtt:switch
    label: Faikin Online Indication
    description: ""
    configuration:
      stateTopic: DC5475XXXXXX
      transformationPattern:
        - JSONPATH:$.online
      off: "false"
      on: "true"
  - id: FaikinFanFreq
    channelTypeUID: mqtt:number
    label: Faikin Fan Frequency
    description: Fan Speed/Frequency
    configuration:
      stateTopic: DC5475XXXXXX
      transformationPattern:
        - JSONPATH:$.fanfreq
 - id: FaikinTempSP
    channelTypeUID: mqtt:number
    label: Faikin Temperature Setpoint
    description: ""
    configuration:
      commandTopic: command/MiniSplit/temp
      unit: °C
      step: 0.5
      stateTopic: DC5475XXXXXX
      transformationPattern:
        - JSONPATH:$.target
- id: FaikinInsideTemp
    channelTypeUID: mqtt:number
    label: Faikin Inside Temperature
    description: ""
    configuration:
      stateTopic: DC5475XXXXXX
      transformationPattern:
        - JSONPATH:$.temp
      unit: °C
  - id: FaikinLiquidCoolantTemp
    channelTypeUID: mqtt:number
    label: Faikin Liquid Coolant Temp
    description: ""
    configuration:
      stateTopic: DC5475XXXXXX
      transformationPattern:
        - JSONPATH:$.liquid
      unit: °C
  - id: FaikinOutsideTemp
    channelTypeUID: mqtt:number
    label: Faikin Outside Temp
    description: ""
    configuration:
      stateTopic: DC5475XXXXXX
      transformationPattern:
        - JSONPATH:$.outside
      unit: °C
  - id: FaikinTempSetpoint
    channelTypeUID: mqtt:number
    label: Faikin Temperature Setpoint
    description: ""
    configuration:
      commandTopic: command/MiniSplit/temp
      unit: °C
      step: 0.5
      stateTopic: DC5475XXXXXX
      transformationPattern:
        - JSONPATH:$.target		

I guess another thing to mention is that the Faikin provides an “auto” mode of control which I found to be confusingly/minimally documented and somewhat baffling (YMMV, maybe I just didn’t read the docs carefully enough). So I just have OpenHAB remotely manipulating the temperature setpoint and mode based on Rules I wrote, or buttons/selections on my Main UI.

Happy to help with additional clarifications, if useful.

Thanks for that Dave, :folded_hands:t2:. I will probably not approach this in the next 2-3 weeks but then I will definitely go trying this (even though I am not a big fan of MQTT I must say … too many things you, or I ;-), can do wrong…)

I have Haier, works perfectly. I switched its original wifi module with a esphome firmware.

I would say AirZone but then again that’s because I wrote the binding for it. And it might not be available in your country anyway.

I have Gree U-Crown GWH18UC-K6DNA4A. I buy it few years ago, I don’t know about current firmware in this model.
Gree binding works ok for me. I able to control but not able to get current temperature. Binding had issue with thus due no key to decrypt message. I don’t know current state about this bug. I able to control, it is enough for me.

so how up to date is your midea binding?
what about a marketplace release version?

It was merged into addons awhile back. Don’t recall exactly, but added a dehumidifier this year. Only caution is there is some variation in models, but so far have been able to adjust to handle.

I recently connected my Midea using the Matter binding. It supports a few basic functions such as on/off, setpoint, and running mode

I am using 2 Toshiba AC (Europe based). And there is a toshiba2mqtt-service together with binding (need to build yourself)

Newly created, tests will go on. So far it looks good.

Thanks for your work! Do you plan to make this available as an official binding?

Ah, actually, I don’t know how this works, to make it an official binding.

AFAIK the first step is the marketplace. If it works well, you can create a pull-request to the add-ons repo. I followed the Viessmann binding in that process recently. It does take some time for review, but it is only a pull request and that effort which is needed.