ozczecho / vzduch-dotek

An API to interface with AirTouch 3 AC controller.
MIT License
9 stars 3 forks source link

Display Touchpad temp, with second touchpad #13

Open Uksa007 opened 1 year ago

Uksa007 commented 1 year ago

Hi,

I have two touchpads and two separate ducted system but are both using the one airtouch system:

I mainly use the upstairs unit and would like to display the touchpad temp not the air return temp, as the return air temp does not reflect the living room temp.

Is there any way to configure it to use the upstairs touchpad temp(living) in HA?

The data displayed in HA climate seem be a mix of both.

The actual values from touchpads: Return air vent for upstairs is 35 Return air vent for downstairs is 28 Touchpad temp upstairs is 30 this is configured as the living zone temp Touchpad temp downstairs is unknown, uses return air vent for temp. Desired temp upstairs is 27 Desired temp downstairs is 24

HA climate displays: 35 in big (room temp) seems to Air return upstairs This I would like to be the touchpad temp of 30 27 in small (desired temp) seems to be correct desired upstairs

Data from server logs: 
[13:20:17 VRB]  Ac Mode is 4 - enum Cool     *** seems to be upstairs controller
[13:20:17 VRB]  Fanspeed is 0 - enum Auto    *** seems to be upstairs controller
[13:20:17 VRB] AirTouchId is  88411913          *** unknown which controller this is?
[13:20:17 VRB] Touchpad GroupId is  0           *** Is there are Touchpad GroupId 1 for upstairs???
[13:20:17 VRB] Touchpad Temperature is  28  *** Guessing this is the downstairs touchpad temp???
[13:20:17 VRB] Desired Temperature is  27     *** seems to be upstairs desired temp
[13:20:17 VRB] Room Temperature is  35        *** seems to be upstairs air return temp
[13:20:17 VRB] Thermostat mode is  1            *** not sure what this is?

full log

[13:26:17 DBG] Connected to 192.168.10.178 8899
[13:26:17 VRB] Received Message F2 FA 14 17 00 19 0D 1A 0E 00 90 00 91 1E 96 00 0E 00 8C 1E 92 00 97 1E 0E 00 8C 1E 92 00 97 1E 86 1E 0E 00 91 1E 96 00 87 1E 0E 00 92 00 97 1E 87 1E 0E 00 92 00 97 1E 09 1E 88 00 91 1E 96 00 09 1E 8C 1E 92 00 97 1E 09 1E 8C 1E 92 00 97 1E 86 1E 90 00 91 1E 96 00 87 1E 90 00 92 00 97 1E 87 1E 90 00 92 00 97 1E 4C 69 76 69 6E 67 00 00 4D 61 73 74 65 72 00 00 52 6F 62 65 00 00 00 00 53 69 74 74 69 6E 67 00 47 55 45 53 54 00 00 00 42 65 64 20 32 00 00 00 42 65 64 20 33 00 00 00 42 65 64 20 34 00 00 00 4D 65 64 69 61 00 00 00 47 72 6F 75 70 5F 41 00 47 72 6F 75 70 5F 42 00 47 72 6F 75 70 5F 43 00 47 72 6F 75 70 5F 44 00 47 72 6F 75 70 5F 45 00 47 72 6F 75 70 5F 46 00 47 72 6F 75 70 5F 47 00 9C 11 12 83 04 85 06 07 00 81 82 83 84 85 86 87 14 0A 0A 14 14 14 14 14 0A 14 14 14 14 14 14 14 01 11 21 31 41 51 61 71 81 91 A1 B1 C1 D1 E1 F1 8A 0A 0A 8A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 3D 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 4C 69 76 69 6E 47 20 20 46 61 76 5F 32 00 00 00 46 61 76 5F 33 00 00 00 46 61 76 5F 34 00 00 00 80 00 00 00 00 00 00 00 09 83 00 01 00 E5 23 00 00 50 6F 6C 79 61 69 72 65 00 00 30 38 20 38 33 34 39 20 38 34 36 36 50 6F 6C 79 61 69 72 65 00 00 00 00 00 00 00 00 55 70 70 65 72 00 00 00 4C 6F 77 65 72 00 00 00 8F 00 97 3B 86 1E 90 00 04 04 00 00 04 00 30 30 1B 18 24 1C 00 00 00 00 12 12 01 00 00 01 9C 9E 57 01 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38 38 34 31 31 39 31 33 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[13:26:17 VRB] Service RecvMessage F2 FA 14 17 00 19 0D 1A 0E 00 90 00 91 1E 96 00 0E 00 8C 1E 92 00 97 1E 0E 00 8C 1E 92 00 97 1E 86 1E 0E 00 91 1E 96 00 87 1E 0E 00 92 00 97 1E 87 1E 0E 00 92 00 97 1E 09 1E 88 00 91 1E 96 00 09 1E 8C 1E 92 00 97 1E 09 1E 8C 1E 92 00 97 1E 86 1E 90 00 91 1E 96 00 87 1E 90 00 92 00 97 1E 87 1E 90 00 92 00 97 1E 4C 69 76 69 6E 67 00 00 4D 61 73 74 65 72 00 00 52 6F 62 65 00 00 00 00 53 69 74 74 69 6E 67 00 47 55 45 53 54 00 00 00 42 65 64 20 32 00 00 00 42 65 64 20 33 00 00 00 42 65 64 20 34 00 00 00 4D 65 64 69 61 00 00 00 47 72 6F 75 70 5F 41 00 47 72 6F 75 70 5F 42 00 47 72 6F 75 70 5F 43 00 47 72 6F 75 70 5F 44 00 47 72 6F 75 70 5F 45 00 47 72 6F 75 70 5F 46 00 47 72 6F 75 70 5F 47 00 9C 11 12 83 04 85 06 07 00 81 82 83 84 85 86 87 14 0A 0A 14 14 14 14 14 0A 14 14 14 14 14 14 14 01 11 21 31 41 51 61 71 81 91 A1 B1 C1 D1 E1 F1 8A 0A 0A 8A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A 3D 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 4C 69 76 69 6E 47 20 20 46 61 76 5F 32 00 00 00 46 61 76 5F 33 00 00 00 46 61 76 5F 34 00 00 00 80 00 00 00 00 00 00 00 09 83 00 01 00 E5 23 00 00 50 6F 6C 79 61 69 72 65 00 00 30 38 20 38 33 34 39 20 38 34 36 36 50 6F 6C 79 61 69 72 65 00 00 00 00 00 00 00 00 55 70 70 65 72 00 00 00 4C 6F 77 65 72 00 00 00 8F 00 97 3B 86 1E 90 00 04 04 00 00 04 00 30 30 1B 18 24 1C 00 00 00 00 12 12 01 00 00 01 9C 9E 57 01 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38 38 34 31 31 39 31 33 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[13:26:17 VRB] Aircon Id is 18. Raw 00010010
[13:26:17 VRB] Aircon BrandId is 0. Raw 00000000
[13:26:17 VRB] Aircon is AcOff. Raw 00000100
[13:26:17 VRB] Aircon is OK. Raw 00000100
[13:26:17 VRB] Aircon system name is Polyaire
[13:26:17 VRB] Sensor 0 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 1 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 2 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 3 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 4 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 5 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 6 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 7 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 8 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 9 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 10 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 11 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 12 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 13 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 14 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 15 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 16 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 17 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 18 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 19 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 20 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 21 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 22 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 23 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 24 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 25 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 26 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 27 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 28 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 29 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 30 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB] Sensor 31 IsAvailable False LowBattery False Temperature 0
[13:26:17 VRB]  Ac Mode is 4 - enum Cool
[13:26:17 VRB]  Fanspeed is 0 - enum Auto
[13:26:17 VRB] AirTouchId is  88411913 
[13:26:17 VRB] Touchpad GroupId is  0 
[13:26:17 VRB] Touchpad Temperature is  28 
[13:26:17 VRB] Desired Temperature is  27 
[13:26:17 VRB] Room Temperature is  36 
[13:26:17 VRB] Thermostat mode is  1 
[13:26:17 VRB] Zone Data 10011100 for 0
[13:26:17 VRB] Zone Data 00010001 for 1
[13:26:17 VRB] Zone Data 00010010 for 2
[13:26:17 VRB] Zone Data 10000011 for 3
[13:26:17 VRB] Zone Data 00000100 for 4
[13:26:17 VRB] Zone Data 10000101 for 5
[13:26:17 VRB] Zone Data 00000110 for 6
[13:26:17 VRB] Zone Data 00000111 for 7
[13:26:17 VRB] Zone Data 00000000 for 8
[13:26:17 VRB] Zone Data 10000001 for 9
[13:26:17 VRB] Zone Data 10000010 for 10
[13:26:17 VRB] Zone Data 10000011 for 11
[13:26:17 VRB] Zone Data 10000100 for 12
[13:26:17 VRB] Zone Data 10000101 for 13
[13:26:17 VRB] Zone Data 10000110 for 14
[13:26:17 VRB] Zone Data 10000111 for 15
[13:26:17 VRB] Zone Name Living for 0
[13:26:17 VRB] Zone Data 10011100 for Start Zone 0 and status is ZoneOn
[13:26:17 VRB] Zone Name Master for 1
[13:26:17 VRB] Zone Data 00010001 for Start Zone 1 and status is ZoneOff
[13:26:17 VRB] Zone Name Robe for 2
[13:26:17 VRB] Zone Data 00010010 for Start Zone 2 and status is ZoneOff
[13:26:17 VRB] Zone Name Sitting for 3
[13:26:17 VRB] Zone Data 10000011 for Start Zone 3 and status is ZoneOn
[13:26:17 VRB] Zone Name GUEST for 4
[13:26:17 VRB] Zone Data 00000100 for Start Zone 4 and status is ZoneOff
[13:26:17 VRB] Zone Name Bed 2 for 5
[13:26:17 VRB] Zone Data 10000101 for Start Zone 5 and status is ZoneOn
[13:26:17 VRB] Zone Name Bed 3 for 6
[13:26:17 VRB] Zone Data 00000110 for Start Zone 6 and status is ZoneOff
[13:26:17 VRB] Zone Name Bed 4 for 7
[13:26:17 VRB] Zone Data 00000111 for Start Zone 7 and status is ZoneOff
[13:26:17 VRB] Zone Name Media for 8
[13:26:17 VRB] Zone Data 00000000 for Start Zone 8 and status is ZoneOff
[13:26:17 VRB] {"Aircons": [{"Id": 18, "AirTouchId": "88411913", "Mode": "Cool", "Name": "Polyaire", "PowerStatus": "AcOff", "Status": "OK", "BrandId": 0, "TouchPadGroupId": 0, "TouchPadTemperature": 28, "DesiredTemperature": 27, "RoomTemperature": 36, "ThermostatMode": 1, "FanMode": "Auto", "Zones": [{"Id": 0, "Name": "Living", "Status": "ZoneOn", "FanValue": 100, "IsSpill": false, "DesiredTemperature": 30, "ZoneTemperatureType": "UseSensor", "Sensors": [], "$type": "Zone"}, {"Id": 1, "Name": "Master", "Status": "ZoneOff", "FanValue": 0, "IsSpill": false, "DesiredTemperature": 25, "ZoneTemperatureType": "Hide", "Sensors": [], "$type": "Zone"}, {"Id": 2, "Name": "Robe", "Status": "ZoneOff", "FanValue": 0, "IsSpill": false, "DesiredTemperature": 25, "ZoneTemperatureType": "Hide", "Sensors": [], "$type": "Zone"}, {"Id": 3, "Name": "Sitting", "Status": "ZoneOn", "FanValue": 100, "IsSpill": false, "DesiredTemperature": 25, "ZoneTemperatureType": "Hide", "Sensors": [], "$type": "Zone"}, {"Id": 4, "Name": "GUEST", "Status": "ZoneOff", "FanValue": 0, "IsSpill": false, "DesiredTemperature": 25, "ZoneTemperatureType": "Hide", "Sensors": [], "$type": "Zone"}, {"Id": 5, "Name": "Bed 2", "Status": "ZoneOn", "FanValue": 100, "IsSpill": false, "DesiredTemperature": 25, "ZoneTemperatureType": "Hide", "Sensors": [], "$type": "Zone"}, {"Id": 6, "Name": "Bed 3", "Status": "ZoneOff", "FanValue": 0, "IsSpill": false, "DesiredTemperature": 25, "ZoneTemperatureType": "Hide", "Sensors": [], "$type": "Zone"}, {"Id": 7, "Name": "Bed 4", "Status": "ZoneOff", "FanValue": 0, "IsSpill": false, "DesiredTemperature": 25, "ZoneTemperatureType": "Hide", "Sensors": [], "$type": "Zone"}, {"Id": 8, "Name": "Media", "Status": "ZoneOff", "FanValue": 0, "IsSpill": false, "DesiredTemperature": 25, "ZoneTemperatureType": "Hide", "Sensors": [], "$type": "Zone"}], "Sensors": [{"Id": 0, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 1, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 2, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 3, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 4, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 5, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 6, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 7, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 8, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 9, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 10, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 11, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 12, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 13, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 14, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 15, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 16, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 17, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 18, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 19, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 20, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 21, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 22, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 23, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 24, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 25, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 26, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 27, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 28, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 29, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 30, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}, {"Id": 31, "IsAvailable": false, "IsLowBattery": false, "Temperature": 0, "$type": "Sensor"}], "Version": "0.4", "$type": "Aircon"}], "SelectedAc": 0, "$type": "AirTouchSystem"}
[13:26:17 INF] Executed action method VzduchDotek.Net.Controllers.VzduchDotekController.Get (VzduchDotek.Net), returned result Microsoft.AspNetCore.Mvc.ContentResult in 187.6104ms.
[13:26:17 VRB] Action Filter: Before executing OnActionExecuted on filter Microsoft.AspNetCore.Mvc.Infrastructure.ModelStateInvalidFilter.
[13:26:17 VRB] Action Filter: After executing OnActionExecuted on filter Microsoft.AspNetCore.Mvc.Infrastructure.ModelStateInvalidFilter.
[13:26:17 VRB] Action Filter: Before executing OnActionExecuted on filter Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter.
[13:26:17 VRB] Action Filter: After executing OnActionExecuted on filter Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter.
[13:26:17 VRB] Result Filter: Before executing OnResultExecuting on filter Microsoft.AspNetCore.Mvc.Infrastructure.ClientErrorResultFilter.
[13:26:17 VRB] Result Filter: After executing OnResultExecuting on filter Microsoft.AspNetCore.Mvc.Infrastructure.ClientErrorResultFilter.
[13:26:17 VRB] Before executing action result Microsoft.AspNetCore.Mvc.ContentResult.
[13:26:17 INF] Executing ContentResult with HTTP Response ContentType of application/json
[13:26:17 VRB] After executing action result Microsoft.AspNetCore.Mvc.ContentResult.
[13:26:17 VRB] Result Filter: Before executing OnResultExecuted on filter Microsoft.AspNetCore.Mvc.Infrastructure.ClientErrorResultFilter.
[13:26:17 VRB] Result Filter: After executing OnResultExecuted on filter Microsoft.AspNetCore.Mvc.Infrastructure.ClientErrorResultFilter.
[13:26:17 INF] Executed action VzduchDotek.Net.Controllers.VzduchDotekController.Get (VzduchDotek.Net) in 194.2201ms
[13:26:17 INF] Executed endpoint 'VzduchDotek.Net.Controllers.VzduchDotekController.Get (VzduchDotek.Net)'
[13:26:17 DBG] Connection id "0HMN0N6MK753K" completed keep alive response.
[13:26:17 INF] Request finished in 198.4211ms 200 application/json
[13:26:33 DBG] Connection id "0HMN0N6MK753K" received FIN.
[13:26:33 DBG] Connection id "0HMN0N6MK753K" disconnecting.
[13:26:33 DBG] Connection id "0HMN0N6MK753K" stopped.
[13:26:33 DBG] Connection id "0HMN0N6MK753K" sending FIN because: "The Socket transport's send loop completed gracefully."

