Comments (23)
Did a full deletion of the integration + entities. Re-did the integration.
Serials seem different:
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.
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
...
from ha_gehome.
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.
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.
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.
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.
excellent, thanks for the confirmation!
from ha_gehome.
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.
is there an easy way to expose the dev branch to HACS?
Would be easier than manually moving the repo
I will try it out now, replacing the dir via SMB
from ha_gehome.
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.
It's fine - downloading the dev as zip and replacing the entire dir in my exposed SMB share is easy enough.
from ha_gehome.
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.
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.
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:
And door has been a sad forever-Closed :(
from ha_gehome.
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.
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.
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.
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.
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.
Crap, should have changed the import line too:
Put this at the top of the file:
import logging
from ha_gehome.
On startup:
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
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:
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.
hmm... couple possibilities:
- 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.
- 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.
Closing and opening new issue for newest problems.
from ha_gehome.
Related Issues (20)
- Can no longer log in HOT 3
- Is Canada supported? HOT 1
- Window AC eco mode HOT 1
- Integration no longer working HOT 2
- GE Cafe Refrigerator CGE29DP2TS1 & Refrigerator Convertiable Drawer Mode HOT 2
- Fisher & Paykel RF605QDAA (Quad Door) Fridge
- turn_on/turn_off methods without setting the proper ClimateEntityFeature
- Could not find appliance in known device list.
- Warning in Home Assistant: gehomesdk.erd.converters.specialized.erd_unit_type_converter HOT 1
- Detected that custom integration 'ge_home' calls async_forward_entry_setup for integration HOT 1
- homeassistant.components.climate - Entity implements HVACMode without setting the proper ClimateEntityFeature
- time_remaining
- Getting: Could not find appliance 0200000E33F1 in known device list. HOT 1
- Remote turn off for Laundry
- GE Window AC - Dry mode not indicated HOT 1
- Integration stuck at initializing and then error since I restarted my server. HOT 10
- Water Filter resets daily usage at 6 pm rather than midnight.
- Invalid Authentication HOT 1
- HA 2024.8.1 & ge_home -> won't initialize
- Integration Causes HA to crash on update from 2024.7 to 2024.8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ha_gehome.