Andre0512 / hon

Home Assistant integration for Haier hOn: support for Haier/Candy/Hoover home appliances like washing machines and air conditioners in 28 languages.
MIT License
1.23k stars 2.49k forks source link

Cool and heat hvac modes dont work #63

Closed andremain closed 10 months ago

andremain commented 11 months ago

Since latest beta, cool and heat hvac modes dont do anything. Auto, dry, fan and off work just fine.

Andre0512 commented 11 months ago

Hi, I couldn't find a reason for that, but did a little refactor in the latest beta. Can you test v0.8.0-beta.10? If it still doesn't work, did you see something in the logs? Can you send your device data?

andremain commented 11 months ago

When i try to change the hvac mode to either heat or cool or change the temperature it switches to auto for a couple of seconds, does nothing in reality and returns back to the previous state.

The error i am getting is this: {"payload":{"resultCode":"1","errorCode":"1000","errorDescription":"Invalid parameter: parValue"},"authInfo":{}}

I am using v8 and hassos version 2023.6.

andremain commented 11 months ago
data:
  additional_data:
  appliance:
    SK_Secondary: AC#selfClean56#2022-10-24
    applianceId: xx-xx-xx-xx-xx-xx#2022-08-25T13:38:15Z
    applianceModelId: 342
    applianceStatus: 1
    applianceTypeId: 11
    applianceTypeName: AC
    attributes:
      acuVersion: 06.26.00
      chipset: 1
      dictionaryId: 183
      eppParserSet: 1
      fwLabel: iotfw_epp
      lang: it-IT
      uiVersion: 06.26.00
    brand: haier
    code: AABL80E0000
    connectivity: wifi|ble
    eepromId: 41
    eepromName: no_eeprom
    enrollmentDate: 2022-08-25T13:38:15.968Z
    firstEnrollment: True
    firstEnrollmentTBC: True
    fwVersion: 5.12.0
    id: 342
    lastUpdate: 2022-08-25T13:40:54Z
    macAddress: xx-xx-xx-xx-xx-xx
    modelName: AS35TAMHRA-C
    nickName: Bedroom 3 AC
    purchaseDate: 2022-08-24T21:00:00.000Z
    sections:
      chatbot: True
      double_pairing_hidden: True
      epp_enabled: False
    series: tundra
    topics:
      publish:
      subscribe:
        - $aws/events/presence/disconnected/xx-xx-xx-xx-xx-xx
        - $aws/events/presence/connected/xx-xx-xx-xx-xx-xx
        - haier/things/xx-xx-xx-xx-xx-xx/event/appliancestatus/update
        - haier/things/xx-xx-xx-xx-xx-xx/event/discovery/update
    unitConfiguration: 1to1
  attributes:
    activity:
      activityExecutionStarted: 2023-06-08 20:54:51
      activityStarted: 2023-06-08T20:54:51Z
      applianceTypeName: AC
      attributes:
        10degreeHeatingStatus: 0
        acType: 0
        airQuality: 0
        appVersion: 2.0.10
        ch2oCleaningStatus: 0
        ch2oValueIndoor: 0
        channel: mobileApp
        cleaningTimeStatus: 0
        co2ValueIndoor: 0
        compressorCurrent: 51.10
        compressorFrequency: 0
        compressorStatus: 0
        defrostStatus: 0
        deviceModel: exynos9820
        echoStatus: 0
        electricHeatingStatus: 0
        electricHeatingStatusIndoor: 0
        energySavePeriod: 15
        energySavingStatus: 0
        errAckFlag: 0
        expansionValveOpenDegree: 88
        fanStatusIndoor: 1
        fanStatusOutdoor: 2
        filterChangeStatusCloud: 0
        fourWayValveStatus: 2
        freshAirStatus: 0
        halfDegreeSettingStatus: 0
        healthMode: 0
        heatAccumulationStatus: 0
        humanSensingStatus: 0
        humidificationStatus: 0
        humidityIndoor: 0
        humiditySel: 30
        intelligenceStatus: 0
        lightStatus: 0
        lockStatus: 0
        machMode: 2
        machineModeHK: 0
        mobileOs: android
        muteStatus: 0
        operationSource: 1
        origin: standardProgram
        osVersion: 31
        pm2p5CleaningStatus: 0
        pm2p5LevelIndoor: 0
        pm2p5ValueIndoor: 0
        pm2p5ValueOutdoor: 0
        pmvStatus: 0
        power: 0
        principalUserId: 0016800000ETo7bAAD
        programFamily: [standard]
        rapidMode: 0
        screenDisplayStatus: 1
        selfCleaning56Status: 0
        selfCleaningStatus: 0
        sensingResult: 0
        silentSleepStatus: 0
        specialMode: 0
        tempAirOutdoor: 38
        tempCoilerIndoor: 18.00
        tempCoilerOutdoor: 24
        tempDefrostOutdoor: -64
        tempInAirOutdoor: -64
        tempIndoor: 25.00
        tempOutdoor: 24.00
        tempSel: 22
        tempUnit: 0
        vocValueIndoor: 0
        voiceSignStatus: 0
        voiceStatus: 0
        windDirectionHorizontal: 0
        windDirectionVertical: 2
        windSensingStatus: 0
        windSpeed: 5
      category: CYCLE
      macAddress: xx-xx-xx-xx-xx-xx
      resultCode: 0
      ttl: 1694033691
    commandHistory:
      command:
        ancillaryParameters:
          programFamily: [standard]
          remoteActionable: 1
          remoteVisible: 1
        applianceOptions:
        applianceType: AC
        attributes:
          channel: mobileApp
          energyLabel: 0
          origin: standardProgram
        commandName: startProgram
        device:
          appVersion: 2.0.10
          deviceModel: exynos9820
          mobileId: e7d08c4132795ef6
          mobileOs: android
          osVersion: 31
        macAddress: xx-xx-xx-xx-xx-xx
        parameters:
          10degreeHeatingStatus: 0
          ch2oCleaningStatus: 0
          cleaningTimeStatus: 0
          echoStatus: 0
          electricHeatingStatus: 0
          energySavePeriod: 15
          energySavingStatus: 0
          filterChangeStatusCloud: 0
          freshAirStatus: 0
          halfDegreeSettingStatus: 0
          healthMode: 0
          heatAccumulationStatus: 0
          humanSensingStatus: 0
          humidificationStatus: 0
          humiditySel: 30
          intelligenceStatus: 0
          lightStatus: 0
          lockStatus: 0
          machMode: 2
          muteStatus: 0
          onOffStatus: 1
          operationName: grSetDAC
          pm2p5CleaningStatus: 0
          pmvStatus: 0
          rapidMode: 0
          screenDisplayStatus: 1
          selfCleaning56Status: 0
          selfCleaningStatus: 0
          silentSleepStatus: 0
          specialMode: 0
          tempSel: 22
          tempUnit: 0
          voiceSignStatus: 0
          voiceStatus: 0
          windDirectionHorizontal: 0
          windDirectionVertical: 5
          windSensingStatus: 0
          windSpeed: 5
        timestamp: 2023-06-08T20:52:41.347Z
        transactionId: xx-xx-xx-xx-xx-xx_2023-06-08T20:52:41.347Z
    lastConnEvent:
      category: CONNECTED
      instantTime: 2023-06-08T10:43:02Z
      macAddress: xx-xx-xx-xx-xx-xx
      timestampEvent: 1686220982658
    parameters:
      10degreeHeatingStatus: 0
      acType: 0
      airQuality: 0
      ch2oCleaningStatus: 0
      ch2oValueIndoor: 0
      co2ValueIndoor: 0
      compressorCurrent: 51.10
      compressorFrequency: 35
      compressorStatus: 1
      debugEnabled: 0
      defrostStatus: 0
      echoStatus: 0
      electricHeatingStatus: 0
      electricHeatingStatusIndoor: 0
      energySavePeriod: 15
      energySavingStatus: 0
      errAckFlag: 0
      errCode: 0
      errors: 00
      expansionValveOpenDegree: 88
      fanStatusIndoor: 1
      fanStatusOutdoor: 2
      filterChangeStatusLocal: 0
      fourWayValveStatus: 2
      freshAirStatus: 0
      halfDegreeSettingStatus: 0
      healthMode: 0
      heatAccumulationStatus: 0
      highTransRate: 1
      humanSensingStatus: 0
      humidificationStatus: 0
      humidityIndoor: 0
      humiditySel: 30
      intelligenceStatus: 0
      lightStatus: 0
      lockStatus: 0
      machMode: 1
      machineModeHK: 0
      muteStatus: 0
      onOffStatus: 1
      operationSource: 1
      pm2p5CleaningStatus: 0
      pm2p5LevelIndoor: 0
      pm2p5ValueIndoor: 0
      pm2p5ValueOutdoor: 0
      pmvStatus: 0
      power: 0
      rapidMode: 0
      screenDisplayStatus: 1
      selfCleaning56Status: 0
      selfCleaningStatus: 0
      sensingResult: 0
      silentSleepStatus: 0
      specialMode: 0
      statusSyncRate: 1440
      stdTransRate: 3600
      tempAirOutdoor: 41
      tempCoilerIndoor: 11.00
      tempCoilerOutdoor: 28
      tempDefrostOutdoor: -64
      tempInAirOutdoor: -64
      tempIndoor: 24.00
      tempOutdoor: 24.00
      tempSel: 24.00
      tempUnit: 0
      totalElectricityUsed: 0
      totalWorkTime: 0
      transMode: 0
      vocValueIndoor: 0
      voiceSignStatus: 0
      voiceStatus: 0
      windDirectionHorizontal: 0
      windDirectionVertical: 2
      windSensingStatus: 0
      windSpeed: 3
    resultCode: 0
  settings:
    ancillaryParameters:
      programRules: {'selfCleaningStatus': {'$installationType': {'1to2': {'typology': 'fixed', 'fixedValue': '0'}, '1toN': {'typology': 'fixed', 'fixedValue': '0'}}}, 'selfCleaning56Status': {'$installationType': {'1to1': {'typology': 'fixed', 'fixedValue': '0'}, '1to2': {'typology': 'fixed', 'fixedValue': '0'}, '1toN': {'typology': 'fixed', 'fixedValue': '0'}}}}
    custom:
      category: setParameters
    parameters:
      10degreeHeatingStatus: 0
      ch2oCleaningStatus: 0
      cleaningTimeStatus: 0
      echoStatus: 0
      electricHeatingStatus: 0
      energySavePeriod: 15
      energySavingStatus: 0
      filterChangeStatusCloud: 0
      freshAirStatus: 0
      halfDegreeSettingStatus: 0
      healthMode: 0
      heatAccumulationStatus: 0
      humanSensingStatus: 0
      humidificationStatus: 0
      humiditySel: 30
      intelligenceStatus: 0
      lightStatus: 0
      lockStatus: 0
      machMode: 0
      muteStatus: 0
      onOffStatus: 1
      operationName: grSetDAC
      pm2p5CleaningStatus: 0
      pmvStatus: 0
      rapidMode: 0
      screenDisplayStatus: 1
      selfCleaning56Status: 0
      selfCleaningStatus: 0
      silentSleepStatus: 0
      specialMode: 0
      tempSel: 22
      tempUnit: 0
      voiceSignStatus: 0
      voiceStatus: 0
      windDirectionHorizontal: 0
      windDirectionVertical: 5
      windSensingStatus: 0
      windSpeed: 5
  startProgram:
    ancillaryParameters:
      programRules: {'selfCleaningStatus': {'$installationType': {'1to2': {'typology': 'fixed', 'fixedValue': '0'}, '1toN': {'typology': 'fixed', 'fixedValue': '0'}}}, 'selfCleaning56Status': {'$installationType': {'1to1': {'typology': 'fixed', 'fixedValue': '0'}, '1to2': {'typology': 'fixed', 'fixedValue': '0'}, '1toN': {'typology': 'fixed', 'fixedValue': '0'}}}}
      remoteActionable: 1
      remoteVisible: 0
    custom:
      program: iot_simple_start
    parameters:
      10degreeHeatingStatus: 0
      ch2oCleaningStatus: 0
      cleaningTimeStatus: 0
      echoStatus: 0
      electricHeatingStatus: 0
      energySavePeriod: 15
      energySavingStatus: 0
      filterChangeStatusCloud: 0
      freshAirStatus: 0
      halfDegreeSettingStatus: 0
      healthMode: 0
      heatAccumulationStatus: 0
      humanSensingStatus: 0
      humidificationStatus: 0
      humiditySel: 30
      intelligenceStatus: 0
      lightStatus: 0
      lockStatus: 0
      machMode: 2
      muteStatus: 0
      onOffStatus: 1
      operationName: grSetDAC
      pm2p5CleaningStatus: 0
      pmvStatus: 0
      rapidMode: 0
      screenDisplayStatus: 1
      selfCleaning56Status: 0
      selfCleaningStatus: 0
      silentSleepStatus: 0
      specialMode: 0
      tempSel: 22
      tempUnit: 0
      voiceSignStatus: 0
      voiceStatus: 0
      windDirectionHorizontal: 0
      windDirectionVertical: 5
      windSensingStatus: 0
      windSpeed: 5
  statistics:
    mostUsedPrograms:
      - count: 260
        prCode: None
        programName: PROGRAMS.AC.HOME_ASSISTANT
      - count: 3
        prCode: None
        programName: PROGRAMS.AC.IOT_COOL
    mostUsedRecipes:
    programsCounter: 0
  stopProgram:
    parameters:
      10degreeHeatingStatus: 0
      ch2oCleaningStatus: 0
      cleaningTimeStatus: 0
      echoStatus: 0
      electricHeatingStatus: 0
      energySavePeriod: 15
      energySavingStatus: 0
      filterChangeStatusCloud: 0
      freshAirStatus: 0
      halfDegreeSettingStatus: 0
      healthMode: 0
      heatAccumulationStatus: 0
      humanSensingStatus: 0
      humidificationStatus: 0
      humiditySel: 30
      intelligenceStatus: 0
      lightStatus: 0
      lockStatus: 0
      machMode: 0
      muteStatus: 0
      onOffStatus: 0
      operationName: grSetDAC
      pm2p5CleaningStatus: 0
      pmvStatus: 0
      rapidMode: 0
      screenDisplayStatus: 1
      selfCleaning56Status: 0
      selfCleaningStatus: 0
      silentSleepStatus: 0
      specialMode: 0
      tempSel: 22
      tempUnit: 0
      voiceSignStatus: 0
      voiceStatus: 0
      windDirectionHorizontal: 0
      windDirectionVertical: 5
      windSensingStatus: 0
      windSpeed: 5