Thanks for your assistance, let me know if there is anything I can do to help!

ozczecho commented 1 year ago

Hi @Uksa007 - The api "should" work with multiple ACs (I just havent tested that as I only have one unit). Using the api you can call GET api/aircons - which will return an array of aircon objects.

To turn on AC 1 - POST api/aircons/0/switch/1 (note the zero to denote the first AC) To turn on AC 2 - POST api/aircons/1/switch/1 (note the one to denote the second AC)

If you end up using the HA component that I put together for this API then unfortunately the "selected AC" is hard coded to the first AC. But this should not be too hard to expose and make configurable. https://github.com/ozczecho/custom_components/blob/00266f336948f77cb6840dff2d35a7955eab62b8/airtouch3/vzduch.py#L71

HTH

Mike

Uksa007 commented 1 year ago

Hi @ozczecho

I'm using your HA component, it shows the below, note the 31 degrees, this is the air return vent not the touchpad temp for living zone.

image

The get api/aircons only shows one touchpad, and the temp is wrong should be 30, I think it may be the downstairs unit.

Any idea how to show the other touchpad data?

{
  "aircons": [
    {
      "id": 18,
      "airTouchId": "22771920",
      "mode": 4,
      "name": "Polyaire",
      "powerStatus": 0,
      "status": "OK",
      "brandId": 0,
      "touchPadGroupId": 0,
      "touchPadTemperature": 22,
      "desiredTemperature": 27,
      "roomTemperature": 25,
      "thermostatMode": 1,
      "fanMode": 2,
      "zones": [
        {
          "id": 0,
          "name": "Living",
          "status": 1,
          "fanValue": 100,
          "isSpill": false,
          "desiredTemperature": 27,
          "zoneTemperatureType": 1,
          "sensors": []
        },
        {
          "id": 1,
          "name": "Master",
          "status": 0,
          "fanValue": 0,
          "isSpill": false,
          "desiredTemperature": 25,
          "zoneTemperatureType": 0,
          "sensors": []
        },
        {
          "id": 2,
          "name": "Robe",
          "status": 0,
          "fanValue": 0,
          "isSpill": false,
          "desiredTemperature": 25,
          "zoneTemperatureType": 0,
          "sensors": []
        },
        {
          "id": 3,
          "name": "Sitting",
          "status": 0,
          "fanValue": 0,
          "isSpill": false,
          "desiredTemperature": 25,
          "zoneTemperatureType": 0,
          "sensors": []
        },
        {
          "id": 4,
          "name": "Study",
          "status": 0,
          "fanValue": 0,
          "isSpill": false,
          "desiredTemperature": 25,
          "zoneTemperatureType": 0,
          "sensors": []
        },
        {
          "id": 5,
          "name": "Bed 3",
          "status": 0,
          "fanValue": 0,
          "isSpill": false,
          "desiredTemperature": 25,
          "zoneTemperatureType": 0,
          "sensors": []
        },
        {
          "id": 6,
          "name": "Bed 4",
          "status": 0,
          "fanValue": 0,
          "isSpill": false,
          "desiredTemperature": 25,
          "zoneTemperatureType": 0,
          "sensors": []
        },
        {
          "id": 7,
          "name": "Bed 5",
          "status": 0,
          "fanValue": 0,
          "isSpill": false,
          "desiredTemperature": 25,
          "zoneTemperatureType": 0,
          "sensors": []
        },
        {
          "id": 8,
          "name": "Cinema",
          "status": 0,
          "fanValue": 0,
          "isSpill": false,
          "desiredTemperature": 25,
          "zoneTemperatureType": 0,
          "sensors": []
        }
      ],
      "sensors": [
        {
          "id": 0,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 1,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 2,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 3,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 4,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 5,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 6,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 7,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 8,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 9,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 10,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 11,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 12,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 13,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 14,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 15,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 16,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 17,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 18,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 19,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 20,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 21,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 22,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 23,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 24,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 25,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 26,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 27,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 28,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 29,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 30,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        },
        {
          "id": 31,
          "isAvailable": false,
          "isLowBattery": false,
          "temperature": 0
        }
      ],
      "version": "0.4"
    }
  ],
  "selectedAc": 0
}
ozczecho commented 1 year ago

