hon icon indicating copy to clipboard operation
hon copied to clipboard

home assistant does not get notified of dryer connected on 0.14.0

Open erpayo opened this issue 10 months ago • 6 comments

Describe the bug When turning on the dryer and selecting de hOn "program" home assistant keeps reporting dryer disconnected preventing to send commands to the dryer

To Reproduce Steps to reproduce the behavior:

  1. Turn on tumble dryer
  2. select hon "program"
  3. wait until dryer connects to wifi and shows "hon" on screen
  4. look into home assistant hon dryer and it remains disconnected

Expected behavior Home assistant dryer device connection status should say "connected"

Environment (please complete the following information):

  • Home Assistant Version: 2024.3.1
  • hOn Integration Version 0.14.0-beta.3
  • pyhOn Version 0.17.1

Additional context Before updating to new version with push api it was working ok forcing a home assistant hon integration reload refreshes connection status and allows to device operation

Device Log

data:
  additional_data:
    dictionaryId: 203
    options: hybrid
  appliance:
    PK: user#eu-west-1:6ff1c98a-aa1e-47e7-8358-637e9c9963c1
    SK: app#xx-xx-xx-xx-xx-xx
    applianceId: xx-xx-xx-xx-xx-xx#1970-01-01T00:00:00.0Z
    applianceModelId: 1009
    applianceStatus: 1
    applianceTypeId: 8
    applianceTypeName: TD
    attributes:
      acuVersion: 0.0.0
      chipset: 1
      dictionaryId: 203
      eppParserSet: 1
      fwLabel: iotfw_epp
      idfVersion: 4.4.4
      kernelVersion: 10.4.3
      lang: it-IT
      uiVersion: 21.09.17
    brand: haier
    code: CF0674E0200
    connectivity: wifi|ble
    defaultWarrantyYears: 3
    eepromId: 41
    eepromName: no_eeprom
    enrollmentDate: 1970-01-01T00:00:00.0Z
    firstEnrollment: True
    firstEnrollmentTBC: True
    fwVersion: 5.15.0
    id: 1009
    lastUpdate: 1970-01-01T00:00:00.0Z
    macAddress: xx-xx-xx-xx-xx-xx
    modelName: HD90-A3959 INT
    nickName: Secadora
    purchaseDate: 1970-01-01T00:00:00.0Z
    sections:
      chatbot: True
      double_pairing_hidden: True
      ecoDelayStart: True
      snap_wash: True
    series: 959
    structure: heatpump
    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
  attributes:
    active: True
    activity:
    commandHistory:
      command:
        ancillaryParameters:
          energyLabel: 4
          prPosition: 2
          programCluster: traditional
          programFamily: [dashboard|auto]
          programType: D
          remoteActionable: 1
          remoteVisible: 1
          suggestedLoadD: 4.5
          tumblingStatus: 0
        applianceOptions:
          opt1: anticrease
          opt2: dryingManager
          opt3: bestIroning
          opt4: hybrid
        applianceType: TD
        attributes:
          channel: mobileApp
          energyLabel: 0
          origin: standardProgram
        commandName: startProgram
        device:
          appVersion: 2.6.5
          deviceModel: pyhOn
          mobileId: homassistant
          mobileOs: android
          osVersion: 999
        macAddress: xx-xx-xx-xx-xx-xx
        parameters:
          airWashMode: 1
          airwashSprayTime: 0
          anionStatus: 0
          antiCreaseTime: 0
          buzzerDisabled: 1
          cloudProgId: 255
          cloudProgSrc: 2
          delayTime: 0
          delicateStatus: 0
          dryLevel: 13
          dryMode: 1
          dryTimeMM: 0
          fastDryStatus: 0
          ironRemindStatus: 1
          lockStatus: 0
          mitesRemovalStatus: 0
          onOffStatus: 1
          operationName: grDryCloudProg
          pause: 0
          prCode: 63
          programClass: 1
          sterilizationStatus: 0
          tempLevel: 3
          texture: 64
        programName: PROGRAMS.TD.HQD_SYNTHETICS
        timestamp: 1970-01-01T00:00:00.0Z
        transactionId: xx-xx-xx-xx-xx-xx_1970-01-01T00:00:00.0Z
      timestampAccepted: 1970-01-01T00:00:00.0Z
      timestampExecuted: 1970-01-01T00:00:00.0Z
    lastConnEvent:
      category: CONNECTED
      instantTime: 1970-01-01T00:00:00.0Z
      macAddress: xx-xx-xx-xx-xx-xx
      timestampEvent: 1711572986573
    parameters:
      airWashMode: 1
      airwashSprayTime: 0
      anionStatus: 0
      antiCreaseTime: 0
      buzzerDisabled: 1
      cloudProgId: 255
      cloudProgSrc: 2
      debugEnabled: 0
      delayTime: 0
      delicateStatus: 0
      doorStatus: 0
      dryLevel: 13
      dryMode: 1
      dryTimeMM: 55
      errors: 00
      fastDryStatus: 0
      forceDelete: 0
      highTransRate: 1
      ironRemindStatus: 0
      ironingStatus: 0
      lockStatus: 0
      machMode: 2
      message: 0
      mitesRemovalStatus: 0
      onOffStatus: 1
      pause: 0
      prCode: 63
      prPhase: 19
      programClass: 1
      programStats: ;a0;9;;3;;;;;;;;2;;;;;;;;;4
      remainingStandbyTime: 961
      remainingTimeMM: 35
      remoteCtrValid: 1
      statusSyncRate: 1440
      stdTransRate: 1
      sterilizationStatus: 0
      tempLevel: 3
      texture: 64
      transMode: 0
    pause: False
    programName: No Program
    resultCode: 0
  pauseProgram:
    parameters:
      pause: 1
  resumeProgram:
    parameters:
      pause: 0
  settings:
    custom:
      category: setConfig
    parameters:
      httpEndpoint: 0
      mqttEndpoint: 0
  startProgram:
    ancillaryParameters:
      energyLabel: 4
      prPosition: 2
      programCluster: traditional
      programFamily: [dashboard|auto]
      programType: D
      remoteActionable: 1
      remoteVisible: 1
      suggestedLoadD: 4.5
      tumblingStatus: 0
    custom:
      favourite: 1
      program: Sintéticos
    parameters:
      airWashMode: 1
      airwashSprayTime: 0
      anionStatus: 0
      antiCreaseTime: 0
      buzzerDisabled: 1
      cloudProgId: 255
      cloudProgSrc: 2
      delayTime: 450
      delicateStatus: 0
      dryLevel: 13
      dryMode: 1
      dryTimeMM: 0
      fastDryStatus: 0
      ironRemindStatus: 1
      lockStatus: 0
      mitesRemovalStatus: 0
      onOffStatus: 1
      operationName: grDryCloudProg
      pause: 0
      prCode: 63
      programClass: 1
      sterilizationStatus: 0
      tempLevel: 3
      texture: 64
  statistics:
    drumCleaning:
      count: 0
      percentage: 0
      remaining: 100
      tot: 100
    filterCleaning:
      count: 0
      percentage: 0
      remaining: 15
      tot: 15
    lastCheckup: None
    loadingPercentage:
    mostUsedPrograms:
      - count: 142
        prCode: 63
        prPosition: 2
        programName: PROGRAMS.TD.HQD_SYNTHETICS
        programType: D
      - count: 17
        prCode: 63
        prPosition: 2
        programName: PROGRAMS.TD.IOT_DRY_SYNTHETICS
        programType: D
      - count: 3
        prCode: 66
        prPosition: 5
        programName: PROGRAMS.TD.HQD_BED_SHEETS
        programType: D
    programsCounter: 177
    resultCode: 0
    sprayArmsCleaning: 0
    temperatureUsage:
  stopProgram:
    parameters:
      returnStandby: 1
commands:
  settings:
    category:
      - setConfig
  startProgram:
    antiCreaseTime:
      max: 360
      min: 0
      step: 360
    delayTime:
      max: 1410
      min: 0
      step: 30
    dryLevel:
      max: 14
      min: 12
      step: 1
    dryTimeMM:
      - 15
      - 20
      - 25
      - 30
      - 35
      - 40
    energyLabel:
      max: 5
      min: 1
      step: 1
    program:
      - Algodón
      - Ropa mixta
      - Sintéticos
      - Sábanas
      - hqd_baby_care
      - hqd_bath_towel
      - hqd_bed_sheets
      - hqd_bulky
      - hqd_casual
      - hqd_cold_wind_timing
      - hqd_cotton
      - hqd_curtain
      - hqd_delicate
      - hqd_duvet
      - hqd_feather
      - hqd_hot_wind_timing
      - hqd_hygienic
      - hqd_i_refresh
      - hqd_jacket
      - hqd_jeans
      - hqd_mix
      - hqd_night_dry
      - hqd_outdoor
      - hqd_precious_cure
      - hqd_quick_30
      - hqd_quick_dry
      - hqd_quilt
      - hqd_refresh
      - hqd_shirt
      - hqd_shoes
      - hqd_silk
      - hqd_sports
      - hqd_synthetics
      - hqd_timer
      - hqd_underwear
      - hqd_wool
      - hqd_working_suit
      - iot_dry_baby
      - iot_dry_backpacks
      - iot_dry_bathrobe
      - iot_dry_bed_linen
      - iot_dry_cotton
      - iot_dry_cuddly_toys
      - iot_dry_curtains
      - iot_dry_delicates
      - iot_dry_denim_jeans
      - iot_dry_down_jacket
      - iot_dry_duvet
      - iot_dry_gym_fit
      - iot_dry_lingerie
      - iot_dry_mixed
      - iot_dry_pet_accessories
      - iot_dry_pet_hair_removal
      - iot_dry_rapid_30
      - iot_dry_rapid_59
      - iot_dry_shirts
      - iot_dry_swimsuits_and_bikinis
      - iot_dry_synthetics
      - iot_dry_tablecloths
      - iot_dry_technical_fabrics
      - iot_dry_wool
    programFamily:
      - wmsync
      - guided
      - voice
      - care
      - auto
      - wmsync_guided_voice_care_auto
    sterilizationStatus:
      max: 1
      min: 0
      step: 1
    tempLevel:
      max: 4
      min: 1
      step: 1
    tumblingStatus:
      max: 1
      min: 0
      step: 1
versions:
  hon: 0.14.0-beta.3
  pyhOn: 0.17.1

Data Archive td_1009.zip

erpayo avatar Mar 28 '24 10:03 erpayo

Hi, thanks for reporting! Should be fixed in the latest beta version :slightly_smiling_face:

Andre0512 avatar Mar 30 '24 22:03 Andre0512

installed beta 6, almost same behaviour: had to manually reload integration in order to sensor entities to get updated.

Integration did not get notified of connected status, but home assistant was able to send commands to start the drying cycle. With beta 3 it was not able to send commands.

erpayo avatar Mar 31 '24 15:03 erpayo

Hi, thanks for reporting! Should be fixed in the latest beta version 🙂

same behaviour with beta 6

FYI: the dryer is connected with DHCP with a dynamic address and I have two ISPs with a gateway doing load balancing. One of the internet connections uses CG-NAT and the other does not but the IP address on the non cgnat connection may change from time to time.

erpayo avatar Apr 03 '24 18:04 erpayo

Hi, thanks for reporting! Should be fixed in the latest beta version 🙂

same behaviour with beta 6

FYI: the dryer is connected with DHCP with a dynamic address and I have two ISPs with a gateway doing load balancing. One of the internet connections uses CG-NAT and the other does not but the IP address on the non cgnat connection may change from time to time.

I have same behavior with simple network and static WAN IP address.

drudgebg avatar Apr 09 '24 05:04 drudgebg

Same bug here, I've found out that reloading the integration gets everything reconnected

nanomad avatar May 25 '24 08:05 nanomad

Same issue here with 0.14 beta 7. Version 0.13 works fine although due to polling is quite slow, but at least it works 🫣

deezid avatar Jun 07 '24 19:06 deezid