cbrandlehner / homebridge-daikin-local

Supports Daikin Air Conditioners on HomeBridge
MIT License
101 stars 18 forks source link

Can't Fetch Data (Error getting state: null) #6

Closed coopervw closed 5 years ago

coopervw commented 5 years ago

I currently have this plugin installed on my Raspberry Pi. Upon launching homebridge everything starts correctly. In the home app on my iPhone the aircon is present but reads 10 degrees and has no data. In homebridge, the logs read:

[6/12/2019, 7:48:58 PM] [AC] getTargetHeatingCoolingState: 3 [6/12/2019, 7:48:58 PM] [AC] Temperature unit is 0. 0=Celsius, 1=Fahrenheit. [6/12/2019, 7:48:59 PM] [AC] Error reading temperature: null [6/12/2019, 7:48:59 PM] [AC] Error getting operation mode: null [6/12/2019, 7:48:59 PM] [AC] Error reading target temperature: null

I imagine this could have something to do with the router giving the wrong HTTP returns.

In the browser, typing http://192.168.1.228/skyfi/aircon/get_sensor_info/ returns: ret=OK,err=0,htemp=22,otemp=18

Removing /skyfi returns: ret=PARAM NG,msg=404 Not Found

My config is as follows: { "bridge": { "name": "Homebridge", "pin": "987-65-432", "username": "B8:27:EB:AF:6F:89" }, "accessories": [{ "accessory": "PiTemperature", "name": "PiTemp" }, { "accessory": "Daikin-Local", "name": "AC", "apiroute": "http://192.168.1.228/skyfi" } ], etc (my JSON is verified and homebridge launches fine - I have just excluded the platforms section of the JSON, let me know if you need it)

coopervw commented 5 years ago

It appears that because my Daikin system requires the /skyfi in the URL, the plugin is removing it from its apiroute URL which is causing it to be unable to connect

Sent with GitHawk

cbrandlehner commented 5 years ago

Currently this plugin does not support skyfi adapters. I can try to support these as well but have no way to test it by myself. I will try adding an option, asking you to test and provide feedback.

coopervw commented 5 years ago

It may be that the skyfi adapter uses slightly different response structure. I have found a separate plugin which works for my Daikin system but I can try to test your plugin if you would like

Sent with GitHawk

cbrandlehner commented 5 years ago

Which other plugin works for your system? I might find something useful in that code.

cbrandlehner commented 5 years ago

I added support for skyfi in version 2019.25.3 Please notice the change to the configuration. You should configure system : "Skyfi". Please provide feedback with log output. Preferred with enabled debug by starting "homebridge -D".

coopervw commented 5 years ago

Which other plugin works for your system? I might find something useful in that code.

@cbrandlehner I am currently using the cmd4-Daikin-Airbase script (https://github.com/TimofeyK/cmd4-Daikin-Airbase) along with the homebridge-cmd4 plugin (https://github.com/ztalbot2000/homebridge-cmd4#readme)

Sent with GitHawk

cbrandlehner commented 5 years ago

Good information. The URLs in that code seem to match what I made yesterday. Please install latest version and reply with log output.

cbrandlehner commented 5 years ago

any news?

cbrandlehner commented 5 years ago

closed due to inactivity

coopervw commented 5 years ago

I know this thread is now closed however I’ve finally been able to test this new ‘skyfi’ code.

When I input http://192.168.1.***/skyfi/aircon/get_model_info into a browser it returns this:

ret=OK,err=0,model=NOTSUPPORT,type=N,humd=0,s_humd=7,en_zone=0,en_filter_sign=1,acled=1,land=0,elec=0,temp=1,m_dtct=0,ac_dst=au,dmnd=0,en_temp_setting=1,en_frate=1,en_fdir=0,en_rtemp_a=0,en_spmode=0,en_ipw_sep=0,en_scdltmr=0,en_mompow=0,en_patrol=0,en_airside=0,en_quick_timer=1,en_auto=0,en_dry=1,en_common_zone=0,cool_l=16,cool_h=32,heat_l=16,heat_h=32,frate_steps=3,en_frate_auto=0

The issue seems to be ‘model=NOTSUPPORT’ as my homebridge setup recognises this and does not run this plugin. As per the following logs:

[8/29/2019,7:00:45 PM] [Aircon] Initializing Daikin-Local accessory... [8/29/2019, 7:00:45 PM] [Aircon] ** [8/29/2019, 7:00:45 PM] [Aircon] homebridge-daikin-local version 2019.35.1 [8/29/2019, 7:00:45 PM] [Aircon] GitHub: https://github.com/cbrandlehner/homebridge-daikin-local [8/29/2019, 7:00:45 PM] [Aircon] ** [8/29/2019, 7:00:45 PM] [Aircon] start success... [8/29/2019, 7:00:45 PM] [Aircon] accessory name: Aircon [8/29/2019, 7:00:45 PM] [Aircon] accessory ip: 192.168.1.218 [8/29/2019, 7:00:45 PM] [Aircon] system: skyfi

ERROR: The URL http://192.168.1.218/aircon/get_model_info returned error Error: Not Found ERROR: The URL http://192.168.1.218/common/basic_info returned error Error: Not Found

The system starts correctly however does not appear to apply the ‘skyfi’ to these two URLs

cbrandlehner commented 5 years ago

@Vakkie the system parameter is case sensitive. It should read "Skyfi" and NOT "skyfi".

coopervw commented 5 years ago

@cbrandlehner changed this parameter, system now connects but does not function correctly.

Switching the mode in Home to Heat, Cool or Auto will set the unit to a fan mode. Possible mismatch between mode variables. Testing the URLs in a web browser shows that my unit uses mode=0 for fan, mode=1 for heat, mode=2 for cool and mode=3 for auto. This plugin is attempting to set the mode values to integers which my unit does not recognise e.g mode=4

Considering forking this project (is that the right terminology?) to develop it for both my specific use case and the clearly very different Daikin unit which I am using.

Sent with GitHawk

cbrandlehner commented 5 years ago

@Vakkie forking this project into a new project and modifying the API calls your own seems to be the right approach. The devices are working differently so there is no other easy solution. However, thank you very much for your efforts and good luck going forward.