Giter VIP home page Giter VIP logo

Comments (23)

steveredden avatar steveredden commented on August 20, 2024 1

Did a full deletion of the integration + entities. Re-did the integration.

Serials seem different:

image

Things seem to be working now!

Only remaining errors are:

2021-08-08 13:43:29 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/ge_home/update_coordinator.py", line 266, in on_device_update
entity.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 457, in async_write_ha_state
raise RuntimeError(f"Attribute hass is None for {self}")
RuntimeError: Attribute hass is None for <Entity DS100880G Laundry Delay Time Remaining: >

2021-08-08 13:43:29 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/ge_home/update_coordinator.py", line 266, in on_device_update
entity.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 457, in async_write_ha_state
raise RuntimeError(f"Attribute hass is None for {self}")
RuntimeError: Attribute hass is None for <Entity DS100880G Laundry Machine State: Off>

2021-08-08 13:43:32 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/ge_home/update_coordinator.py", line 266, in on_device_update
entity.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 457, in async_write_ha_state
raise RuntimeError(f"Attribute hass is None for {self}")
RuntimeError: Attribute hass is None for <Entity SR371810N Laundry Delay Time Remaining: >

2021-08-08 13:43:32 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/ge_home/update_coordinator.py", line 266, in on_device_update
entity.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 457, in async_write_ha_state
raise RuntimeError(f"Attribute hass is None for {self}")
RuntimeError: Attribute hass is None for <Entity SR371810N Laundry Delay Time Remaining: >

So:
Dryer.Delay Time
Dryer.State
Washer.State

Unsure if they're worth investigating in a different issue, because this one seems to be ready to close!

from ha_gehome.

steveredden avatar steveredden commented on August 20, 2024

Dryer door (same erd 0x2012) does not get picked up either.

...
2021-08-06 10:05:22,725 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C95D21C9","erd":"0x2012","time":"2021-08-06T15:05:21.335Z","value":"00"},"resource":"/appliance/D828C95D21C9/erd/0x2012","kind":"publish#erd","userId":"a7o71pz52pf8cxi"}', rsv1=False, rsv2=False, rsv3=False)
2021-08-06 10:05:22,726 DEBUG    Setting ErdCode.LAUNDRY_DOOR to ErdLaundryDoorStatus.OPEN
2021-08-06 10:05:22,726 DEBUG    Appliance state change detected in GeAppliance(D828C95D21C9) (ErdApplianceType.DRYER). Updated keys: ErdCode.LAUNDRY_DOOR
...
2021-08-06 10:05:32,895 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C95D21C9","erd":"0x2012","time":"2021-08-06T15:05:31.586Z","value":"01"},"resource":"/appliance/D828C95D21C9/erd/0x2012","kind":"publish#erd","userId":"a7o71pz52pf8cxi"}', rsv1=False, rsv2=False, rsv3=False)
2021-08-06 10:05:32,910 DEBUG    Setting ErdCode.LAUNDRY_DOOR to ErdLaundryDoorStatus.CLOSED
2021-08-06 10:05:32,910 DEBUG    Appliance state change detected in GeAppliance(D828C95D21C9) (ErdApplianceType.DRYER). Updated keys: ErdCode.LAUNDRY_DOOR
...

image

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

It looks like this is a bad comparison in the "boolify" method for door status in the SDK. I've made the fix there and it'll be applied in the dev version/next release when the newer SDK version is incorporated. The same issue applied to multiple binary sensors, so those should be resolved as well.

I've been mainly delegating the laundry stuff, but would be happy to add any missing sensors that have been identified in the SDK that aren't yet in the HA integration. Let me know which ones you're interested in and I'll make sure it gets into the next version.

from ha_gehome.

steveredden avatar steveredden commented on August 20, 2024

Thank you - that is awesome! What repo is that? I don’t see the changes.

lmk if you need any other logs or info in the future, I clearly have the accessories ;)

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

The commits should be visible in the simbaja\gehome repo. I haven't re-packaged yet, but once I do, and update HA use the new version, they should appear in the integration. I'll post a message here when the "dev" branch of the integration is updated with this fix.

There's actually one thing that I'm looking into based on another user's comment. It looks like the LAUNDRY_DELAY_TIME_REMAINING value was being misinterpreted. I've changed it in the code to be interpreted as minutes (instead of seconds). Can you set it to a few different values so I can confirm the new interpretation is correct?

from ha_gehome.

steveredden avatar steveredden commented on August 20, 2024

It's "minutes" in hex:

Set it to 1H and now:

2021-08-07 09:41:46,308 DEBUG    client < Frame(fin=True, opcode=<Opcode.TEXT: 1>, data=b'{"item":{"applianceId":"D828C95D21C9","erd":"0x2010","time":"2021-08-07T14:41:45.147Z","value":"003B"},"resource":"/appliance/D828C95D21C9/erd/0x2010","kind":"publish#erd","userId":"a7o71pz52pf8cxi"}', rsv1=False, rsv2=False, rsv3=False)
2021-08-07 09:41:46,312 DEBUG    Setting ErdCode.LAUNDRY_DELAY_TIME_REMAINING to 0:00:59
2021-08-07 09:41:46,312 DEBUG    Appliance state change detected in GeAppliance(D828C95D21C9) (ErdApplianceType.DRYER). Updated keys: ErdCode.LAUNDRY_DELAY_TIME_REMAINING

sorted by time:

erd    value                                                            time
---    -----                                                            ----
0x2010 003B                                                             2021-08-07T14:41:45.147Z
0x2000 06                                                               2021-08-07T14:40:45.801Z
0x2012 01                                                               2021-08-07T14:40:45.801Z
0x2039 01                                                               2021-08-07T14:40:45.801Z
0x2007 04DB                                                             2021-08-07T14:27:29.810Z
0x204D 01                                                               2021-08-07T14:27:22.713Z
0x2002 00                                                               2021-08-06T15:04:30.072Z
0x2001 00                                                               2021-08-06T15:02:07.492Z
0x201C 00                                                               2021-08-06T14:23:51.846Z
0x2050 04                                                               2021-08-06T14:23:46.650Z
0x200A 89                                                               2021-08-06T14:23:42.266Z
0x2053 00                                                               2021-08-05T04:11:45.976Z
0x2052 0003                                                             2021-08-05T04:11:45.976Z
0x2022 0000000000                                                       2021-08-05T04:11:45.976Z
0x206F 00                                                               2021-08-05T04:11:45.976Z
0x2023 0000                                                             2021-08-05T04:11:45.976Z
0x2040 FF                                                               2021-08-05T04:11:45.976Z
0x2038 FFFF                                                             2021-08-05T04:11:45.976Z
0x2051 FF                                                               2021-08-05T04:11:45.976Z
0x2041 FF                                                               2021-08-05T04:11:45.976Z
0x0099 00                                                               2021-08-05T04:11:45.976Z
0x0100 00000B27                                                         2021-08-05T04:11:45.976Z
0x0101 00000000                                                         2021-08-05T04:11:45.976Z
0x0002 0944533130303838304700000000000000000000000000000000000000000000 2021-08-05T04:11:45.976Z
0x0008 01                                                               2021-08-05T04:11:45.976Z
0x0035 00000001                                                         2021-08-05T04:11:45.976Z
0x0105 00                                                               2021-08-05T04:11:45.976Z
0x0001 0C47464435354553534E30575700000000000000000000000000000000000000 2021-08-05T04:11:45.976Z
0x201D 00                                                               2021-08-05T04:11:45.976Z
0x0102 00                                                               2021-08-05T04:11:45.976Z
0x0103 01000352                                                         2021-08-05T04:11:45.976Z
0x0104 00000000                                                         2021-08-05T04:11:45.976Z

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

excellent, thanks for the confirmation!

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

Can you check the "dev" branch and see if it resolves the issues? I think I found them all, but let me know if you spot anything else. Thanks for your help on this!

from ha_gehome.

steveredden avatar steveredden commented on August 20, 2024

is there an easy way to expose the dev branch to HACS?

image

Would be easier than manually moving the repo

I will try it out now, replacing the dir via SMB

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

I'm actually not sure, I don't think HACS allows for branches other than master. I guess maybe I can create a release from dev?

from ha_gehome.

steveredden avatar steveredden commented on August 20, 2024

It's fine - downloading the dev as zip and replacing the entire dir in my exposed SMB share is easy enough.

from ha_gehome.

steveredden avatar steveredden commented on August 20, 2024

Still no luck on the door sensors. Pulled your new master of sdk and websockets example still finds the state change. But no change in ha when trying the dev branch + core reset

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

That's so odd - it should be fixed with the newest. I've just created a new "dev" release. Can you try that (also, can you confirm it shows up in HACS?)

from ha_gehome.

steveredden avatar steveredden commented on August 20, 2024

installed v0.4.3-dev0 via HACs.
Rebooted Core

Tried opening and closing with the machine both powered on and off.

Then when on, opened the door, and while open changed the cycle. Those all got picked up:

image

And door has been a sad forever-Closed :(
image

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

Well, good news is that I can post new versions from Dev so that'll be a little easier for some. Let me look through things again, maybe I missed something else.

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

I really don't see the problem, I've traced a bunch of things... very odd. If you're up for a little debugging, we can try to see what's going on in HA:

in ge_home/entities/common/ge_erd_binary_sensor, if you go to line 20 (in the is_on property), and add

        if self.erd_code == ErdCode.LAUNDRY_DOOR:
            Logger.warn(f"LAUNDRY_DOOR value: {self.appliance.get_erd_value(self.erd_code)}")
            Logger.warn(f"LAUNDRY_DOOR value (boolified): {self.appliance.get_erd_value(self.erd_code).boolify()}")

in the first line of that file, also add

from logging import Logger

These warnings should then be available in your HA log and we can see what the values are. Might give us insight into what's happening.

from ha_gehome.

steveredden avatar steveredden commented on August 20, 2024
Logger: homeassistant.components.binary_sensor
Source: custom_components/ge_home/entities/common/ge_erd_binary_sensor.py:22
Integration: Binary sensor (documentation, issues)
First occurred: 12:26:31 PM (2 occurrences)
Last logged: 12:26:31 PM

Error adding entities for domain binary_sensor with platform ge_home
Error while setting up ge_home platform for binary_sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 382, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 503, in _async_add_entity
    original_icon=entity.icon,
  File "/config/custom_components/ge_home/entities/common/ge_entity.py", line 55, in icon
    return self._get_icon()
  File "/config/custom_components/ge_home/entities/common/ge_erd_binary_sensor.py", line 33, in _get_icon
    return "mdi:door-open" if self.is_on else "mdi:door-closed"
  File "/config/custom_components/ge_home/entities/common/ge_erd_binary_sensor.py", line 22, in is_on
    Logger.warn(f"LAUNDRY_DOOR value: {self.appliance.get_erd_value(self.erd_code)}")
TypeError: warn() missing 1 required positional argument: 'msg'

guess i'll try Logger.Warning() instead...

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

Try:

        if self.erd_code == ErdCode.LAUNDRY_DOOR:
            logging.warning(f"LAUNDRY_DOOR value: {self.appliance.get_erd_value(self.erd_code)}")
            logging.warning(f"LAUNDRY_DOOR value (boolified): {self.appliance.get_erd_value(self.erd_code).boolify()}")

Sorry, forgot which one logged directly to the root logger...

from ha_gehome.

steveredden avatar steveredden commented on August 20, 2024

Do i need to init a 'logging' object somewhere?

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 382, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 503, in _async_add_entity
    original_icon=entity.icon,
  File "/config/custom_components/ge_home/entities/common/ge_entity.py", line 55, in icon
    return self._get_icon()
  File "/config/custom_components/ge_home/entities/common/ge_erd_binary_sensor.py", line 35, in _get_icon
    return "mdi:door-open" if self.is_on else "mdi:door-closed"
  File "/config/custom_components/ge_home/entities/common/ge_erd_binary_sensor.py", line 23, in is_on
    logging.warning(f"LAUNDRY_DOOR value: {self.appliance.get_erd_value(self.erd_code)}")
NameError: name 'logging' is not defined

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

Crap, should have changed the import line too:

Put this at the top of the file:

import logging

from ha_gehome.

steveredden avatar steveredden commented on August 20, 2024

On startup:

image

On 'reload' of integration with the door already-open:

2021-08-08 13:03:20 WARNING (MainThread) [root] LAUNDRY_DOOR value: ErdLaundryDoorStatus.OPEN
2021-08-08 13:03:20 WARNING (MainThread) [root] LAUNDRY_DOOR value (boolified): True
2021-08-08 13:03:20 WARNING (MainThread) [root] LAUNDRY_DOOR value: ErdLaundryDoorStatus.OPEN
2021-08-08 13:03:20 WARNING (MainThread) [root] LAUNDRY_DOOR value (boolified): True
2021-08-08 13:03:20 WARNING (MainThread) [root] LAUNDRY_DOOR value: ErdLaundryDoorStatus.OPEN
2021-08-08 13:03:20 WARNING (MainThread) [root] LAUNDRY_DOOR value (boolified): True

image

It doesn't seem to ever get the 'state-change' notification when the door is open, though... the action is not triggering whatever event is watching for it...

I have since closed the door and no update triggered.

I ammmm getting flooded with many (139) Task exception was never retrieved:

image

Is there a break in there that would prevent it from updating?

Something i'm missing or haven't cleared out since upgrading to the new version?

139 times:

Logger: homeassistant
Source: helpers/entity.py:457
First occurred: 12:56:30 PM (139 occurrences)
Last logged: 1:07:49 PM

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/ge_home/update_coordinator.py", line 266, in on_device_update
    entity.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 457, in async_write_ha_state
    raise RuntimeError(f"Attribute hass is None for {self}")
RuntimeError: Attribute hass is None for <Entity DS100880G Laundry Machine State: Run>

4 times:

Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:566
Integration: Sensor (documentation, issues)
First occurred: 1:03:21 PM (4 occurrences)
Last logged: 1:03:21 PM

Platform ge_home does not generate unique IDs. ID ge_home_DS100880G_laundry_machine_state already exists - ignoring sensor.ds100880g_laundry_machine_state
Platform ge_home does not generate unique IDs. ID ge_home_DS100880G_laundry_cycle already exists - ignoring sensor.ds100880g_laundry_cycle
Platform ge_home does not generate unique IDs. ID ge_home_DS100880G_laundry_sub_cycle already exists - ignoring sensor.ds100880g_laundry_sub_cycle
Platform ge_home does not generate unique IDs. ID ge_home_DS100880G_laundry_time_remaining already exists - ignoring sensor.ds100880g_laundry_time_remaining

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

hmm... couple possibilities:

  1. We reorganized the laundry stuff and you might need to remove the integration, remove any leftover entities, then re-add the integration. Not sure if that's the problem, but can't hurt to try.
  2. Is it possible that your laundry machine and dryer have the same serial somehow? some of the codes are common between laundry/dryer.

Also, based on this, the sdk and low-level code seems to be working. Would suspect that it's those errors that you're seeing. Basically, it does updates in a sequence and the door would be after some of those other codes.

from ha_gehome.

simbaja avatar simbaja commented on August 20, 2024

Closing and opening new issue for newest problems.

from ha_gehome.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.