• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

cbrandlehner/homebridge-daikin-local: Supports Daikin Air Conditioners on HomeBr ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

cbrandlehner/homebridge-daikin-local

开源软件地址:

https://github.com/cbrandlehner/homebridge-daikin-local

开源编程语言:

JavaScript 100.0%

开源软件介绍:

verified-by-homebridge node npm npm npm version

Node.js CI CodeQL HCL AppScan CodeSweep

homebridge-daikin-local

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

controller

controller

Installation

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 this features using Apple Home.

The install may require you to run as an administrator (using a different login or sudo). It is recommended to configure your DHCP server to reserve an IP for the wifi controller. This plugin can be installed using the Homebridge Config UI X or manually by following these steps:

  1. Install homebridge using: npm install -g homebridge
  2. Install this plugin using: npm install -g homebridge-daikin-local
  3. Update your configuration file. See sample-config.json in this repository for a sample.

Configuration

Configuration sample:

   {
       "bridge": {
           ...
       },

       "description": "...",

       "accessories": [
           {
               "accessory": "Daikin-Local",
               "name": "Living room",
               "apiroute": "http://192.168.1.50",
               "temperature_unit": "C",
               "system": "Default",
               "swingMode": "2",
               "defaultMode": "0",
               "fanMode": "FAN",
               "fanName": "Living room FAN"
           }
       ],

       "platforms":[]
   }

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 plugins 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 being 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 usupported device will look like this:

ret=PARAM NG,msg=404 Not Found

Tested devices:

Daikin BRP069A41, Model: 0ABB, Firmware: 3.3.6

Daikin BRP069B41, Model: 0AB9, Firmware: 1.2.51

Daikin BRP069B45, Model: 0000, Firmware: 1.2.51

Daikin BRP072C42, Model: 0000, Firmware: 1.13.7 (requires https and token)

Daikin Emura BRP072A43, model 10C8, firmware 2.9

Daikin Emura BRP072A43, model 10C9, firmware 2.9

Daikin Siesta ATXP-K3, (model unknown), Firmware 3.3.6

Daikin Cora BRP072A42, Model 0C87, Firmware 3.4.3

Daikin Cora BRP072A42, Model 0C89, Firmware 3.4.3

Daikin Cora BRP072A42, Model 0C8A, Firmware 3.4.3

Daikin Cora BRP072A42, Model 0C8B, Firmware 3.4.3

Daikin Cora BRP072A42, Model 0EB0, Firmware 3.4.3

Daikin FDXM-F3, Model: FDXM35F3V1B, Firmware 3.3.6

Daikin FKXS20, Model: BRP069A43, Firmware 1.2.51

Daikin FTXA20 (Stylish), Model: FTXA20A2V1BW, Firmware 1.2.51

If you have other devices or firmware versions working, please let me know so I can update the list of tested devices.

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

This plugins code makes heavy use of debug output. Normally, this debug output is not visible on the homebridge console. As explained in the Homebridge troubleshooting documentation you should start homebridge like this to see the debug output:

homebridge -D

For even more debug, use this:

DEBUG=* homebridge -D

Credit

This remake is based on homebridge-daikin. Since it's no longer maintained, cbrandlehner forked the project.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap