mirror of https://github.com/simbaja/ha_gehome.git
- added dual dishwasher support
- updated documentation - version bumps
This commit is contained in:
parent
bda47eea1f
commit
ac005af428
|
@ -1,6 +1,13 @@
|
|||
|
||||
# GE Home Appliances (SmartHQ) Changelog
|
||||
|
||||
## 0.6.5
|
||||
|
||||
- Added beverage cooler support (@kksligh)
|
||||
- Added dual dishwasher support (@jkili)
|
||||
- Added initial espresso maker support (@datagen24)
|
||||
- Added whole home water heater support (@seantibor)
|
||||
|
||||
## 0.6.3
|
||||
|
||||
- Updated detection of invalid serial numbers (#89)
|
||||
|
|
|
@ -9,16 +9,18 @@ Integration for GE WiFi-enabled appliances into Home Assistant. This integratio
|
|||
|
||||
- Fridge
|
||||
- Oven
|
||||
- Dishwasher
|
||||
- Dishwasher / F&P Dual Dishwasher
|
||||
- Laundry (Washer/Dryer)
|
||||
- Whole Home Water Filter
|
||||
- Whole Home Water Softener
|
||||
- Whole Home Water Heater
|
||||
- A/C (Portable, Split, Window, Built-In)
|
||||
- Range Hood
|
||||
- Advantium
|
||||
- Microwave
|
||||
- Opal Ice Maker
|
||||
- Coffee Maker
|
||||
- Coffee Maker / Espresso Maker
|
||||
- Beverage Center
|
||||
|
||||
**Forked from Andrew Mark's [repository](https://github.com/ajmarks/ha_components).**
|
||||
## Updates
|
||||
|
|
|
@ -23,6 +23,7 @@ from .microwave import MicrowaveApi
|
|||
from .water_softener import WaterSoftenerApi
|
||||
from .oim import OimApi
|
||||
from .coffee_maker import CcmApi
|
||||
from .dual_dishwasher import DualDishwasherApi
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
@ -36,8 +37,12 @@ def get_appliance_api_type(appliance_type: ErdApplianceType) -> Type:
|
|||
return CooktopApi
|
||||
if appliance_type == ErdApplianceType.FRIDGE:
|
||||
return FridgeApi
|
||||
if appliance_type == ErdApplianceType.BEVERAGE_CENTER:
|
||||
return FridgeApi
|
||||
if appliance_type == ErdApplianceType.DISH_WASHER:
|
||||
return DishwasherApi
|
||||
if appliance_type == ErdApplianceType.DUAL_DISH_WASHER:
|
||||
return DualDishwasherApi
|
||||
if appliance_type == ErdApplianceType.WASHER:
|
||||
return WasherApi
|
||||
if appliance_type == ErdApplianceType.DRYER:
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
import logging
|
||||
from typing import List
|
||||
|
||||
from homeassistant.helpers.entity import Entity
|
||||
from gehomesdk.erd import ErdCode, ErdApplianceType
|
||||
|
||||
from .base import ApplianceApi
|
||||
from ..entities import GeErdSensor, GeErdBinarySensor, GeErdPropertySensor
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class DualDishwasherApi(ApplianceApi):
|
||||
"""API class for dual dishwasher objects"""
|
||||
APPLIANCE_TYPE = ErdApplianceType.DISH_WASHER
|
||||
|
||||
def get_all_entities(self) -> List[Entity]:
|
||||
base_entities = super().get_all_entities()
|
||||
|
||||
lower_entities = [
|
||||
GeErdSensor(self, ErdCode.DISHWASHER_CYCLE_STATE, erd_override="lower_cycle_state", icon_override="mdi:state-machine"),
|
||||
GeErdSensor(self, ErdCode.DISHWASHER_RINSE_AGENT, erd_override="lower_rinse_agent", icon_override="mdi:shimmer"),
|
||||
GeErdSensor(self, ErdCode.DISHWASHER_TIME_REMAINING, erd_override="lower_time_remaining"),
|
||||
GeErdBinarySensor(self, ErdCode.DISHWASHER_DOOR_STATUS, erd_override="lower_door_status"),
|
||||
|
||||
#User Setttings
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_USER_SETTING, "sound", erd_override="lower_setting", icon_override="mdi:volume-high"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_USER_SETTING, "lock_control", erd_override="lower_setting", icon_override="mdi:lock"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_USER_SETTING, "sabbath", erd_override="lower_setting", icon_override="mdi:star-david"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_USER_SETTING, "cycle_mode", erd_override="lower_setting", icon_override="mdi:state-machine"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_USER_SETTING, "presoak", erd_override="lower_setting", icon_override="mdi:water"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_USER_SETTING, "bottle_jet", erd_override="lower_setting", icon_override="mdi:bottle-tonic-outline"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_USER_SETTING, "wash_temp", erd_override="lower_setting", icon_override="mdi:coolant-temperature"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_USER_SETTING, "dry_option", erd_override="lower_setting", icon_override="mdi:fan"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_USER_SETTING, "wash_zone", erd_override="lower_setting", icon_override="mdi:dock-top"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_USER_SETTING, "delay_hours", erd_override="lower_setting", icon_override="mdi:clock-fast")
|
||||
]
|
||||
|
||||
upper_entities = [
|
||||
#GeDishwasherControlLockedSwitch(self, ErdCode.USER_INTERFACE_LOCKED),
|
||||
GeErdSensor(self, ErdCode.DISHWASHER_UPPER_CYCLE_STATE, erd_override="upper_cycle_state", icon_override="mdi:state-machine"),
|
||||
GeErdSensor(self, ErdCode.DISHWASHER_UPPER_RINSE_AGENT, erd_override="upper_rinse_agent", icon_override="mdi:shimmer"),
|
||||
GeErdSensor(self, ErdCode.DISHWASHER_UPPER_TIME_REMAINING, erd_override="upper_time_remaining"),
|
||||
GeErdBinarySensor(self, ErdCode.DISHWASHER_UPPER_DOOR_STATUS, erd_override="upper_door_status"),
|
||||
|
||||
#User Setttings
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_UPPER_USER_SETTING, "sound", erd_override="upper_setting", icon_override="mdi:volume-high"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_UPPER_USER_SETTING, "lock_control", erd_override="upper_setting", icon_override="mdi:lock"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_UPPER_USER_SETTING, "sabbath", erd_override="upper_setting", icon_override="mdi:star-david"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_UPPER_USER_SETTING, "cycle_mode", erd_override="upper_setting", icon_override="mdi:state-machine"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_UPPER_USER_SETTING, "presoak", erd_override="upper_setting", icon_override="mdi:water"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_UPPER_USER_SETTING, "bottle_jet", erd_override="upper_setting", icon_override="mdi:bottle-tonic-outline"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_UPPER_USER_SETTING, "wash_temp", erd_override="upper_setting", icon_override="mdi:coolant-temperature"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_UPPER_USER_SETTING, "dry_option", erd_override="upper_setting", icon_override="mdi:fan"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_UPPER_USER_SETTING, "wash_zone", erd_override="upper_setting", icon_override="mdi:dock-top"),
|
||||
GeErdPropertySensor(self, ErdCode.DISHWASHER_UPPER_USER_SETTING, "delay_hours", erd_override="upper_setting", icon_override="mdi:clock-fast")
|
||||
]
|
||||
|
||||
entities = base_entities + lower_entities + upper_entities
|
||||
return entities
|
||||
|
|
@ -59,6 +59,8 @@ class FridgeApi(ApplianceApi):
|
|||
|
||||
interior_light: int = self.try_get_erd_value(ErdCode.INTERIOR_LIGHT)
|
||||
proximity_light: ErdOnOff = self.try_get_erd_value(ErdCode.PROXIMITY_LIGHT)
|
||||
display_mode: ErdOnOff = self.try_get_erd_value(ErdCode.DISPLAY_MODE)
|
||||
lockout_mode: ErdOnOff = self.try_get_erd_value(ErdCode.LOCKOUT_MODE)
|
||||
|
||||
units = self.hass.config.units
|
||||
|
||||
|
@ -92,6 +94,10 @@ class FridgeApi(ApplianceApi):
|
|||
fridge_entities.append(GeErdSwitch(self, ErdCode.PROXIMITY_LIGHT, ErdOnOffBoolConverter(), icon_on_override="mdi:lightbulb-on", icon_off_override="mdi:lightbulb"))
|
||||
if(convertable_drawer and convertable_drawer != ErdConvertableDrawerMode.NA):
|
||||
fridge_entities.append(GeErdSelect(self, ErdCode.CONVERTABLE_DRAWER_MODE, ConvertableDrawerModeOptionsConverter(units)))
|
||||
if(display_mode and display_mode != ErdOnOff.NA):
|
||||
fridge_entities.append(GeErdSwitch(self, ErdCode.DISPLAY_MODE, ErdOnOffBoolConverter(), icon_on_override="mdi:lightbulb-on", icon_off_override="mdi:lightbulb"))
|
||||
if(lockout_mode and lockout_mode != ErdOnOff.NA):
|
||||
fridge_entities.append(GeErdSwitch(self, ErdCode.LOCKOUT_MODE, ErdOnOffBoolConverter(), icon_on_override="mdi:lock", icon_off_override="mdi:lock-open"))
|
||||
|
||||
# Freezer entities
|
||||
if fridge_model_info is None or fridge_model_info.has_freezer:
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"name": "GE Home (SmartHQ)",
|
||||
"config_flow": true,
|
||||
"documentation": "https://github.com/simbaja/ha_gehome",
|
||||
"requirements": ["gehomesdk==0.4.27","magicattr==0.1.5","slixmpp==1.7.1"],
|
||||
"requirements": ["gehomesdk==0.5.5","magicattr==0.1.5","slixmpp==1.7.1"],
|
||||
"codeowners": ["@simbaja"],
|
||||
"version": "0.6.3"
|
||||
"version": "0.6.5"
|
||||
}
|
||||
|
|
13
info.md
13
info.md
|
@ -4,16 +4,18 @@ Integration for GE WiFi-enabled appliances into Home Assistant. This integratio
|
|||
|
||||
- Fridge
|
||||
- Oven
|
||||
- Dishwasher
|
||||
- Dishwasher / F&P Dual Dishwasher
|
||||
- Laundry (Washer/Dryer)
|
||||
- Whole Home Water Filter
|
||||
- Whole Home Water Softener
|
||||
- Whole Home Water Heater
|
||||
- A/C (Portable, Split, Window)
|
||||
- Range Hood
|
||||
- Advantium
|
||||
- Microwave
|
||||
- Opal Ice Maker
|
||||
- Coffee Maker
|
||||
- Coffee Maker / Espresso Maker
|
||||
- Beverage Center
|
||||
|
||||
**Forked from Andrew Mark's [repository](https://github.com/ajmarks/ha_components).**
|
||||
|
||||
|
@ -63,6 +65,13 @@ A/C Controls:
|
|||
|
||||
#### Features
|
||||
|
||||
{% if version_installed.split('.') | map('int') < '0.6.5'.split('.') | map('int') %}
|
||||
- Added beverage cooler support (@kksligh)
|
||||
- Added dual dishwasher support (@jkili)
|
||||
- Added initial espresso maker support (@datagen24)
|
||||
- Added whole home water heater support (@seantibor)
|
||||
{% endif %}
|
||||
|
||||
{% if version_installed.split('.') | map('int') < '0.6.0'.split('.') | map('int') %}
|
||||
- Initial support for built-in air conditioners (@DaveZheng)
|
||||
{% endif %}
|
||||
|
|
Loading…
Reference in New Issue