Integrating a Daikin A/C System

I have read Len’s article on the M-Net Sniffer … impressive work!

I am trying to build/develop something similar to the CoolMaster product. The general plan is to build a device that can interface with the M-Net or the Daiken DIII-Net bus (separate ports, both using the MM1192 chip) on one side and an Ethernet (BACNET-IP) on the other side.

I guess the most difficult part will be to decode/figure out the full table of commands/responses used on the M-NET and DIII-NET busses.

Your work with the PI/P2 serial will be a great help. I am more of a Hardware guy with limited expertise in software. Whatever coding I do is either in C or Python (no CPP !). I will probably consider using your P1P2 library running on a dedicated MCU, outputting regular UART data which my host processor (running embedded Linux) can read and transfer to BACNET-IP. In your project, I think this would be Mode 2.

I would love to discuss this in more detail with you. My email id is raj(at)timeflex(dot)in. Would love to hear from you.

Thanks !

Raj

Hi @Arnold-n,

Nice to see somebody is working on a CoolMaster alternative.

Whenever you decide to ship an adapter circuit kits I would like to receive one (for a reasonable price of course), since I’m a software guy and unfamiliar with the hardware stuff. I would be happy to help with the software development.

Hi @OhadEytan,

Thanks for your interest and offer. Which version would you prefer? I currently have the following in the pipe line depending upon interest:
-version 1: cheapest and simplest (PCB and components available for soldering): a PCB with a DIP-package MM1192 (options: with or without socket) but further using SMD components (0603 as smallest), based on github circuit version 1, no galvanic isolation, or
-version 3: a PCB (still in mail to me) with all components SMD (uses SOIC-16 MM1192), based on github circuit version 3, galvanic isolation, adapter bus-powered, with option to power bus externally using connector, without DC/DC converters. Nice if it works, but more difficult to tinker with if needed (we are not certain that other brands use the same voltages etc),
Both versions are for the standard Arduino Uno (Rev3). The PCBs have not been tested yet, so not sure when these will be ready for shipment.

For myself I also ordered a man-in-the-middle PCB with two separate P1P2 interfaces. The power feed is connected through, and the interfaces are connected through if the Arduino is powered off. This version requires an Arduino Mega.

If I have a working PCB version I will provide pictures so you know what you will get.

Would you be interested in a kit or a pre-soldered (tested) board?

I prefer the most complete version, so if I understand correctly that is the Version 3 pre-soldered.

Thanks for all your effort!

Hi @OhadEytan,

The prototype PCBs came in and work (after making one correction: RESET should be connected to ground and not to VCC). I will contact you over DM to discuss details. It is indeed based on version 3, but without the DC/DC converters. Pictures are on http://www.github.com/Arnold-n/P1P2Serial/tree/master/circuits/.

1 Like

Can we control all indoor units with your source code. And also i wonder do you connect your device by replacing main controller

At this moment we can only do some simple control of the central unit (on/off), by acting as a secondary controller. Replacing the main controller is not supported.

@mrmcan were you finally able to decode VRF P1/P2?
I am interested and curious to know more.

Hi All

I plan to interface my Daikin A/C (Alterma EKHBRD016AADY1 + ERSQ016AAY1) to my Domitic system. The goal is at first only read basic informations, temperaure , power consumed, states …

At first, i found on Github, the great work done by Arnold to interface P1P2 protocole system, and then this forum that talk about this subject.
Information are realy rare on this daikin protocol. So many thanks for all this work done.

I just start this project so i would like to get some help from people that are expérienced on this subjet.
Here is a few questions i have:

First is someone has already done this work for this Daikin model ?
Is it possible to interface presently
How to build P1P2adapter (is there a pcb files available) or where to buy ?

Many thanks on advance
Marc

Hi,

I am switching over from Smartthings to OpenHab, and I struggle bit with the Google assistant integration. I have 9 inside Daikin units, and currently the integration Smartthings <-> Google Home works flawlessly. I created one item to test my Openhab integration, but in Google home I only see the power button. Can anyone please advise. Below is my item definition:

Group               groupAircoLiving                        "Air Conditiner Living"                     <snow>          (Home, groupAirco, groupLivingRoom)         ["HVAC", "Switchable"]
Switch              DaikinACUnit_Power_Living               "Airco Living Power"                        <power>         (groupAircoLiving)      ["HVAC", "Switchable"]                          {channel="daikin:ac_unit:living:power"}
Number:Temperature  DaikinACUnit_SetPoint_Living            "Airco Living SetPoint"                     <temperature>   (groupAircoLiving)      [ "homekit:TargetTemperature" ]                 { channel="daikin:ac_unit:living:settemp" }
String              DaikinACUnit_Mode_Living                "Airco Living Mode"                         <heating>       (groupAircoLiving)                                                      { channel="daikin:ac_unit:living:mode" }
String              DaikinACUnit_HomekitMode_Living         "Airco Living Homekit Mode"                 <heating>       (groupAircoLiving)      [ "homekit:CurrentHeatingCoolingMode" ]         { channel="daikin:ac_unit:living:homekitmode" }
String              DaikinACUnit_Fan_Living                 "Airco Living Fan"                          <fan>           (groupAircoLiving)                                                      { channel="daikin:ac_unit:living:fanspeed" }
String              DaikinACUnit_Fan_Movement_Living        "Airco Living Fan Movement"                 <movecontrol>   (groupAircoLiving)                                                      { channel="daikin:ac_unit:living:fandir" }
Number:Temperature  DaikinACUnit_IndoorTemperature_Living   "Airco Living Indoor Temperature"           <temperature>   (groupAircoLiving)                                                      { channel="daikin:ac_unit:living:indoortemp" }
Number:Temperature  DaikinACUnit_OutdoorTemperature_Living  "Airco Living Outdoor Temperature"          <temperature>   (groupAircoLiving)                                                      { channel="daikin:ac_unit:living:outdoortemp"} 

Thanks

Hi @DarkoG ,

The google assistant integration now uses metadata instead of tags:

This is how mine is set up, I only have one ducted aircon. Note that my tags here aren’t for google assistant. The only ones related to Google are the ones with ga=xxx metadata.

Group                 gAircon                      "Air Conditioner"       {ga="Thermostat", synonyms="Aircon,AC,Air Conditioning"}
Switch                Aircon_Power                 "Power"                                     (gAircon)                                  ["Power"]                         {channel="daikin:airbase_ac_unit:DaikinAP68583:power"}
Number:Temperature    Aircon_SetPoint              "Temperature Setpoint"     <temperature>    (gAircon)                                  ["Temperature", "Setpoint"]       {channel="daikin:airbase_ac_unit:DaikinAP68583:settemp", ga="thermostatTemperatureSetpoint"}
String                Aircon_Mode                  "Mode"                     <snow>           (gAircon)                                                                    {channel="daikin:airbase_ac_unit:DaikinAP68583:mode"}
String                Aircon_Google_Mode           "Mode"                                      (gAircon)                                                                    {channel="daikin:airbase_ac_unit:DaikinAP68583:homekitmode", ga="thermostatMode"}
Dimmer                Aircon_Google_Fan            "Aircon Fan Speed"                                                                                                       {ga="Fan" [ speeds="0=away:zero, 50=default:standard:one,100=high:two", lang="en", ordered=true ]}
String                Aircon_Fan                   "Fan"                      <fan>            (gAircon)                                                                    {channel="daikin:airbase_ac_unit:DaikinAP68583:airbasefanspeed"}
Number:Temperature    Aircon_IndoorTemperature     "Indoor Temperature"       <temperature>    (gAircon)                                  ["Temperature", "Measurement"]    {channel="daikin:airbase_ac_unit:DaikinAP68583:indoortemp", ga="thermostatTemperatureAmbient"}

Thanks @JimT, that helped