All Projects → cbrandlehner → homebridge-daikin-local

cbrandlehner / homebridge-daikin-local

Licence: MIT license
Supports Daikin Air Conditioners on HomeBridge

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to homebridge-daikin-local

homebridge-daikin-airbase
A Homebridge plugin for the Daikin Airbase WiFi module
Stars: ✭ 14 (-82.93%)
Mutual labels:  homebridge-plugin, daikin
homebridge-pilight
Accessory plugin for Homebridge allowing to manage and control pilight devices
Stars: ✭ 16 (-80.49%)
Mutual labels:  homebridge-plugin
Homebridge Weather Plus
A comprehensive weather plugin for homebridge.
Stars: ✭ 176 (+114.63%)
Mutual labels:  homebridge-plugin
homebridge-homee
use your homee with homebridge
Stars: ✭ 14 (-82.93%)
Mutual labels:  homebridge-plugin
Verified
Plugins Verified by Homebridge
Stars: ✭ 180 (+119.51%)
Mutual labels:  homebridge-plugin
homebridge-nb
Homebridge plugin for Nuki Bridge
Stars: ✭ 38 (-53.66%)
Mutual labels:  homebridge-plugin
Homebridge Platform Wemo
Homebridge plugin to control Wemo devices.
Stars: ✭ 173 (+110.98%)
Mutual labels:  homebridge-plugin
homebridge-callmonitor
Signals incoming and outgoing calls using the call monitor facility in Fritz!Box devices via HomeKit
Stars: ✭ 25 (-69.51%)
Mutual labels:  homebridge-plugin
homebridge-unifi-occupancy-sensor
An occupancy sensor for Homebridge and UniFi
Stars: ✭ 71 (-13.41%)
Mutual labels:  homebridge-plugin
Homebridge Mi Acpartner
XiaoMi AC Partner plugins for HomeBridge(https://github.com/nfarina/homebridge).
Stars: ✭ 250 (+204.88%)
Mutual labels:  homebridge-plugin
Homebridge Myq
🚗 myQ Liftmaster and Chamberlain Plugin for Homebridge https://github.com/nfarina/homebridge
Stars: ✭ 222 (+170.73%)
Mutual labels:  homebridge-plugin
Homebridge Gsh
Allow Google Assistant to control your Homebridge accessories.
Stars: ✭ 190 (+131.71%)
Mutual labels:  homebridge-plugin
homebridge-panasonic
A Homebridge plugin for Panasonic Viera TV's. Written to support the new Homekit TV accessory.
Stars: ✭ 18 (-78.05%)
Mutual labels:  homebridge-plugin
Homebridge Mi Hygrothermograph
Homebridge plugin for the Xiaomi Mi Bluetooth Temperature and Humidity Sensor
Stars: ✭ 179 (+118.29%)
Mutual labels:  homebridge-plugin
homebridge-music
Homebridge plugin for iTunes with AirPlay speakers
Stars: ✭ 92 (+12.2%)
Mutual labels:  homebridge-plugin
Homebridge Dafang
Homebridge Plugin for Xiaomi Dafang / Wyze Cam IP Camera => Hey Siri, Start Video Recording
Stars: ✭ 176 (+114.63%)
Mutual labels:  homebridge-plugin
Homebridge Xiaomi Roborock Vacuum
A Xiaomi Roborock vaccum plugin (1st, 2nd and 3rd generation) for homebridge.
Stars: ✭ 213 (+159.76%)
Mutual labels:  homebridge-plugin
homebridge-automation-calendar
Useful calendar information for HomeKit automations (seasons, week of the year, month of the year, morning twilight / sunrise / daytime / sunset / evening twilight / night)
Stars: ✭ 22 (-73.17%)
Mutual labels:  homebridge-plugin
homebridge-open-sesame
Homebridge plugin for SESAME3 and SESAME4
Stars: ✭ 14 (-82.93%)
Mutual labels:  homebridge-plugin
homebridge-adb
Homebridge script to control remote ADB enabled Android device
Stars: ✭ 56 (-31.71%)
Mutual labels:  homebridge-plugin

verified-by-homebridge node npm npm npm version

Node.js CI CodeQL

homebridge-daikin-local

Supports Daikin Air Conditioners on HomeBridge by connecting to the optional Daikin Wifi Controller.

controller

controller

About this plugin

This plugin retrieves sensor and mode data from a Daikin WIFI controller in your local network and allows you to set operation modes and target temperatures. As it is a plugin for HomeBridge you will have access to these features using Apple Home.

It is recommended to configure your DHCP server to reserve a fixed IP for the wifi controller. This plugin can be installed using Homebridge Config UI X.

Configuration

This screenshot shows the configuration in Homebridge Config UI X:

configuration

Features

The FAN: The FAN allows you to turn on the fan of your Daikin AC. You can also set the speed of the fan. Apple HomeKit allows you to set a speed percentage from 0% to 100%. This plugin translates this percentage value as follows: 0% to 9%: SILENT mode 10% to 20%: AUTO mode 21% to 30%: Level 3 31% to 40%: Level 4 41% to 60%: Level 5 61% to 80%: Level 6 81% to 100%: Level 7 (max)

The AC: Apple HomeKit settings allow you to enable or disable the swing aka oscillation mode. As HomeKit is limited to a true or false value, the plugin's configuration allows you to configure the type of swing mode. Available modes are "horizontal swing", "vertical swing" and "3D".

Aircon

Technical background information on the API used

The apiroute is used for two main calls: Get info such as current activity and sensor readings from the thermostat and set the target temperature and modes. The Aircon LAN adapter provides two directories for these settings and data:

  1. /common uses the GET method for control and system information about the Aircon (e.g software version, MAC address, Reboot System, Region)

  2. /aircon uses the GET method to set Aircon related information (e.g Target Temperature, Modes like Heat and Cool, Temperature Sensor Readings, Timers)

Supported devices

Currently, this plugin supports Daikin wifi controllers supporting the "aircon" URLs (System: Default) and "skyfi" URLs (System: Skyfi).

To test http connectivity, use your browser to connect to your device using one of these URLs:

http://192.168.1.88/aircon/get_model_info
http://192.168.1.88/skyfi/aircon/get_model_info

replace the IP (192.168.1.88) with the IP of your device.

Your browser should return a line like this:

ret=OK,model=0AB9,type=N,pv=2,cpv=2,cpv_minor=00,mid=NA,humd=0,s_humd=0,acled=0,land=0,elec=0,temp=1,temp_rng=0,m_dtct=1,ac_dst=--,disp_dry=0,dmnd=0,en_scdltmr=1,en_frate=1,en_fdir=1,s_fdir=3,en_rtemp_a=0,en_spmode=0,en_ipw_sep=0,en_mompow=0

If it does not, your device is not yet supported.

To test https connectivity see HTTPS/Registered client support

The response of an unsupported device will look like this:

ret=PARAM NG,msg=404 Not Found

Tested devices are documented here: (https://github.com/cbrandlehner/homebridge-daikin-local/wiki/Tested-devices,-reported-to-work)

If you have other devices or firmware versions working, please update the wiki.

HTTPS/Registered client support

Some models require requests via https containing a registered client token.

It is necessary to register a client token with each device. The same token may be registered with multiple devices.

These instructions are based on comments in GitHub Project ael-code/daikin-control Issue #27

  1. Generate a UUID4 (https://www.uuidgenerator.net can be used), e.g. 7b9c9a47-c9c6-4ee1-9063-848e67cc7edd
  2. Strip the - from the UUID, i.e. 7b9c9a47c9c64ee19063848e67cc7edd
  3. Grab the 13-digit key from the sticker on the back of the controller. e.g. 0123456789012
  4. Register the UUID as a client token
curl --insecure -H "X-Daikin-uuid: 7b9c9a47c9c64ee19063848e67cc7edd" -v "https://<controller-ip>/common/register_terminal?key=0123456789012"

This UUID must be used in client requests to the device.

Test your registered token using the above requests but using https instead of http, e.g.

curl --insecure -H "X-Daikin-uuid: 7b9c9a47c9c64ee19063848e67cc7edd" -v "https://192.168.1.88/aircon/get_model_info"
curl --insecure -H "X-Daikin-uuid: 7b9c9a47c9c64ee19063848e67cc7edd" -v "https://192.168.1.88/skifi/aircon/get_model_info"

In the configuration file, make sure you specify https in the apiroute option and add the registered token as the value of uuid in the configuration for each device, e.g.

        "accessories": [
            {
                "accessory": "Daikin-Local",
                "name": "Living room",
                "apiroute": "https://192.168.1.50",
                "uuid": "7b9c9a47c9c64ee19063848e67cc7edd",
                "system": "Default",
                "swingMode": "2",
                "defaultMode": "0",
                "fanMode": "FAN",
                "fanName": "Living room FAN"
            }
        ],

Make sure to use the correct token if a different token has been registered with each device.

Debugging and Testing

The code of this plugins generates debug output. Normally, this debug output is not visible on the homebridge console.

Before reporting any issue or bug, enable debugging and restart. Debug

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].