Closed domalab closed 10 months ago
Hey - i would need someone to provide access to the NEO API. I believe it is similar, but different to the Que API (i have access to this as my system at home uses Que). If you could provide me with login details i should be able to take a look, and if viable add support. Let me know.
How can I give you access to Neo API?
Not sure if this will help but it's the code for the ActronAir Que/Neo Home Assistant Add-On.
I noticed in the Que.cs file there's Que / Neo code that looks like it's talking to the APIs.
https://github.com/MikeJMcGuire/HASSAddons/tree/master/hass-actronque/hass-actronque
@ruaandeysel you would need to loan me your login for your AC. Without access to a live system i am not able to help unfortunately as i would need to be able to review the API data and test commands. Let me know if your interested. You're also welcome to contribute to the code yourself if thats your preference
Let me take a crack at it. I will reach out if I get stuck.
@ruaandeysel you would need to loan me your login for your AC. Without access to a live system i am not able to help unfortunately as i would need to be able to review the API data and test commands. Let me know if your interested. You're also welcome to contribute to the code yourself if thats your preference
@jxg81 Looks like the Que API and Neo API is the same except that NEO controller connects to following url instead of https://que.actronair.com.au.
https://nimbus.actronair.com.au
Is there a way to add this to current plug-in allow you to select between QUE and NEO controllers?
@ruaandeysel Yes, this would be viable to add as a config option however there are various bits of data i would need to validate. Due to the lack of reliability in the actron web service there is a bunch of validation that occurs to maintain stability within homekit. This includes some very strict schema validation of API responses. If i sent you a number of url paths to check would you be able to send me the output from the Neo API?
@ruaandeysel Yes, this would be viable to add as a config option however there are various bits of data i would need to validate. Due to the lack of reliability in the actron web service there is a bunch of validation that occurs to maintain stability within homekit. This includes some very strict schema validation of API responses.
If i sent you a number of url paths to check would you be able to send me the output from the Neo API?
@jxg81 Sure mate. Please send the URLs and I'll check for you asap.
Ok - let me collect up the URL sand will send them to you later this evening.
Ok - let me collect up the URL sand will send them to you later this evening.
@jxg81 please remember to send me the urls when you are free 😊
Note, you will need to login via the web portal in your browser first before trying these paths. All these paths extend the base path, which for action is que.actronair.com.au, based on the info you provided this would be nimbus.actronair.com.au.
/api/v0/client/ac-systems /api/v0/client/user-devices
You will need to replace the xxxx at the end of this next path with you actual system serial number. /api/v0/client/ac-systems/status/latest?serial=xxxx
/api/v0/client/ac-systems/status/latest?serial=xxxx
@jxg81 Here you go
/api/v0/client/ac-systems
{"isOnline":true,"timeSinceLastContact":"00:00:16.8600005","lastStatusUpdate":"2023-05-28T22:50:02+00:00","lastKnownState":{"<22H09780>":{"Cloud":{"ConnectionState":"Connected","FailedSentPackets":0,"ReceivedPackets":2206080,"SentPackets":28211718,"Connection":{"UpTime":{"SinceLastMCUReset_s":584375,"CurrentSession_s":361},"SessionCount":{"SinceLastMCUReset":93,"PriorToLastMCUReset":0},"ErrorCount":{"AbortedSockets":0,"LoopbackError":93,"DNSFailures":3}}},"Modbus":{"LinkPort":"Opened"},"NV_SystemSettings_Local":{"OTA":{"Mode":2,"CheckInterval":{"Mode1_Period_min":1440,"Mode2_TimeOfDay":"T02:00:00"},"LastCheck":{"Trigger":"NA","Time":"2023-05-28T02:00:47","Result":"NA","Images":[0]},"NextCheck":{"Time":"2023-05-30T02:14:27"}},"amMasterController":true,"isConfigured":true,"isLinkedToCloud":true},"SystemState":{"CpuId":"0x003C00213156500520313543","LastShutdownReason":"Software Trigger","MCUResetCountSincePOR":{"Total":6,"Remote":0},"HardFaultDebug":{"Type":"0","IncidentCount":0,"LastIncidentTime":"NA","CoreRegisterDump":{"R0":"0x00000000","R1":"0x00000000","R2":"0x00000000","R3":"0x00000000","R12":"0x00000000","LR":"0x00000000","PC":"0x00000000","PSR":"0x00000000"}},"RTOS":{"BlockingTaskMonitor":{"Id":0,"TimeStamp":"NA","Parameters":[0],"StackDump":[0]}},"LinkedToMaster":false,"WCFirmwareVersion":"NEO v2.1.0.9, Mar 31 2023 11:15:20","WCBootloaderVersion":"1.0.2.0","ExternalFlash":{"GFXAssets":{"Primary":{"Version":{"Installed":"1.1.0.2","Required":"1.1.0.2"},"CRC":"OK"},"Secondary":{"Version":{"Installed":"1.0.4.2","Required":"1.0.4.2"},"CRC":"OK"}},"FirmwareImages":{"STM32_NEO":"NA","PIC24_ODU":"No Image","PIC24_Inzone":"3.2","PIC24_CMI":"No Image","NRF52_BLECentral":"1.1.0.0","NRF52_BLEPeripheral1":"1.1.4.0","NRF52_BLEPeripheral2":"No Image","WINC1500":"No Image"}}},"SystemStatus_Local":{"Uptime_s":587564,"WifiStrength_of3":-61,"SensorInputs":{"SHTC1":{"RelativeHumidity_pc":42.0,"Temperature_oC":20.5},"RS485":{"AInput_Voltage":2.1,"BInput_Voltage":1.6,"Current":4.0},"PSU_Voltage":11.6,"AmbientLight":380.0,"Thermistors":{"NearAmbient_oC":20.5,"WiFi_oC":28.8,"MainPCB_oC":31.3,"RoomAmbient_oC":18.9},"TOF":{"Enabled":true,"Range_mm":-1.0}},"WiFi":{"FirmwareVersion":"19.6.1","DriverVersion":"19.3.0","ModuleMACAddress":"60:8A:10:B3:B5:99","ApSSID":"SuperHuis_IoT","ApBSSID":"D6:21:F9:8C:19:EA","RFChannel":6,"ConnectionCount":1,"DisconnectCount":0,"DeinitCount":0,"HardwareErrorCount":0},"TouchScreen":{"LastTouchTime":"2023-05-28T18:48:37","State":0,"XCoordinate":523,"YCoordinate":255,"I2CErrorCount":0,"ControllerModel":"Goodix GT9271"},"TouchButton":{"State":0,"I2CErrorCount":265},"GUI":{"ActiveScreen":"HOME"},"LTDC":{"FiFoUnderRunError":{"IncidentCount":0,"OffendingTask":"NONE","IncidentActive":false,"IncidentDuration_ms":0}},"BTLE":{"Central":{"Mode":"NEO2 BTLE","FirmwareVersion":"1.1.0.0"}}}},"ACStats":{"NV_FanRunTime_10m":0,"NV_FanRunTime_Total_10m":0},"AirconSystem":{"MasterWCModel":"NTW-1000","MasterSerial":"22H09780","MasterWCFirmwareVersion":"2.1.0.9","IndoorUnit":{"NV_ModelNumber":"EVA150S","SerialNumber":"748836","IndoorFW":"3.02","NV_SupportedFanModes":3,"NV_AutoFanEnabled":false},"OutdoorUnit":{"Family":"Fixed Speed: Classic","ModelNumber":"0","SerialNumber":"772902","SoftwareVersion":"1.05"},"WallControllers":[{"Address":"C1","Type":"NEO","FirmwareVersion":"2.1.0.9"},{"Address":"C2","Type":"NA","FirmwareVersion":"NA"},{"Address":"C3","Type":"NA","FirmwareVersion":"NA"}],"Sensors":[{"Designator":"C1","Detected":true,"Enabled":true,"Temperature_oC":18.8,"TemperatureOffset_oC":0.0},{"Designator":"C2","Detected":false,"Enabled":true,"Temperature_oC":"NA","TemperatureOffset_oC":0.0},{"Designator":"C3","Detected":false,"Enabled":true,"Temperature_oC":"NA","TemperatureOffset_oC":0.0},{"Designator":"RS1","Detected":false,"Enabled":true,"Temperature_oC":"NA","TemperatureOffset_oC":0.0},{"Designator":"RS2","Detected":false,"Enabled":true,"Temperature_oC":"NA","TemperatureOffset_oC":0.0},{"Designator":"RS3","Detected":false,"Enabled":true,"Temperature_oC":"NA","TemperatureOffset_oC":0.0}],"Peripherals":[{"LogicalAddress":1,"DeviceType":"Zone Sensor","SerialNumber":"23E01206","MACAddress":"BC:06:12:14:23:CB","ZoneAssignment":[2],"ConnectionState":"Connected","Firmware":{"InstalledVersion":{"NRF52":"1.1.4.0","EFM8":"0.1.4.0"},"Update":{"CurrentState":"Device Pairing","CurrentInstallProgress_pc":0,"Events":{"LastStartTime":"NA","LastCompleteTime":"NA","LastFailureTime":"NA","LastFailureStep":"Device Pairing"},"RunCount":0,"FailureCount":0}},"LastConnectionTime":"2023-05-22T14:44:21","ConnectionEventCounts":1,"RSSI":{"Local":-39,"Remote":0},"RemainingBatteryCapacity_pc":90,"SensorInputs":{"BatteyLevels":{"B1V5":1.567,"B3V3":1.499,"B4V5":1.54},"RS485":{"PSU_Voltage":-10.5},"SHTC1":{"RelativeHumidity_pc":53,"Temperature_oC":16.0},"Thermistors":{"Ambient_oC":15.1,"Wall_oC":15.1}}},{"LogicalAddress":2,"DeviceType":"Zone Sensor","SerialNumber":"23D05708","MACAddress":"BC:08:57:10:23:CB","ZoneAssignment":[2],"ConnectionState":"Connected","Firmware":{"InstalledVersion":{"NRF52":"1.1.4.0","EFM8":"0.1.4.0"},"Update":{"CurrentState":"Device Pairing","CurrentInstallProgress_pc":0,"Events":{"LastStartTime":"NA","LastCompleteTime":"NA","LastFailureTime":"NA","LastFailureStep":"Device Pairing"},"RunCount":0,"FailureCount":0}},"LastConnectionTime":"2023-05-22T14:44:16","ConnectionEventCounts":1,"RSSI":{"Local":-32,"Remote":0},"RemainingBatteryCapacity_pc":93,"SensorInputs":{"BatteyLevels":{"B1V5":1.584,"B3V3":1.518,"B4V5":1.552},"RS485":{"PSU_Voltage":-4.2},"SHTC1":{"RelativeHumidity_pc":47,"Temperature_oC":17.9},"Thermistors":{"Ambient_oC":17.4,"Wall_oC":16.3}}},{"LogicalAddress":3,"DeviceType":"Zone Sensor","SerialNumber":"23E03236","MACAddress":"BC:36:32:14:23:CB","ZoneAssignment":[2],"ConnectionState":"Connected","Firmware":{"InstalledVersion":{"NRF52":"1.1.4.0","EFM8":"0.1.4.0"},"Update":{"CurrentState":"Device Pairing","CurrentInstallProgress_pc":0,"Events":{"LastStartTime":"NA","LastCompleteTime":"NA","LastFailureTime":"NA","LastFailureStep":"Device Pairing"},"RunCount":0,"FailureCount":0}},"LastConnectionTime":"2023-05-22T14:44:26","ConnectionEventCounts":1,"RSSI":{"Local":-29,"Remote":0},"RemainingBatteryCapacity_pc":93,"SensorInputs":{"BatteyLevels":{"B1V5":1.576,"B3V3":1.52,"B4V5":1.54},"RS485":{"PSU_Voltage":-6.3},"SHTC1":{"RelativeHumidity_pc":47,"Temperature_oC":17.8},"Thermistors":{"Ambient_oC":17.5,"Wall_oC":16.0}}},{"LogicalAddress":4,"DeviceType":"Zone Sensor","SerialNumber":"23E03234","MACAddress":"BC:34:32:14:23:CB","ZoneAssignment":[2],"ConnectionState":"Connected","Firmware":{"InstalledVersion":{"NRF52":"1.1.4.0","EFM8":"0.1.4.0"},"Update":{"CurrentState":"Device Pairing","CurrentInstallProgress_pc":0,"Events":{"LastStartTime":"NA","LastCompleteTime":"NA","LastFailureTime":"NA","LastFailureStep":"Device Pairing"},"RunCount":0,"FailureCount":0}},"LastConnectionTime":"2023-05-22T14:44:31","ConnectionEventCounts":1,"RSSI":{"Local":-27,"Remote":0},"RemainingBatteryCapacity_pc":93,"SensorInputs":{"BatteyLevels":{"B1V5":1.585,"B3V3":1.533,"B4V5":1.542},"RS485":{"PSU_Voltage":0.0},"SHTC1":{"RelativeHumidity_pc":50,"Temperature_oC":16.1},"Thermistors":{"Ambient_oC":15.1,"Wall_oC":14.6}}}]},"Alerts":{"CleanFilter":false,"DRED":false,"Defrosting":false},"AwayModeSavedState":{"Master":{"TemperatureSetpoint_Cool_oC":26.0,"TemperatureSetpoint_Heat_oC":20.0}},"LiveAircon":{"AmRunningFan":true,"CanRunSystem":true,"CoilInlet":35.5,"CompressorCanRun":true,"CompressorCapacity":1,"CompressorChasingTemperature":22.0,"CompressorLiveTemperature":17.4,"CompressorMode":"OFF","DRM":false,"Defrost":false,"ErrCode":0,"FanDemandPC":0,"FanPWM":79,"FanRPM":1385,"IndoorUnitTemp":0,"ModbusErr":0,"OutdoorUnit":{"AmbTemp":0.0,"AmbientSensErr":true,"AutoMode":0,"CoilSenseErr":false,"CoilTemp":8.8,"CompMustRunOFF":false,"CompMustRunON":false,"CompPower":0,"CompRunningPWM":100,"CompSpeed":100.0,"CompressorMode":1,"CompressorOn":true,"CompressorSetSpeed":100,"CondPc":0.0,"ContFan":false,"DRM":0,"DRMModeTime_s":0,"DeIceConfirm_s":0,"DeIceHoldMax_s":0,"DeIceHold_s":0,"DeIceTime_s":0,"DefrostCycleNo":0,"DefrostMode":0,"DischargeTemp":0.0,"DriveAOCVersion":0,"DriveDefault":false,"DriveHP2":false,"DriveMOCVersion":0,"DriveTemp":0,"ECFanErr":false,"EEV":{"ControlStatus":0,"EvapPress":0,"EvapTemp":0,"Opening_pc":0,"SuperHeat":3000.0,"SuperHeatRef":3000},"EXV":false,"EXVErr":false,"ErrCode_1":0,"ErrCode_2":0,"ErrCode_3":0,"ErrCode_4":0,"ErrCode_5":0,"ErrFlag":0,"EvacMode":false,"FanMode":0,"FanSetSpeed":0,"FanSpeed":0,"Fault":false,"ForcedDefrost":false,"HPErr":false,"HPLPTripTime_s":0,"HPTripCount":0,"IndoorEEVTemp":0,"LPBypass_s":0,"LPErr":false,"LPTripCount":0,"Mode":0,"ODFan":0,"ODUDefault":false,"ODUSel":0,"OilReturn":false,"OilReturnEnable":false,"RemoteOnOff":false,"RevTimeout_s":0,"RevTimoutOn":false,"RevValue":false,"RoomTemp":17,"RoomTempODU":17,"RoomTempSet":17,"SFanErr":false,"ServiceStatusCodes":"NA","SetTempODU":0,"SuctP0":0.0,"SuctTemp":0.0,"SuctionSensErr":false,"SupplyPhaseA_Current":0.0,"SupplyPhaseB_Current":0.0,"SupplyPhaseC_Current":0.0,"SupplyVolatge_Vac":0,"TestModeCooling":false,"TestModeHeating":false,"EnvelopeProtection":false,"ReverseValvePosition":"heat","OverheatProtection":false},"SensorErr":0,"SystemOn":false,"isAntiFreeze":false},"MasterInfo":{"CanOperate":true,"CloudConnected":"Connected","CloudReachable":true,"LiveHumidity_pc":41.8,"LiveOutdoorTemp_oC":3000.0,"LiveTempHysteresis_oC":17.4,"LiveTemp_oC":17.4,"RemoteHumidity_pc":{"22H09780":41.8}},"NV_Limits":{"UserSetpoint_oC":{"MinGap":0,"VarianceAboveMasterCool":0,"VarianceAboveMasterHeat":0,"VarianceBelowMasterCool":0,"VarianceBelowMasterHeat":0,"setCool_Max":30,"setCool_Min":10,"setHeat_Max":30,"setHeat_Min":10}},"NV_QuickTimer":{"Master":[{"OriginalTime":"01:00","Status":"Stopped","Mode":"Timer","Time":"00:00:00","Zones":[true,true,true,true,true,true,true,true]}]},"NV_Schedule":{"Enabled":false,"Events":[]},"NV_SystemSettings":{"AFP_ChaseTemp_oC":0.0,"AFP_ExitTemp_oC":0.0,"AFP_StartTemp_oC":0.0,"AwayMode":{"TemperatureSetpoint_Cool_oC":26.0,"TemperatureSetpoint_Heat_oC":20.0,"TemperatureMinLimit_Cool_oC":26.0,"TemperatureMaxLimit_Cool_oC":36.0,"TemperatureMinLimit_Heat_oC":10.0,"TemperatureMaxLimit_Heat_oC":20.0},"Logs":{"snapshotTime_ms":900000},"Display":{"HomeScreen":{"BackgroundColour":"Black","Brightness":50},"ScreenSaver":{"Enabled":true,"Timeout_s":60,"Brightness":30},"ScreenOff":{"Enabled":true,"Timeout_s":60}},"ProxmitySensor":{"Enabled":true,"Range_cm":60},"LEDIndicators":{"WallGlow":{"Enabled":false},"OnOffButton":{"Enabled":true}},"Locks":{"PIN":"","RentryTimeout_s":0,"HomeScreen":{"ModeSelector":false,"TemperatureSetpoint":false,"FanSpeed":false,"OnOffButton":false},"MenuSystem":{"OptionsButton":false,"Timer":false,"Schedule":false,"WiFiAccount":false,"SystemSettings":false}},"SystemName":"NEO_22H09780","Time":{"SetAutomatically":true,"TimeMode24h":true,"Timezone":"Australia/Queensland","Timezone_Readable":"QLD, Australia"},"UpdateTime":"T02:00:00","UserACSettings":{"DefrostFanPWM":0,"FanAlertTime_h":200,"Fanspeed":{"High":99,"HighDefault":99,"HighRPM":1290,"Low":60,"LowDefault":60,"LowRPM":1290,"Med":75,"MedDefault":75,"MedRPM":1290}},"enableFastHeat":false,"restoreSettingsOnPowerUp":true},"RemoteZoneInfo":[{"CanOperate":true,"CommonZone":false,"LiveHumidity_pc":41.8,"LiveTempHysteresis_oC":15.1,"LiveTemp_oC":15.5,"NV_Exists":true,"NV_Title":"Master Bedroom","NV_VAV":false,"NV_ITC":false,"NV_ITD":false,"NV_IHD":true,"NV_amSetup":true,"LastZoneProtection":true,"Sensors":{"22H09780":{"Connected":false,"NV_Kind":"ZS","NV_isPaired":true,"NV_isViaRepeater":false,"Signal_of3":"-39","TX_Power":0,"lastRssi":"-39"}},"TemperatureSetpoint_Cool_oC":21.0,"TemperatureSetpoint_Heat_oC":21.0,"ZonePosition":0},{"CanOperate":true,"CommonZone":false,"LiveHumidity_pc":41.8,"LiveTempHysteresis_oC":17.4,"LiveTemp_oC":17.6,"NV_Exists":true,"NV_Title":"Guest Room","NV_VAV":false,"NV_ITC":false,"NV_ITD":false,"NV_IHD":true,"NV_amSetup":true,"LastZoneProtection":false,"Sensors":{"22H09780":{"Connected":false,"NV_Kind":"ZS","NV_isPaired":true,"NV_isViaRepeater":false,"Signal_of3":"-32","TX_Power":0,"lastRssi":"-32"}},"TemperatureSetpoint_Cool_oC":23.0,"TemperatureSetpoint_Heat_oC":23.0,"ZonePosition":0},{"CanOperate":true,"CommonZone":false,"LiveHumidity_pc":41.8,"LiveTempHysteresis_oC":17.5,"LiveTemp_oC":18.0,"NV_Exists":true,"NV_Title":"Office 1 ","NV_VAV":false,"NV_ITC":false,"NV_ITD":false,"NV_IHD":true,"NV_amSetup":true,"LastZoneProtection":false,"Sensors":{"22H09780":{"Connected":false,"NV_Kind":"ZS","NV_isPaired":true,"NV_isViaRepeater":false,"Signal_of3":"-29","TX_Power":0,"lastRssi":"-29"}},"TemperatureSetpoint_Cool_oC":23.0,"TemperatureSetpoint_Heat_oC":23.0,"ZonePosition":20},{"CanOperate":true,"CommonZone":false,"LiveHumidity_pc":41.8,"LiveTempHysteresis_oC":15.1,"LiveTemp_oC":15.4,"NV_Exists":true,"NV_Title":"Office 2","NV_VAV":false,"NV_ITC":false,"NV_ITD":false,"NV_IHD":true,"NV_amSetup":true,"LastZoneProtection":false,"Sensors":{"22H09780":{"Connected":false,"NV_Kind":"ZS","NV_isPaired":true,"NV_isViaRepeater":false,"Signal_of3":"-27","TX_Power":0,"lastRssi":"-27"}},"TemperatureSetpoint_Cool_oC":23.0,"TemperatureSetpoint_Heat_oC":23.0,"ZonePosition":0},{"CanOperate":true,"CommonZone":false,"LiveHumidity_pc":41.8,"LiveTempHysteresis_oC":18.8,"LiveTemp_oC":18.8,"NV_Exists":true,"NV_Title":"Downstairs","NV_VAV":false,"NV_ITC":false,"NV_ITD":false,"NV_IHD":true,"NV_amSetup":true,"LastZoneProtection":false,"Sensors":{"22H09780":{"Connected":false,"NV_Kind":"C1","NV_isPaired":false,"NV_isViaRepeater":false,"Signal_of3":"NA","TX_Power":0,"lastRssi":"NA"}},"TemperatureSetpoint_Cool_oC":21.0,"TemperatureSetpoint_Heat_oC":21.0,"ZonePosition":0},{"CanOperate":false,"CommonZone":false,"LiveHumidity_pc":41.8,"LiveTempHysteresis_oC":18.8,"LiveTemp_oC":18.8,"NV_Exists":false,"NV_Title":"Zone 6","NV_VAV":false,"NV_ITC":false,"NV_ITD":false,"NV_IHD":true,"NV_amSetup":true,"LastZoneProtection":false,"Sensors":{"22H09780":{"Connected":false,"NV_Kind":"C1","NV_isPaired":false,"NV_isViaRepeater":false,"Signal_of3":"NA","TX_Power":0,"lastRssi":"NA"}},"TemperatureSetpoint_Cool_oC":23.0,"TemperatureSetpoint_Heat_oC":23.0,"ZonePosition":20},{"CanOperate":false,"CommonZone":false,"LiveHumidity_pc":41.8,"LiveTempHysteresis_oC":18.8,"LiveTemp_oC":18.8,"NV_Exists":false,"NV_Title":"Zone 7","NV_VAV":false,"NV_ITC":false,"NV_ITD":false,"NV_IHD":true,"NV_amSetup":true,"LastZoneProtection":false,"Sensors":{"22H09780":{"Connected":false,"NV_Kind":"C1","NV_isPaired":false,"NV_isViaRepeater":false,"Signal_of3":"NA","TX_Power":0,"lastRssi":"NA"}},"TemperatureSetpoint_Cool_oC":23.0,"TemperatureSetpoint_Heat_oC":23.0,"ZonePosition":20},{"CanOperate":false,"CommonZone":false,"LiveHumidity_pc":41.8,"LiveTempHysteresis_oC":18.8,"LiveTemp_oC":18.8,"NV_Exists":false,"NV_Title":"Zone 8","NV_VAV":false,"NV_ITC":false,"NV_ITD":false,"NV_IHD":true,"NV_amSetup":true,"LastZoneProtection":false,"Sensors":{"22H09780":{"Connected":false,"NV_Kind":"C1","NV_isPaired":false,"NV_isViaRepeater":false,"Signal_of3":"NA","TX_Power":0,"lastRssi":"NA"}},"TemperatureSetpoint_Cool_oC":23.0,"TemperatureSetpoint_Heat_oC":23.0,"ZonePosition":20}],"DataLogger":{"EventCount":4096,"EventHistory":[{"Id":0,"Task":"Cloud","TimeStamp":"2023-05-29T08:44:04","Event":"IOT State Change","Parameters":["Get Installer Details"]},{"Id":1,"Task":"Cloud","TimeStamp":"2023-05-29T08:44:04","Event":"IOT Connect","Parameters":[0,0]},{"Id":2,"Task":"Cloud","TimeStamp":"2023-05-29T08:44:04","Event":"IOT State Change","Parameters":["Connection Error"]},{"Id":3,"Task":"None","TimeStamp":"2023-05-29T08:44:04","Event":"TCPIP Socket Connect","Parameters":[1,0]},{"Id":4,"Task":"Cloud","TimeStamp":"2023-05-29T08:44:04","Event":"IOT State Change","Parameters":["Start"]},{"Id":5,"Task":"Cloud","TimeStamp":"2023-05-29T08:44:03","Event":"IOT State Change","Parameters":["Connect"]},{"Id":6,"Task":"Cloud","TimeStamp":"2023-05-29T08:44:03","Event":"TCPIP Socket Connect","Parameters":[0,0]},{"Id":7,"Task":"Cloud","TimeStamp":"2023-05-29T08:44:03","Event":"IOT State Change","Parameters":["Check Account Status"]},{"Id":8,"Task":"Cloud","TimeStamp":"2023-05-29T08:44:03","Event":"IOT State Change","Parameters":["Get Session Token"]},{"Id":9,"Task":"Cloud","TimeStamp":"2023-05-29T08:44:03","Event":"IOT State Change","Parameters":["Get Pairing Token"]},{"Id":10,"Task":"Cloud","TimeStamp":"2023-05-29T08:44:02","Event":"IOT State Change","Parameters":["Full Status Broadcast"]},{"Id":11,"Task":"Cloud","TimeStamp":"2023-05-29T08:43:33","Event":"IOT State Change","Parameters":["Websocket Scheduler"]},{"Id":12,"Task":"Cloud","TimeStamp":"2023-05-29T08:43:33","Event":"IOT Error","Parameters":["Connect"]},{"Id":13,"Task":"Cloud","TimeStamp":"2023-05-29T08:43:32","Event":"IOT State Change","Parameters":["Connect"]},{"Id":14,"Task":"Cloud","TimeStamp":"2023-05-29T08:43:32","Event":"IOT State Change","Parameters":["Check Account Status"]},{"Id":15,"Task":"Cloud","TimeStamp":"2023-05-29T08:43:32","Event":"IOT State Change","Parameters":["Get Session Token"]},{"Id":16,"Task":"Cloud","TimeStamp":"2023-05-29T08:43:32","Event":"IOT State Change","Parameters":["Get Pairing Token"]},{"Id":17,"Task":"Cloud","TimeStamp":"2023-05-29T08:43:32","Event":"IOT Disconnect","Parameters":[0,0]},{"Id":18,"Task":"None","TimeStamp":"2023-05-29T08:43:32","Event":"TCPIP Socket Close","Parameters":[1,0]},{"Id":19,"Task":"Cloud","TimeStamp":"2023-05-29T08:43:32","Event":"IOT State Change","Parameters":["Full Status Broadcast"]},{"Id":20,"Task":"Cloud","TimeStamp":"2023-05-29T08:43:02","Event":"IOT State Change","Parameters":["Websocket Scheduler"]},{"Id":21,"Task":"Cloud","TimeStamp":"2023-05-29T08:43:02","Event":"IOT Error","Parameters":["Unpair Cloud Account"]},{"Id":22,"Task":"Cloud","TimeStamp":"2023-05-29T08:43:02","Event":"IOT Loopback Fail","Parameters":[0,0]},{"Id":23,"Task":"None","TimeStamp":"2023-05-29T06:48:38","Event":"TCPIP Socket Error","Parameters":["Remote Disconnect"]},{"Id":24,"Task":"None","TimeStamp":"2023-05-29T06:48:38","Event":"TCPIP Socket Close","Parameters":[0,0]}]},"Servicing":{"NV_ErrorHistory":[{"Code":"E00","Description":"No Error","Severity":"No Error","Time":"2023-05-22T14:44:25"},{"Code":"E00","Description":"No Error","Severity":"No Error","Time":"2023-04-26T15:17:02"},{"Code":"E00","Description":"No Error","Severity":"No Error","Time":"2023-04-26T15:14:48"},{"Code":"E00","Description":"No Error","Severity":"No Error","Time":"2023-04-26T15:03:31"},{"Code":"E00","Description":"No Error","Severity":"No Error","Time":"2023-04-21T07:56:32"},{"Code":"E00","Description":"No Error","Severity":"No Error","Time":"2023-04-19T07:46:31"},{"Code":"E00","Description":"No Error","Severity":"No Error","Time":"2023-04-17T02:05:15"}]},"Installer":{"Id":"NA","Name":"NA","Email":"NA","Phone":"NA"},"UserAirconSettings":{"AfterHours":{"Enabled":false,"Duration":120},"ApplicationMode":"Residential","AwayMode":false,"EnabledZones":[false,false,true,false,false,false,false,false],"FanMode":"HIGH","Mode":"AUTO","NV_SavedZoneState":[false,false,true,false,false,false,false,false],"QuietMode":false,"QuietModeEnabled":false,"QuietModeActive":false,"ServiceReminder":{"Enabled":false,"Time":"NA"},"VFT":{"Airflow":708.0,"StaticPressure":275.0,"Supported":false,"Enabled":false,"SelfLearn":{"LastRunTime":"NA","CurrentState":"Idle","LastResult":"Idle","MaxStaticPressure":0}},"TurboMode":{"Supported":false,"Enabled":false},"TemperatureSetpoint_Cool_oC":22.0,"TemperatureSetpoint_Heat_oC":22.0,"isFastHeating":false,"isOn":false,"ChangeSrc":{"Mode":"Cloud","isOn":"Cloud"}}}}
/api/v0/client/user-devices
{"_links":{"user-device":[{"href":"/api/v0/client/user-devices/Crw4O_GgBJDxzplhuif17e0Z-H7uXGcPhc3MGY0b4Ns%3D"},{"href":"/api/v0/client/user-devices/fIdbrji2F72QdIbto76aYmZb_KRU2z_gF2604Bc2Jt8%3D"},{"href":"/api/v0/client/user-devices/yJPCMafTPij6myR63RV2CXnTgeVHMQmGHQtglDvkMzM%3D"}]},"_embedded":{"user-device":[{"type":"Ios","deviceName":"HASSActronQue","id":"Crw4O_1gXJPxzplhuif17e0Z-H7uXGcPhc3MGY0b4Ns=","issued":"2022-11-28T10:24:28.4172801+00:00","expires":"3022-11-28T10:24:28.4172801+00:00","_links":{"self":{"href":"/api/v0/client/user-devices/Crw4O_XgBJPxzplhuis17e0Z-H7uXGcPhc3MGY0b4Ns%3D"}}},{"type":"Ios","deviceName":"iPhone","id":"fIdbrji2F72QdIbto76aYm24_KRU2z_gF2604Bc2Jt8=","issued":"2022-11-28T00:43:45.3151006+00:00","expires":"3022-11-28T00:43:45.3151006+00:00","_links":{"self":{"href":"/api/v0/client/user-devices/fIdbrji2F72QdIbto76aJamB0_KRU2z_gF2604Bc2Jt8%3D"}}},{"type":"Ios","deviceName":"iPhone","id":"yJPCMafTPij6myR99RV2CXnTgeVHMQmGHQtglDvkMzM=","issued":"2023-05-22T05:08:43.7274127+00:00","expires":"3023-05-22T05:08:43.7274127+00:00","_links":{"self":{"href":"/api/v0/client/user-devices/yJPCMafTPij6myR99RV2CXnTgeVHMQmGHQtglDvkMzM%3D"}}}]}}
Hi. Would be great to see the Neo systems supported. Please let me know how I could help. Eg. Testing
Hey Andrew - i have taken a look at this; and although the API looks similar there are some clear differences. To make progress i would need a) access to the online portal of a system, and b) someone willing to test. Let me know and if you are keen we can work something out - that doesnt involve me remotely turning on and off your aircon at random times of day :) haha
Hi Julian - Happy to help - so can provide both (a) and (b).
From: Julian Greensmtih @.> Sent: Tuesday, August 1, 2023 12:41 PM To: jxg81/homebridge-actron-que @.> Cc: andrew-burgher @.>; Manual @.> Subject: Re: [jxg81/homebridge-actron-que] Support for ActronAir NEO controllers (Issue #12)
Hey Andrew - i have taken a look at this; and although the API looks similar there are some clear differences. To make progress i would need a) access to the online portal of a system, and b) someone willing to test. Let me know and if you are keen we can work something out - that doesnt involve me remotely turning on and off your aircon at random times of day :) haha
- Reply to this email directly, view it on GitHubhttps://github.com/jxg81/homebridge-actron-que/issues/12#issuecomment-1659478171, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXYY3WOLIBIU6UFKZU544HTXTBUCPANCNFSM6AAAAAAYDDXEJU. You are receiving this because you are subscribed to this thread.Message ID: @.**@.>>
@andrew-burgher I'm happy to give you access to my system. Please let me know how I can help.
Same to you @jxg81 and @ruaandeysel
For what it's worth also, the API for nimbus/neo requires that we add the param includeNeo=true
when calling /api/v0/client/ac-systems
. So the function private async getAcSystems(): Promise<void> {
needs to change the url to const url : string = this.basePath + '/api/v0/client/ac-systems?includeNeo=true';
I've got this forked, updated and "working" now over at https://github.com/bstillitano/homebridge-actron-neo and it appears to control the system properly. By "working" I mean that your commands will succeed but the plugin will throw a heap of log errors. This is because the schemas do not match up for the expected responses but these are just noise at this point. I will make sure all the schemas get updated to remove these warnings.
I've also published this to NPM so you can install it onto your homebridge system directly. I'll be making some updates and improvements over the coming days/weeks to make this a standalone neo plugin.
@bstillitano - Nice one. Will check it out!
@andrew-burgher thanks mate. As I did, still a few quirks to work out but I'll spend my spare time getting it going.
I'd also appreciate any help you can offer. I'm a Swift/iOS developer so learning TS as I go with this.
@bstillitano Happy to help. Will you be enabling ‘Issues’ on your forked repo? Or prefer feedback through another channel?
I'll enable issues over on my fork
@andrew-burgher thanks mate. As I did, still a few quirks to work out but I'll spend my spare time getting it going.
I'd also appreciate any help you can offer. I'm a Swift/iOS developer so learning TS as I go with this.
I installed it today.
I have 5 zones but can only see one zone.
I left the configs on default.
Any ideas?
@ruaandeysel as I've said, I plan on working on this and working out the quirks. Feel free to dig in and open a PR and/or issue on the repo.
This has been addressed via a fork produced by @bstillitano here: https://github.com/bstillitano/homebridge-actron-neo
Is your feature request related to a problem? Please describe. Installed the ActronQue plugin and configured to connect to my ActronAir NEO Controller. Error logs show errors with API Validation Schema.
Describe the solution you'd like Is it possible to add support for ActronAir NEO controller
Describe alternatives you've considered Home Assistant ActronAir QUE/NEO Add-On works and I can pass the climate domain through HomeKit Integration.