commands:
  settings:
    10degreeHeatingStatus:
      max: 1
      min: 0
      step: 1
    category:
      - setConfig
      - setParameters
    echoStatus:
      max: 1
      min: 0
      step: 1
    machMode:
      - 0
      - 1
      - 2
      - 4
      - 6
    muteStatus:
      max: 1
      min: 0
      step: 1
    rapidMode:
      max: 1
      min: 0
      step: 1
    screenDisplayStatus:
      max: 1
      min: 0
      step: 1
    selfCleaningStatus:
      max: 1
      min: 0
      step: 1
    silentSleepStatus:
      max: 1
      min: 0
      step: 1
    tempSel:
      max: 30
      min: 16
      step: 1
    windDirectionVertical:
      - 2
      - 4
      - 5
      - 6
      - 7
      - 8
    windSpeed:
      - 1
      - 2
      - 3
      - 5
  startProgram:
    10degreeHeatingStatus:
      max: 1
      min: 0
      step: 1
    echoStatus:
      max: 1
      min: 0
      step: 1
    ecoMode:
      max: 1
      min: 0
      step: 1
    machMode:
      - 0
      - 1
      - 2
      - 4
      - 6
    muteStatus:
      max: 1
      min: 0
      step: 1
    program:
      - iot_10_heating
      - iot_auto
      - iot_cool
      - iot_dry
      - iot_fan
      - iot_heat
      - iot_self_clean
      - iot_simple_start
    programFamily:
      - maintenance
      - health
      - maintenance_health
    rapidMode:
      max: 1
      min: 0
      step: 1
    remoteActionable:
      max: 1
      min: 0
      step: 1
    remoteVisible:
      max: 1
      min: 0
      step: 1
    screenDisplayStatus:
      max: 1
      min: 0
      step: 1
    selfCleaningStatus:
      max: 1
      min: 0
      step: 1
    silentSleepStatus:
      max: 1
      min: 0
      step: 1
    tempSel:
      max: 30
      min: 16
      step: 1
    windDirectionVertical:
      - 2
      - 4
      - 5
      - 6
      - 7
      - 8
    windSpeed:
      - 1
      - 2
      - 3
      - 5
  stopProgram:
    10degreeHeatingStatus:
      max: 1
      min: 0
      step: 1
    echoStatus:
      max: 1
      min: 0
      step: 1
    machMode:
      - 0
      - 1
      - 2
      - 4
      - 6
    muteStatus:
      max: 1
      min: 0
      step: 1
    rapidMode:
      max: 1
      min: 0
      step: 1
    screenDisplayStatus:
      max: 1
      min: 0
      step: 1
    selfCleaningStatus:
      max: 1
      min: 0
      step: 1
    silentSleepStatus:
      max: 1
      min: 0
      step: 1
    tempSel:
      max: 30
      min: 16
      step: 1
    windDirectionVertical:
      - 2
      - 4
      - 5
      - 6
      - 7
      - 8
    windSpeed:
      - 1
      - 2
      - 3
      - 5
rules:
  startProgram:
    ecoMode:
      1:
        tempSel: None
        windDirectionVertical: None
        windSpeed: None
pyhOnVersion: 0.12.2
Andre0512 commented 11 months ago

Interesting, I think I found the issue, but I couldn't really test it. Please try version v0.8.1-beta.1, it could be working else there should be more logs now :slightly_smiling_face:

andremain commented 11 months ago

Thank you for your effort andre, however it still does not work. Here are some more logs..

andremain commented 11 months ago

This error originated from a custom integration.

Logger: pyhon.connection.api Source: custom_components/hon/climate.py:158 Integration: Haier hOn (documentation, issues) First occurred: 8:43:29 AM (8 occurrences) Last logged: 8:43:44 AM

{"payload":{"resultCode":"1","errorCode":"1000","errorDescription":"Invalid parameter: parValue"},"authInfo":{}} https://api-iot.he.services/commands/v1/send - Payload: {'ancillaryParameters': {'ecoMode': '0', 'programFamily': '[standard]', 'programRules': "{'tempSel': {'ecoMode': {'1': " "{'machMode': {'1': {'typology': " "'fixed', 'fixedValue': '26'}, '4': " "{'typology': 'fixed', 'fixedValue': " "'20'}}}}}, 'windSpeed': {'ecoMode': " "{'1': {'machMode': {'1|4': " "{'typology': 'enum', 'defaultValue': " "'1', 'enumValues': '1|2|3|5'}}}}}, " "'windDirectionVertical': {'ecoMode': " "{'1': {'machMode': {'1|4': " "{'typology': 'fixed', 'fixedValue': " "'3'}}}}}}", 'remoteActionable': '1', 'remoteVisible': '1'}, 'applianceOptions': {}, 'applianceType': 'AC', 'attributes': {'channel': 'mobileApp', 'energyLabel': '0', 'origin': 'standardProgram'}, 'commandName': 'startProgram', 'device': {'appVersion': '2.0.10', 'deviceModel': 'exynos9820', 'mobileId': '71eccab74d0ceb24', 'mobileOs': 'android', 'osVersion': 31}, 'macAddress': 'a8-48-fa-3a-da-88', 'parameters': {'10degreeHeatingStatus': '0', 'ch2oCleaningStatus': '0', 'cleaningTimeStatus': '0', 'echoStatus': '0', 'electricHeatingStatus': '0', 'energySavePeriod': '15', 'energySavingStatus': '0', 'filterChangeStatusCloud': '0', 'freshAirStatus': '0', 'halfDegreeSettingStatus': '0', 'healthMode': '0', 'heatAccumulationStatus': '0', 'humanSensingStatus': '0', 'humidificationStatus': '0', 'humiditySel': '30', 'intelligenceStatus': '0', 'lightStatus': '0', 'lockStatus': '0', 'machMode': '4', 'muteStatus': '0', 'onOffStatus': '1', 'operationName': 'grSetDAC', 'pm2p5CleaningStatus': '0', 'pmvStatus': '0', 'rapidMode': '0', 'screenDisplayStatus': '1', 'selfCleaning56Status': '0', 'selfCleaningStatus': '0', 'silentSleepStatus': '0', 'specialMode': '0', 'tempSel': '22', 'tempUnit': '0', 'voiceSignStatus': '0', 'voiceStatus': '0', 'windDirectionHorizontal': '0', 'windDirectionVertical': '5', 'windSensingStatus': '0', 'windSpeed': '5'}, 'timestamp': '2023-06-09T05:43:29.401Z', 'transactionId': 'a8-48-fa-3a-da-88_2023-06-09T05:43:29.401Z'} https://api-iot.he.services/commands/v1/send - Payload: {'ancillaryParameters': {'ecoMode': '0', 'programFamily': '[standard]', 'programRules': "{'tempSel': {'ecoMode': {'1': " "{'machMode': {'1': {'typology': " "'fixed', 'fixedValue': '26'}, '4': " "{'typology': 'fixed', 'fixedValue': " "'20'}}}}}, 'windSpeed': {'ecoMode': " "{'1': {'machMode': {'1|4': " "{'typology': 'enum', 'defaultValue': " "'1', 'enumValues': '1|2|3|5'}}}}}, " "'windDirectionVertical': {'ecoMode': " "{'1': {'machMode': {'1|4': " "{'typology': 'fixed', 'fixedValue': " "'3'}}}}}}", 'remoteActionable': '1', 'remoteVisible': '1'}, 'applianceOptions': {}, 'applianceType': 'AC', 'attributes': {'channel': 'mobileApp', 'energyLabel': '0', 'origin': 'standardProgram'}, 'commandName': 'startProgram', 'device': {'appVersion': '2.0.10', 'deviceModel': 'exynos9820', 'mobileId': '71eccab74d0ceb24', 'mobileOs': 'android', 'osVersion': 31}, 'macAddress': 'a8-48-fa-3a-da-88', 'parameters': {'10degreeHeatingStatus': '0', 'ch2oCleaningStatus': '0', 'cleaningTimeStatus': '0', 'echoStatus': '0', 'electricHeatingStatus': '0', 'energySavePeriod': '15', 'energySavingStatus': '0', 'filterChangeStatusCloud': '0', 'freshAirStatus': '0', 'halfDegreeSettingStatus': '0', 'healthMode': '0', 'heatAccumulationStatus': '0', 'humanSensingStatus': '0', 'humidificationStatus': '0', 'humiditySel': '30', 'intelligenceStatus': '0', 'lightStatus': '0', 'lockStatus': '0', 'machMode': '1', 'muteStatus': '0', 'onOffStatus': '1', 'operationName': 'grSetDAC', 'pm2p5CleaningStatus': '0', 'pmvStatus': '0', 'rapidMode': '0', 'screenDisplayStatus': '1', 'selfCleaning56Status': '0', 'selfCleaningStatus': '0', 'silentSleepStatus': '0', 'specialMode': '0', 'tempSel': '22', 'tempUnit': '0', 'voiceSignStatus': '0', 'voiceStatus': '0', 'windDirectionHorizontal': '0', 'windDirectionVertical': '5', 'windSensingStatus': '0', 'windSpeed': '5'}, 'timestamp': '2023-06-09T05:43:38.482Z', 'transactionId': 'a8-48-fa-3a-da-88_2023-06-09T05:43:38.482Z'} https://api-iot.he.services/commands/v1/send - Payload: {'ancillaryParameters': {'ecoMode': '0', 'programFamily': '[standard]', 'programRules': "{'tempSel': {'ecoMode': {'1': " "{'machMode': {'1': {'typology': " "'fixed', 'fixedValue': '26'}, '4': " "{'typology': 'fixed', 'fixedValue': " "'20'}}}}}, 'windSpeed': {'ecoMode': " "{'1': {'machMode': {'1|4': " "{'typology': 'enum', 'defaultValue': " "'1', 'enumValues': '1|2|3|5'}}}}}, " "'windDirectionVertical': {'ecoMode': " "{'1': {'machMode': {'1|4': " "{'typology': 'fixed', 'fixedValue': " "'3'}}}}}}", 'remoteActionable': '1', 'remoteVisible': '1'}, 'applianceOptions': {}, 'applianceType': 'AC', 'attributes': {'channel': 'mobileApp', 'energyLabel': '0', 'origin': 'standardProgram'}, 'commandName': 'startProgram', 'device': {'appVersion': '2.0.10', 'deviceModel': 'exynos9820', 'mobileId': '71eccab74d0ceb24', 'mobileOs': 'android', 'osVersion': 31}, 'macAddress': 'a8-48-fa-3a-da-88', 'parameters': {'10degreeHeatingStatus': '0', 'ch2oCleaningStatus': '0', 'cleaningTimeStatus': '0', 'echoStatus': '0', 'electricHeatingStatus': '0', 'energySavePeriod': '15', 'energySavingStatus': '0', 'filterChangeStatusCloud': '0', 'freshAirStatus': '0', 'halfDegreeSettingStatus': '0', 'healthMode': '0', 'heatAccumulationStatus': '0', 'humanSensingStatus': '0', 'humidificationStatus': '0', 'humiditySel': '30', 'intelligenceStatus': '0', 'lightStatus': '0', 'lockStatus': '0', 'machMode': '1', 'muteStatus': '0', 'onOffStatus': '1', 'operationName': 'grSetDAC', 'pm2p5CleaningStatus': '0', 'pmvStatus': '0', 'rapidMode': '0', 'screenDisplayStatus': '1', 'selfCleaning56Status': '0', 'selfCleaningStatus': '0', 'silentSleepStatus': '0', 'specialMode': '0', 'tempSel': '22', 'tempUnit': '0', 'voiceSignStatus': '0', 'voiceStatus': '0', 'windDirectionHorizontal': '0', 'windDirectionVertical': '5', 'windSensingStatus': '0', 'windSpeed': '5'}, 'timestamp': '2023-06-09T05:43:43.543Z', 'transactionId': 'a8-48-fa-3a-da-88_2023-06-09T05:43:43.543Z'} https://api-iot.he.services/commands/v1/send - Payload: {'ancillaryParameters': {'ecoMode': '0', 'programFamily': '[standard]', 'programRules': "{'tempSel': {'ecoMode': {'1': " "{'machMode': {'1': {'typology': " "'fixed', 'fixedValue': '26'}, '4': " "{'typology': 'fixed', 'fixedValue': " "'20'}}}}}, 'windSpeed': {'ecoMode': " "{'1': {'machMode': {'1|4': " "{'typology': 'enum', 'defaultValue': " "'1', 'enumValues': '1|2|3|5'}}}}}, " "'windDirectionVertical': {'ecoMode': " "{'1': {'machMode': {'1|4': " "{'typology': 'fixed', 'fixedValue': " "'3'}}}}}}", 'remoteActionable': '1', 'remoteVisible': '1'}, 'applianceOptions': {}, 'applianceType': 'AC', 'attributes': {'channel': 'mobileApp', 'energyLabel': '0', 'origin': 'standardProgram'}, 'commandName': 'startProgram', 'device': {'appVersion': '2.0.10', 'deviceModel': 'exynos9820', 'mobileId': '71eccab74d0ceb24', 'mobileOs': 'android', 'osVersion': 31}, 'macAddress': 'a8-48-fa-3a-da-88', 'parameters': {'10degreeHeatingStatus': '0', 'ch2oCleaningStatus': '0', 'cleaningTimeStatus': '0', 'echoStatus': '0', 'electricHeatingStatus': '0', 'energySavePeriod': '15', 'energySavingStatus': '0', 'filterChangeStatusCloud': '0', 'freshAirStatus': '0', 'halfDegreeSettingStatus': '0', 'healthMode': '0', 'heatAccumulationStatus': '0', 'humanSensingStatus': '0', 'humidificationStatus': '0', 'humiditySel': '30', 'intelligenceStatus': '0', 'lightStatus': '0', 'lockStatus': '0', 'machMode': '1', 'muteStatus': '0', 'onOffStatus': '1', 'operationName': 'grSetDAC', 'pm2p5CleaningStatus': '0', 'pmvStatus': '0', 'rapidMode': '0', 'screenDisplayStatus': '1', 'selfCleaning56Status': '0', 'selfCleaningStatus': '0', 'silentSleepStatus': '0', 'specialMode': '0', 'tempSel': '22', 'tempUnit': '0', 'voiceSignStatus': '0', 'voiceStatus': '0', 'windDirectionHorizontal': '0', 'windDirectionVertical': '5', 'windSensingStatus': '0', 'windSpeed': '5'}, 'timestamp': '2023-06-09T05:43:43.795Z', 'transactionId': 'a8-48-fa-3a-da-88_2023-06-09T05:43:43.795Z'}

andremain commented 11 months ago

Logger: homeassistant.components.websocket_api.http.connection Source: custom_components/hon/climate.py:158 Integration: Home Assistant WebSocket API (documentation, issues) First occurred: 8:43:29 AM (4 occurrences) Last logged: 8:43:44 AM

[140602509897488] Can't send command Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 205, in handle_call_service await hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 1910, in async_call task.result() File "/usr/src/homeassistant/homeassistant/core.py", line 1950, in _execute_service await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)( File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 226, in handle_service await service.entity_service_call( File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 811, in entity_service_call future.result() # pop exception if have ^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1034, in async_request_call await coro File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 851, in _handle_entity_call await result File "/config/custom_components/hon/climate.py", line 158, in async_set_hvac_mode await self._device.commands[command].send() File "/usr/local/lib/python3.11/site-packages/pyhon/commands.py", line 119, in send raise ApiError("Can't send command") pyhon.exceptions.ApiError: Can't send command

Andre0512 commented 11 months ago

So the hOn server answers that a value is wrong, but don't specify which one. It's hard to find the right, but I think it could be programRules, can you please try v0.8.1?

andremain commented 11 months ago

Moving to beta 9.1 seems to have fixed the issue! However the changes feel a bit sluggish tbh. The changes are performed on the ac side, on ha it changes back to the previous state and after a few seconds, ha finally switches to the function originally set to.

Andre0512 commented 10 months ago

With the latest beta, this should be works better now. Thanks for reporting!