@Uksa007 - when you say I have two touchpads and two separate ducted system but are both using the one airtouch system - does that mean that from each touchpad you can control upstairs and downstairs? OR does each touchpad have its own ip address and only controls one AC? In this case you may need to run two instances of the api - one for upstairs and one for downstairs.

[13:20:17 VRB] AirTouchId is 88411913 *** unknown which controller this is?

You can see this value on the actual airtouch 3 app - under settings

[13:20:17 VRB] Touchpad Temperature is 28 *** Guessing this is the downstairs touchpad temp???

This depends on how you have the AC setup - do you take the temperature reading from AC or Touchpad or a temperature sensor.

Uksa007 commented 1 year ago

does that mean that from each touchpad you can control upstairs and downstairs?

Yes, both touchpads can control both AC units, and all the zones.

This depends on how you have the AC setup - do you take the temperature reading from AC or Touchpad or a temperature sensor.

For the upstairs unit the the Lounge zone uses the temp from the upstairs touchpad NOT the AC return vent as displayed in Homeassistant.

Uksa007 commented 4 months ago

Any ideas on how to progress this so it reports the temp from the Touchpad not the return air vent?

To be clear there is only one IP address, both Touch controllers share the one Brain.

ozczecho commented 4 months ago

@Uksa007 - I am not too familiar with multi AC systems. BUT I do know that the Temp shown is determined by the installer setting Control Thermistor. The AC is the return vent. We have it set to Living Room which for us if the control pad. You can also choose a sensor if you have that.

HTH

image

Uksa007 commented 4 months ago

@ozczecho

Yep that is exactly how I have mine set up.

Yet the Living room touch pad is reporting 25, yet in Home Assistant it's reporting 23 which is return air vent(AC) temp..

image

ozczecho commented 4 months ago

Hi @Uksa007 - can you show (at the same time)