cbrandlehner / homebridge-daikin-local

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

Request for other Aircon Controllers #43

Closed mitch7391 closed 4 years ago

mitch7391 commented 5 years ago

This probably isn’t the best place to post this, but wondering if you would be able to work on the E-zone Controller by Ambience/Advantage Air (uses E-zone app)? I would love to get a Homebridge plug-in for this but don’t have the know how.

Another person who contacted me has created individual switches for each function of the AC through HTTP commands

20EF7BD6-FB0F-4929-9AD4-75CF0597A214 43FEDE67-9160-4303-8908-20A118CF9D18

cbrandlehner commented 5 years ago

You might want to test this one: https://github.com/arachnetech/homebridge-mqttthing#heater-cooler It adds support for a cooler using MQTT.

This project can not help if no information is available on the target system. As a minimum one would need to know the HTTP commands.

mitch7391 commented 5 years ago

Thank you, I will take a look at that plug-in.

What information would you require? I do currently have most of the HTTP commands.

cbrandlehner commented 5 years ago

@mitch7391 I was generally speaking about requirements in a development project. I can have a look at the HTTP commands but I have litte to no hope that these are similar to the Daikin commands. It would make no sense from a coding perspective to extend the current plugin to support a totally different backend.

mitch7391 commented 5 years ago

I completely understand and am just going out on a limb to see if any of these other brands have a similar command set up. So I understand if it is different and you can't work on it. I am just hoping I can find someone to help. Here is an example of just the ON command (I have replaced my IP address with IPADDRESS):

http://IPADDRESS:2025/setAircon?json=%7B%22ac1%22:%7B%22info%22:%7B%22state%22:%22on%22,%22countDownToOff%22:%220%22,%22countDownToOn%22:%220%22%7D%7D%7D

cbrandlehner commented 5 years ago

If it is just for ON and OFF, there is this plugin that implements a switch (ON/OFF) and allows to configure a HTTP URL for each action: https://github.com/Supereg/homebridge-http-switch

mitch7391 commented 5 years ago

That is what is currently being used in the screenshots I attached. A HTTP switch is being used or each possible function and temperature, which is a rough way of doing it. I’d be after a more refined solution if it’s possible.

mitch7391 commented 5 years ago

Further research I have found that the same company that made my E-zone, also made the MyAir API and it is from what I can tell is identical API. This includes a getSystemData http command that returns all the information needed in a web browser (text dump in format, can see my temp sensors and other info). Could the following thread convince you to make this HA plug-in into a Homebridge plug-in?

https://community.home-assistant.io/t/myair-ac-zoning-system-climate-and-room-association-for-components/9953/46

As it stands I have all of the set commands and now a get data command that just needs breaking down.

mitch7391 commented 5 years ago

The command is:

http://IPADDRESS:2025/getSystemData

And returns the following info:

{"aircons":{"ac1":{"info":{"activationCodeStatus":"noCode","airconErrorCode":"","cbFWRevMajor":6,"cbFWRevMinor":16,"cbType":0,"constant1":1,"constant2":0,"constant3":0,"countDownToOff":0,"countDownToOn":0,"fan":"medium","filterCleanStatus":0,"freshAirStatus":"none","mode":"heat","myZone":0,"name":"AC??","noOfConstants":1,"noOfZones":6,"rfSysID":16,"setTemp":24.0,"state":"off","uid":"d8803950532c","unitType":19},"zones":{"z01":{"error":0,"maxDamper":100,"measuredTemp":19.5,"minDamper":0,"motion":0,"motionConfig":0,"name":"FAMILY","number":1,"rssi":55,"setTemp":24.0,"state":"open","type":1,"value":100},"z02":{"error":0,"maxDamper":100,"measuredTemp":18.4,"minDamper":0,"motion":0,"motionConfig":0,"name":"THEATRE","number":2,"rssi":50,"setTemp":21.0,"state":"close","type":1,"value":100},"z03":{"error":0,"maxDamper":100,"measuredTemp":19.0,"minDamper":0,"motion":0,"motionConfig":0,"name":"MASTER","number":3,"rssi":62,"setTemp":24.0,"state":"open","type":1,"value":100},"z04":{"error":0,"maxDamper":100,"measuredTemp":0.0,"minDamper":0,"motion":0,"motionConfig":0,"name":"CRAFT ROOM","number":4,"rssi":0,"setTemp":16.0,"state":"close","type":0,"value":80},"z05":{"error":0,"maxDamper":100,"measuredTemp":0.0,"minDamper":0,"motion":0,"motionConfig":0,"name":"SPARE ROOM","number":5,"rssi":0,"setTemp":24.0,"state":"close","type":0,"value":85},"z06":{"error":2,"maxDamper":100,"measuredTemp":19.1,"minDamper":0,"motion":0,"motionConfig":0,"name":"GUEST ROOM","number":6,"rssi":2,"setTemp":24.0,"state":"close","type":0,"value":100}}}},"myLights":{"alarms":{},"alarmsOrder":[],"groups":{},"groupsOrder":[],"lights":{},"system":{"lastUsedLightId":"","numberClicks":0,"sunsetTime":""}},"myScenes":{"scenes":{},"scenesOrder":[]},"myThings":{"groups":{},"groupsOrder":[],"system":{},"things":{}},"system":{"aaServiceRev":"14.48","allTspErrorCodes":{},"dealerPhoneNumber":"","deviceIds":["t2EThV0SOnfvVZWGVPLMJIiS7G82","CJJKsjk4reUfvdL4Ayv4qvWUtsl1","KSQbH0ucOPWIl4uUFz6bNU3N2Sp2","y6zWf8QcuRhZCpIo0lhBTSpEkZg1","eF8mBZTKIYRa5JGXbv6cHNKOo733","agMX1QHKKIdQw1Ae1LeMZHCUDbZ2","VLbgRf93rVP665I8uoNXlQuJ2g02"],"deviceIdsV2":{"t2EThV0SOnfvVZWGVPLMJIiS7G82":"","eF8mBZTKIYRa5JGXbv6cHNKOo733":"","CJJKsjk4reUfvdL4Ayv4qvWUtsl1":"cm5wlM304dc:APA91bFG6Vqxjpv-sY6dh7Eu4CaZbwNLvf4ILJRmtgxBJm-g49S9DEuTedSynwbgMcxH1mCp-ND--Q1KJoN7LwPzADJ0T74Ol6SgNU617_Aq0OfSJyydMEqYkRogxaSE3e-crgCdAC2h","VLbgRf93rVP665I8uoNXlQuJ2g02":"","KSQbH0ucOPWIl4uUFz6bNU3N2Sp2":"ecS-Ncq-i6I:APA91bF66baNj6z1BtO2JHDj7Ih2NZb1cOlbyGHKfNCk9fzgtsjdg7Hau7ghyOb0HJMmNrtHworb8tIem8QpiuAQPIltZaL1zvmowNb3ZSKbjpvGFZ4fVeweVTBojDjdQ9-NZfBRIsGI","agMX1QHKKIdQw1Ae1LeMZHCUDbZ2":"cEcOiEPwQN8:APA91bHB78_VNzf2YcEux6-loiUosaPwOl4JdWfyoghF5XvJSFRPk6Bc_1LKSmCim46EKuUv3hS-0b1otr3xQx-QG_9fTuvrxnVe1h62-H99-b3j2I8PqkBkIujDcqNKt8QsnyUtrpcZ","y6zWf8QcuRhZCpIo0lhBTSpEkZg1":""},"drawLightsTab":false,"drawThingsTab":false,"hasAircons":true,"hasLights":false,"hasThings":false,"hasThingsLight":false,"logoPIN":"1234","mid":"d8803950532c","myAppRev":"15.520","name":"e-Zone","needsUpdate":false,"noOfAircons":1,"noOfSnapshots":1,"rid":"q8Z1mFpBhtetzShDR7dUBFcYcz62","showMeasuredTemp":true,"sysType":"e-zone","tspErrorCode":"noError","tspIp":"192.168.0.173","tspModel":"e-zone2","versions":{}},"snapshots":{"p1":{"activeDays":4,"aircons":{"ac1":{"info":{"fan":"medium","freshAirStatus":"none","mode":"heat","myZone":0,"name":"AC??","setTemp":24.0,"state":"on","uid":"d8803950532c"},"zones":{"z01":{"motionConfig":0,"number":1,"setTemp":24.0,"state":"open","value":100},"z02":{"motionConfig":0,"number":2,"setTemp":21.0,"state":"close","value":100},"z03":{"motionConfig":0,"number":3,"setTemp":24.0,"state":"open","value":100},"z04":{"motionConfig":0,"number":4,"setTemp":16.0,"state":"close","value":80},"z05":{"motionConfig":0,"number":5,"setTemp":24.0,"state":"close","value":85},"z06":{"motionConfig":0,"number":6,"setTemp":24.0,"state":"close","value":100}}}},"enabled":true,"name":"Plan 1","snapshotId":"p1","startTime":315,"stopTime":360,"summary":"Aircon - on, mode - heat, fan - med, 24C\nZones on: z1 z3"}}}

mitch7391 commented 4 years ago

Just a further update, thanks to someone on reddit I was able to find out that using the Jayson app I could map the pathway to each required feedback. I also needed to install 'jq' on my RPi. For example if I want the temperature of zone 1, I would use the following command:

curl http://IPADDRESS:2025/getSystemData | jq '.aircons.ac1.zones.z01.measuredTemp'

I can use this structure to return any of the temp readings, zone states, fan states and ac states. Not sure if this helps at all. I feel like I have all the required info now, just not the skill to put it into a plugin.

cbrandlehner commented 4 years ago

@mitch7391 not sure how I can help here.

mitch7391 commented 4 years ago

@cbrandlehner thanks for the reply and that is ok! So far I have managed to get a basic form of this working (just temperature sensors for the time being) using Homebridge-http-advanced-accessory and also on Homebridge-cmd4. I am thinking I’ll continue with cmd4 and see how I go. I will close this issue out for you now.