Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duplicate device name in entity name #79

Open
nelbs opened this issue Oct 17, 2024 · 15 comments
Open

Duplicate device name in entity name #79

nelbs opened this issue Oct 17, 2024 · 15 comments

Comments

@nelbs
Copy link

nelbs commented Oct 17, 2024

After re adding the integration all the sensors names contains two times the device name. For example dryer dryer door state.

image

@albaintor
Copy link
Owner

One of each duplicates should be unavailable and could be deleted. Please check the states of the sensors

@nelbs
Copy link
Author

nelbs commented Oct 17, 2024

I don't have duplicate entities but the friendly name of all entities contains a duplicate device name. Like "dryer dryer door state" and "dryer dryer execute command START".

@albaintor
Copy link
Owner

Oh ok. Possible to have home assistant logs ?

@nelbs
Copy link
Author

nelbs commented Oct 17, 2024

I checked but there were no errors or warnings.

@albaintor
Copy link
Owner

Yes but I need to understand from debug traces : the entity name is built from the fields reported by the API and from what I have seen there shouldn't be the same attribute name twice in the field.
When you set up the integration, have you tried to rename the device/entities ?

Otherwise to get debug traces, I need you to edit configuration.yaml like this :
You can enable logs by editing configuration.yaml and then restarting Home assistant and restart Home assistant :

logger:
  default: debug
  logs:
    custom_components.electrolux_status: debug

@nelbs
Copy link
Author

nelbs commented Oct 18, 2024

Hi, See the attached log with all the messages from the custom component while reloading the integration.

FYI
It is not neccesary to edit the configuration.yaml to turn on debugging. You can do this at the integration page
image

'2024-10-18 10:22:50.045 DEBUG (MainThread) [custom_components.electrolux_status] configuring token_renewal_task

2024-10-18 10:22:50.048 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux token_renewal_task will sleep for 36067 seconds and will start at: 2024-10-18 20:23:57.048529+02:00

2024-10-18 10:22:52.354 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux appliance state updated {"916098632_02:23119797-443E07301B45": {"totalDryCyclesCount": 0, "doorState": "OPEN", "timeToEnd": 6540, "miscellaneous": {}, "applianceUiSwVersion": "U1B18212", "applianceTotalWorkingTime": 2268000, "remoteControl": "NOT_SAFETY_RELEVANT_ENABLED", "totalDryingTime": 4294967295, "language": "ENGLISH", "dryingNominalLoadWeight": 8000, "fCMiscellaneousState": {}, "cyclePhase": "UNAVAILABLE", "endOfCycleSound": "SHORT_SOUND", "startTime": -1, "userSelections": {"reversePlus": false, "tDEconomy_Eco": true, "humidityTarget": "CUPBOARD", "refresh": false, "dryingTime": 0, "drynessValue": "MINIMUM", "programUID": "COTTON_PR_COTTONSECO", "antiCreaseValue": 30, "tDEconomy_Night": false, "tDEconomy_Quick": false, "steamValue": "STEAM_OFF"}, "waterHardness": "HARD", "applianceInfo": {"applianceType": "TD"}, "uiLockMode": false, "fcOptisenseLoadWeight": 65535, "applianceState": "OFF", "applianceMode": "NORMAL", "applianceMainBoardSwVersion": "TRB40079", "totalCycleCounter": 376, "measuredLoadWeight": 65535, "alerts": [], "networkInterface": {"linkQualityIndicator": "GOOD", "otaState": "IDLE", "swVersion": "v1.9.1_hacl", "swAncAndRevision": "S00006777A", "niuSwUpdateCurrentDescription": "A16323310A-S00006777A"}, "applianceCareAndMaintenance0": {"1": {"occured": false, "threshold": 255}, "2": {"occured": false, "threshold": 100}, "3": {"occured": false, "threshold": 1}, "4": {"occured": false, "threshold": 0}, "5": {"occured": false, "threshold": 0}}, "applianceCareAndMaintenance1": {"6": {"occured": false, "threshold": 0}, "7": {"occured": false, "threshold": 0}, "8": {"occured": false, "threshold": 0}, "9": {"occured": false, "threshold": 0}, "10": {"occured": false, "threshold": 0}}, "applianceCareAndMaintenance2": {"11": {"occured": false, "threshold": 0}}, "applianceCareAndMaintenance3": {"16": {"occured": false, "threshold": 0}}, "connectivityState": "disconnected"}}
2024-10-18 10:22:52.354 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux update reported data {'totalDryCyclesCount': 0, 'doorState': 'OPEN', 'timeToEnd': 6540, 'miscellaneous': {}, 'applianceUiSwVersion': 'U1B18212', 'applianceTotalWorkingTime': 2268000, 'remoteControl': 'NOT_SAFETY_RELEVANT_ENABLED', 'totalDryingTime': 4294967295, 'language': 'ENGLISH', 'dryingNominalLoadWeight': 8000, 'fCMiscellaneousState': {}, 'cyclePhase': 'UNAVAILABLE', 'endOfCycleSound': 'SHORT_SOUND', 'startTime': -1, 'userSelections': {'reversePlus': False, 'tDEconomy_Eco': True, 'humidityTarget': 'CUPBOARD', 'refresh': False, 'dryingTime': 0, 'drynessValue': 'MINIMUM', 'programUID': 'COTTON_PR_COTTONSECO', 'antiCreaseValue': 30, 'tDEconomy_Night': False, 'tDEconomy_Quick': False, 'steamValue': 'STEAM_OFF'}, 'waterHardness': 'HARD', 'applianceInfo': {'applianceType': 'TD'}, 'uiLockMode': False, 'fcOptisenseLoadWeight': 65535, 'applianceState': 'OFF', 'applianceMode': 'NORMAL', 'applianceMainBoardSwVersion': 'TRB40079', 'totalCycleCounter': 376, 'measuredLoadWeight': 65535, 'alerts': [], 'networkInterface': {'linkQualityIndicator': 'GOOD', 'otaState': 'IDLE', 'swVersion': 'v1.9.1_hacl', 'swAncAndRevision': 'S00006777A', 'niuSwUpdateCurrentDescription': 'A16323310A-S00006777A'}, 'applianceCareAndMaintenance0': {'1': {'occured': False, 'threshold': 255}, '2': {'occured': False, 'threshold': 100}, '3': {'occured': False, 'threshold': 1}, '4': {'occured': False, 'threshold': 0}, '5': {'occured': False, 'threshold': 0}}, 'applianceCareAndMaintenance1': {'6': {'occured': False, 'threshold': 0}, '7': {'occured': False, 'threshold': 0}, '8': {'occured': False, 'threshold': 0}, '9': {'occured': False, 'threshold': 0}, '10': {'occured': False, 'threshold': 0}}, 'applianceCareAndMaintenance2': {'11': {'occured': False, 'threshold': 0}}, 'applianceCareAndMaintenance3': {'16': {'occured': False, 'threshold': 0}}, 'connectivityState': 'disconnected'}
2024-10-18 10:22:52.354 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux updated reported data {'applianceId': '916098632_02:23119797-443E07301B45', 'applianceData': {'applianceName': 'Droger', 'created': '2022-08-29T11:39:50.839Z', 'modelName': 'TD'}, 'properties': {'desired': {}, 'reported': {'totalDryCyclesCount': 0, 'doorState': 'OPEN', 'timeToEnd': 6540, 'miscellaneous': {}, 'applianceUiSwVersion': 'U1B18212', 'applianceTotalWorkingTime': 2268000, 'remoteControl': 'NOT_SAFETY_RELEVANT_ENABLED', 'totalDryingTime': 4294967295, 'language': 'ENGLISH', 'dryingNominalLoadWeight': 8000, 'fCMiscellaneousState': {}, 'cyclePhase': 'UNAVAILABLE', 'endOfCycleSound': 'SHORT_SOUND', 'startTime': -1, 'userSelections': {'reversePlus': False, 'tDEconomy_Eco': True, 'humidityTarget': 'CUPBOARD', 'refresh': False, 'dryingTime': 0, 'drynessValue': 'MINIMUM', 'programUID': 'COTTON_PR_COTTONSECO', 'antiCreaseValue': 30, 'tDEconomy_Night': False, 'tDEconomy_Quick': False, 'steamValue': 'STEAM_OFF'}, 'waterHardness': 'HARD', 'applianceInfo': {'applianceType': 'TD'}, 'uiLockMode': False, 'fcOptisenseLoadWeight': 65535, 'applianceState': 'OFF', 'applianceMode': 'NORMAL', 'applianceMainBoardSwVersion': 'TRB40079', 'totalCycleCounter': 376, 'measuredLoadWeight': 65535, 'alerts': [], 'networkInterface': {'linkQualityIndicator': 'GOOD', 'otaState': 'IDLE', 'swVersion': 'v1.9.1_hacl', 'swAncAndRevision': 'S00006777A', 'niuSwUpdateCurrentDescription': 'A16323310A-S00006777A'}, 'applianceCareAndMaintenance0': {'1': {'occured': False, 'threshold': 255}, '2': {'occured': False, 'threshold': 100}, '3': {'occured': False, 'threshold': 1}, '4': {'occured': False, 'threshold': 0}, '5': {'occured': False, 'threshold': 0}}, 'applianceCareAndMaintenance1': {'6': {'occured': False, 'threshold': 0}, '7': {'occured': False, 'threshold': 0}, '8': {'occured': False, 'threshold': 0}, '9': {'occured': False, 'threshold': 0}, '10': {'occured': False, 'threshold': 0}}, 'applianceCareAndMaintenance2': {'11': {'occured': False, 'threshold': 0}}, 'applianceCareAndMaintenance3': {'16': {'occured': False, 'threshold': 0}}, 'connectivityState': 'disconnected'}, 'metadata': {}}, 'status': 'enabled', 'connectionState': 'disconnected'}
2024-10-18 10:22:52.355 DEBUG (MainThread) [custom_components.electrolux_status] Manually updated electrolux_status data

2024-10-18 10:22:52.417 DEBUG (MainThread) [custom_components.electrolux_status] async_setup_entry setup_entities
2024-10-18 10:22:52.417 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux setup_entities

2024-10-18 10:22:52.500 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_appliances_list <pyelectroluxocp.oneAppApi.OneAppApi object at 0x7f80ace4e0> [{"applianceId": "916098632_02:23119797-443E07301B45", "applianceData": {"applianceName": "Droger", "created": "2022-08-29T11:39:50.839Z", "modelName": "TD"}, "properties": {"desired": {}, "reported": {"totalDryCyclesCount": 0, "doorState": "OPEN", "timeToEnd": 6540, "miscellaneous": {}, "applianceUiSwVersion": "U1B18212", "applianceTotalWorkingTime": 2268000, "remoteControl": "NOT_SAFETY_RELEVANT_ENABLED", "totalDryingTime": 4294967295, "language": "ENGLISH", "dryingNominalLoadWeight": 8000, "fCMiscellaneousState": {}, "cyclePhase": "UNAVAILABLE", "endOfCycleSound": "SHORT_SOUND", "startTime": -1, "userSelections": {"reversePlus": false, "tDEconomy_Eco": true, "humidityTarget": "CUPBOARD", "refresh": false, "dryingTime": 0, "drynessValue": "MINIMUM", "programUID": "COTTON_PR_COTTONSECO", "antiCreaseValue": 30, "tDEconomy_Night": false, "tDEconomy_Quick": false, "steamValue": "STEAM_OFF"}, "waterHardness": "HARD", "applianceInfo": {"applianceType": "TD"}, "uiLockMode": false, "fcOptisenseLoadWeight": 65535, "applianceState": "OFF", "applianceMode": "NORMAL", "applianceMainBoardSwVersion": "TRB40079", "totalCycleCounter": 376, "measuredLoadWeight": 65535, "alerts": [], "networkInterface": {"linkQualityIndicator": "GOOD", "otaState": "IDLE", "swVersion": "v1.9.1_hacl", "swAncAndRevision": "S00006777A", "niuSwUpdateCurrentDescription": "A16323310A-S00006777A"}, "applianceCareAndMaintenance0": {"1": {"occured": false, "threshold": 255}, "2": {"occured": false, "threshold": 100}, "3": {"occured": false, "threshold": 1}, "4": {"occured": false, "threshold": 0}, "5": {"occured": false, "threshold": 0}}, "applianceCareAndMaintenance1": {"6": {"occured": false, "threshold": 0}, "7": {"occured": false, "threshold": 0}, "8": {"occured": false, "threshold": 0}, "9": {"occured": false, "threshold": 0}, "10": {"occured": false, "threshold": 0}}, "applianceCareAndMaintenance2": {"11": {"occured": false, "threshold": 0}}, "applianceCareAndMaintenance3": {"16": {"occured": false, "threshold": 0}}, "connectivityState": "disconnected"}, "metadata": {}}, "status": "enabled", "connectionState": "disconnected"}]
2024-10-18 10:22:52.500 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux found appliance 916098632_02:23119797-443E07301B45

2024-10-18 10:22:52.560 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_appliances_info result: [{"pnc": "916098632", "brand": "AEG", "market": "EUROPE", "productArea": "CARE", "deviceType": "TUMBLE_DRYER", "project": "CAPACITIVE_SENSOR", "model": "9000 Series", "variant": "T9DEN87CC", "colour": "WHITE", "status": 1, "elc": "02", "configurationName": null, "productionReady": false}]

2024-10-18 10:22:52.639 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_appliance_state result: {"applianceId": "916098632_02:23119797-443E07301B45", "applianceData": {"applianceName": "Droger", "created": "2022-08-29T11:39:50.839Z", "modelName": "TD"}, "properties": {"desired": {}, "reported": {"totalDryCyclesCount": 0, "doorState": "OPEN", "timeToEnd": 6540, "miscellaneous": {}, "applianceUiSwVersion": "U1B18212", "applianceTotalWorkingTime": 2268000, "remoteControl": "NOT_SAFETY_RELEVANT_ENABLED", "totalDryingTime": 4294967295, "language": "ENGLISH", "dryingNominalLoadWeight": 8000, "fCMiscellaneousState": {}, "cyclePhase": "UNAVAILABLE", "endOfCycleSound": "SHORT_SOUND", "startTime": -1, "userSelections": {"reversePlus": false, "tDEconomy_Eco": true, "humidityTarget": "CUPBOARD", "refresh": false, "dryingTime": 0, "drynessValue": "MINIMUM", "programUID": "COTTON_PR_COTTONSECO", "antiCreaseValue": 30, "tDEconomy_Night": false, "tDEconomy_Quick": false, "steamValue": "STEAM_OFF"}, "waterHardness": "HARD", "applianceInfo": {"applianceType": "TD"}, "uiLockMode": false, "fcOptisenseLoadWeight": 65535, "applianceState": "OFF", "applianceMode": "NORMAL", "applianceMainBoardSwVersion": "TRB40079", "totalCycleCounter": 376, "measuredLoadWeight": 65535, "alerts": [], "networkInterface": {"linkQualityIndicator": "GOOD", "otaState": "IDLE", "swVersion": "v1.9.1_hacl", "swAncAndRevision": "S00006777A", "niuSwUpdateCurrentDescription": "A16323310A-S00006777A"}, "applianceCareAndMaintenance0": {"1": {"occured": false, "threshold": 255}, "2": {"occured": false, "threshold": 100}, "3": {"occured": false, "threshold": 1}, "4": {"occured": false, "threshold": 0}, "5": {"occured": false, "threshold": 0}}, "applianceCareAndMaintenance1": {"6": {"occured": false, "threshold": 0}, "7": {"occured": false, "threshold": 0}, "8": {"occured": false, "threshold": 0}, "9": {"occured": false, "threshold": 0}, "10": {"occured": false, "threshold": 0}}, "applianceCareAndMaintenance2": {"11": {"occured": false, "threshold": 0}}, "applianceCareAndMaintenance3": {"16": {"occured": false, "threshold": 0}}, "connectivityState": "disconnected"}, "metadata": {}}, "status": "enabled", "connectionState": "disconnected"}

2024-10-18 10:22:52.947 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_appliance_capabilities result: {"alerts": {"access": "read", "type": "alert", "values": {"CHECK_DOOR": {}, "CHECK_DRAIN_FILTER": {}, "CHECK_INLET_TAP": {}, "DETERGENT_OVERDOSING": {}, "DOOR": {}, "EMPTY_WATER_CONTAINER": {}, "MACHINE_RESTART": {}, "POWER_FAILURE": {}, "STEAM_TANK_EMPTY": {}, "STEAM_TANK_FULL": {}, "TOP_UP_SALT": {}, "UNBALANCED_LAUNDRY": {}, "UNSTABLE_SUPPLY_VOLTAGE": {}, "WATER_CONTAINER": {}, "WATER_LEAK": {}}}, "applianceCareAndMaintenance0": {"access": "readwrite", "type": "careMaintenance"}, "applianceCareAndMaintenance0/maint1_ID": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint1_mng_by_cloud": {"access": "readwrite", "type": "boolean", "values": {}}, "applianceCareAndMaintenance0/maint1_occured": {"access": "readwrite", "type": "boolean", "values": {}}, "applianceCareAndMaintenance0/maint1_spare": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint1_threshold": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint2_ID": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint2_mng_by_cloud": {"access": "readwrite", "type": "boolean", "values": {}}, "applianceCareAndMaintenance0/maint2_occured": {"access": "readwrite", "type": "boolean", "values": {}}, "applianceCareAndMaintenance0/maint2_spare": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint2_threshold": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint3_ID": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint3_mng_by_cloud": {"access": "readwrite", "type": "boolean", "values": {}}, "applianceCareAndMaintenance0/maint3_occured": {"access": "readwrite", "type": "boolean", "values": {}}, "applianceCareAndMaintenance0/maint3_spare": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint3_threshold": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint4_ID": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint4_mng_by_cloud": {"access": "readwrite", "type": "boolean", "values": {}}, "applianceCareAndMaintenance0/maint4_occured": {"access": "readwrite", "type": "boolean", "values": {}}, "applianceCareAndMaintenance0/maint4_spare": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint4_threshold": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint5_ID": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint5_mng_by_cloud": {"access": "readwrite", "type": "boolean", "values": {}}, "applianceCareAndMaintenance0/maint5_occured": {"access": "readwrite", "type": "boolean", "values": {}}, "applianceCareAndMaintenance0/maint5_spare": {"access": "readwrite", "type": "int", "values": {}}, "applianceCareAndMaintenance0/maint5_threshold": {"access": "readwrite", "type": "int", "values": {}}, "applianceMode": {"access": "read", "type": "string", "values": {"DEMO": {}, "DIAGNOSTIC": {}, "NORMAL": {}, "SERVICE": {}}}, "applianceState": {"access": "read", "triggers": [{"action": {"executeCommand": {"access": "write", "values": {"PAUSE": {}}}, "userSelections/programUID": {"access": "read"}}, "condition": {"operand_1": "value", "operand_2": "RUNNING", "operator": "eq"}}, {"action": {"executeCommand": {"access": "write", "values": {"RESUME": {}, "STOPRESET": {}}}, "userSelections/programUID": {"access": "read"}}, "condition": {"operand_1": "value", "operand_2": "PAUSED", "operator": "eq"}}, {"action": {"executeCommand": {"access": "write", "values": {"STOPRESET": {}}}}, "condition": {"operand_1": "value", "operand_2": "END_OF_CYCLE", "operator": "eq"}}, {"action": {"executeCommand": {"access": "write", "values": {"PAUSE": {}}}, "userSelections/programUID": {"access": "read"}}, "condition": {"operand_1": "value", "operand_2": "DELAYED_START", "operator": "eq"}}, {"action": {"executeCommand": {"access": "write", "values": {"START": {}}}, "userSelections/programUID": {"access": "readwrite"}}, "condition": {"operand_1": "value", "operand_2": "READY_TO_START", "operator": "eq"}}, {"action": {"executeCommand": {"disabled": true}}, "condition": {"operand_1": "value", "operand_2": "END_OF_CYCLE", "operator": "eq"}}, {"action": {"executeCommand": {"disabled": false}}, "condition": {"operand_1": "value", "operand_2": "END_OF_CYCLE", "operator": "ne"}}, {"action": {"startTime": {"access": "default"}}, "condition": {"operand_1": "value", "operand_2": "READY_TO_START", "operator": "eq"}}, {"action": {"startTime": {"access": "read"}}, "condition": {"operand_1": "value", "operand_2": "END_OF_CYCLE", "operator": "eq"}}, {"action": {"startTime": {"access": "read"}}, "condition": {"operand_1": {"operand_1": "value", "operand_2": "DELAYED_START", "operator": "eq"}, "operand_2": {"operand_1": "value", "operand_2": "RUNNING", "operator": "eq"}, "operator": "or"}}, {"action": {"startTime": {"access": "read"}}, "condition": {"operand_1": {"operand_1": "value", "operand_2": "PAUSED", "operator": "eq"}, "operand_2": {"operand_1": "startTime", "operand_2": "INVALID_OR_NOT_SET_TIME", "operator": "eq"}, "operator": "and"}}, {"action": {"startTime": {"access": "default"}}, "condition": {"operand_1": {"operand_1": "value", "operand_2": "PAUSED", "operator": "eq"}, "operand_2": {"operand_1": "startTime", "operand_2": "INVALID_OR_NOT_SET_TIME", "operator": "ne"}, "operator": "and"}}, {"action": {"executeCommand": {"access": "write", "values": {"START": {}}}, "userSelections/programUID": {"access": "readwrite"}}, "condition": {"operand_1": "value", "operand_2": "IDLE", "operator": "eq"}}, {"action": {"endOfCycleSound": {"access": "read"}, "waterHardness": {"access": "read"}}, "condition": {"operand_1": {"operand_1": "value", "operand_2": "RUNNING", "operator": "eq"}, "operand_2": {"operand_1": "value", "operand_2": "DELAYED_START", "operator": "eq"}, "operator": "or"}}, {"action": {"endOfCycleSound": {"access": "default"}, "waterHardness": {"access": "default"}}, "condition": {"operand_1": {"operand_1": "value", "operand_2": "READY_TO_START", "operator": "eq"}, "operand_2": {"operand_1": "value", "operand_2": "IDLE", "operator": "eq"}, "operator": "or"}}, {"action": {"endOfCycleSound": {"access": "read"}, "waterHardness": {"access": "read"}}, "condition": {"operand_1": {"operand_1": "value", "operand_2": "PAUSED", "operator": "eq"}, "operand_2": {"operand_1": "value", "operand_2": "END_OF_CYCLE", "operator": "eq"}, "operator": "or"}}], "type": "string", "values": {"ALARM": {}, "DELAYED_START": {}, "END_OF_CYCLE": {}, "IDLE": {}, "OFF": {}, "PAUSED": {}, "READY_TO_START": {}, "RUNNING": {}}}, "applianceTotalWorkingTime": {"access": "read", "type": "number"}, "cyclePhase": {"access": "read", "triggers": [{"action": {"executeCommand": {"access": "write", "values": {"STOPRESET": {}}}}, "condition": {"operand_1": "value", "operand_2": "ANTICREASE", "operator": "eq"}}], "type": "string", "values": {"ANTICREASE": {}, "COOL": {}, "CYCLE_PHASE_HIDDEN": {"disabled": true}, "DRY": {}, "UNAVAILABLE": {}}}, "doorState": {"access": "read", "type": "string", "values": {"CLOSED": {}, "OPEN": {}}}, "dryingNominalLoadWeight": {"access": "read", "max": 20000, "min": 0, "type": "number", "values": {"NOT_AVAILABLE": {"disabled": true}}}, "endOfCycleSound": {"access": "readwrite", "type": "string", "values": {"NO_SOUND": {}, "SHORT_SOUND": {}}}, "executeCommand": {"access": "write", "type": "string", "values": {"OFF": {}, "ON": {}, "PAUSE": {}, "RESUME": {}, "START": {}, "STOPRESET": {}}}, "miscellaneous": {"access": "readwrite", "type": "complex"}, "networkInterface": {"command": {"access": "write", "type": "string", "values": {"APPLIANCE_AUTHORIZE": {}, "START": {}, "USER_AUTHORIZE": {}, "USER_NOT_AUTHORIZE": {}}}, "linkQualityIndicator": {"access": "read", "type": "string", "values": {"EXCELLENT": {}, "GOOD": {}, "POOR": {}, "UNDEFINED": {}, "VERY_GOOD": {}, "VERY_POOR": {}}}, "niuSwUpdateCurrentDescription": {"access": "read", "type": "string"}, "otaState": {"access": "read", "type": "string", "values": {"DESCRIPTION_AVAILABLE": {}, "DESCRIPTION_DOWNLOADING": {}, "DESCRIPTION_READY": {}, "FW_DOWNLOADING": {}, "FW_DOWNLOAD_START": {}, "FW_SIGNATURE_CHECK": {}, "FW_UPDATE_IN_PROGRESS": {}, "IDLE": {}, "READY_TO_UPDATE": {}, "UPDATE_ABORT": {}, "UPDATE_CHECK": {}, "UPDATE_ERROR": {}, "UPDATE_OK": {}, "WAITINGFORAUTHORIZATION": {}}}, "startUpCommand": {"access": "write", "type": "string", "values": {"UNINSTALL": {}}}, "swAncAndRevision": {"access": "read", "type": "string"}, "swVersion": {"access": "read", "type": "string"}}, "remoteControl": {"access": "read", "triggers": [{"action": {"executeCommand": {"disabled": true}}, "condition": {"operand_1": {"operand_1": "value", "operand_2": "NOT_SAFETY_RELEVANT_ENABLED", "operator": "eq"}, "operand_2": {"operand_1": "value", "operand_2": "DISABLED", "operator": "eq"}, "operator": "or"}}], "type": "string", "values": {"DISABLED": {}, "ENABLED": {}, "NOT_SAFETY_RELEVANT_ENABLED": {}, "TEMPORARY_LOCKED": {}}}, "startTime": {"access": "readwrite", "max": 72000, "min": 0, "step": 1800, "triggers": [{"action": {"$self": {"access": "read"}}, "condition": {"operand_1": {"operand_1": "value", "operand_2": "INVALID_OR_NOT_SET_TIME", "operator": "eq"}, "operand_2": {"operand_1": "applianceState", "operand_2": "PAUSED", "operator": "eq"}, "operator": "and"}}], "type": "number", "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "timeToEnd": {"access": "read", "type": "number"}, "totalCycleCounter": {"access": "read", "type": "number"}, "uiLockMode": {"access": "readwrite", "type": "boolean"}, "userSelections": {"access": "readwrite", "type": "complex"}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "max": 120, "min": 30, "step": 30, "type": "number"}, "userSelections/dryingTime": {"access": "readwrite", "default": 0, "max": 120, "min": 0, "step": 10, "triggers": [{"action": {"userSelections/humidityTarget": {"default": "UNDEFINED"}, "userSelections/refresh": {"disabled": true}, "userSelections/reversePlus": {"access": "read", "default": false}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}, "userSelections/tDEconomy_Night": {"access": "read", "default": false, "disabled": true}}, "condition": {"operand_1": "value", "operand_2": 0, "operator": "ne"}}, {"action": {"userSelections/reversePlus": {"access": "default"}, "userSelections/tDEconomy_Eco": {"access": "default"}, "userSelections/tDEconomy_Night": {"access": "default"}}, "condition": {"operand_1": "value", "operand_2": 0, "operator": "eq"}}], "type": "number"}, "userSelections/drynessValue": {"access": "readwrite", "type": "string", "values": {"MAXIMUM": {}, "MEDIUM": {}, "MINIMUM": {}, "UNDEFINED": {"disabled": true}}}, "userSelections/humidityTarget": {"access": "readwrite", "triggers": [{"action": {"userSelections/dryingTime": {"default": 0}}, "condition": {"operand_1": "value", "operand_2": "UNDEFINED", "operator": "ne"}}, {"action": {"userSelections/tDEconomy_Night": {"default": false}}, "condition": {"operand_1": "value", "operand_2": "IRON", "operator": "eq"}}], "type": "string", "values": {"CUPBOARD": {}, "EXTRA": {}, "IRON": {}, "STRONG": {}, "UNDEFINED": {"disabled": true}}}, "userSelections/programUID": {"access": "readwrite", "type": "string", "values": {"AUTO_EASY_IRON_PR_EASYIRON": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/humidityTarget": {"access": "readwrite", "default": "IRON", "disabled": false, "values": {"IRON": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "BED_LINEN_PLUS_PR_BEDLINENPLUS": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}, "EXTRA": {}, "IRON": {}}}, "userSelections/reversePlus": {"access": "read", "default": true, "disabled": true}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "COTTON_PR_COTTONS": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/dryingTime": {"access": "readwrite", "default": 0, "disabled": false, "max": 120, "min": 0, "step": 10}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}, "EXTRA": {}, "IRON": {}, "STRONG": {}, "UNDEFINED": {"disabled": true}}}, "userSelections/refresh": {"access": "readwrite", "default": false, "disabled": false}, "userSelections/reversePlus": {"access": "readwrite", "default": false, "disabled": true}, "userSelections/tDEconomy_Eco": {"access": "readwrite", "default": true, "disabled": true}, "userSelections/tDEconomy_Night": {"access": "readwrite", "default": false, "disabled": false}}, "COTTON_PR_COTTONSECO": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "DOWN_JACKET_PR_DOWN_JACKET": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}, "EXTRA": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "DUVET_PR_DUVET": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "EXTRA_DELICATE_PR_DELICATES": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}}}}, "FLEECE_PR_FLEECE": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "JEANS_PR_JEANS": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "MACHINE_SETTINGS_HIDDEN_TEST": {"disabled": true}, "OUTD_PROOF_PR_OUTDOOR": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "OUTD_PROOF_PR_PROOFINGTREATMENT": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "SHIRTS_PR_BUSINESSSHIRT": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/humidityTarget": {"access": "readwrite", "default": "IRON", "disabled": false, "values": {"IRON": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "SILK_DRY_PR_SILK": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "SPORTS_PR_MICROFIBRE": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "SPORTS_PR_SPORT": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "SYNTHETIC_PR_SYNTHETICS": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/dryingTime": {"access": "readwrite", "default": 0, "disabled": false, "max": 120, "min": 0, "step": 10}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}, "EXTRA": {}, "IRON": {}, "UNDEFINED": {"disabled": true}}}, "userSelections/refresh": {"access": "readwrite", "default": false, "disabled": false}, "userSelections/tDEconomy_Eco": {"access": "readwrite", "default": true, "disabled": true}, "userSelections/tDEconomy_Night": {"access": "readwrite", "default": false, "disabled": false}}, "TIMEDRY_PR_DRYINGRACK": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/dryingTime": {"access": "readwrite", "default": 10, "disabled": false, "max": 120, "min": 10, "step": 10}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "TOWELS_PR_TOWELS": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "UNIVERSAL_PR_MIXEDPLUS": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/dryingTime": {"access": "readwrite", "default": 0, "disabled": false, "max": 120, "min": 0, "step": 10}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}, "EXTRA": {}}}, "userSelections/reversePlus": {"access": "read", "default": true, "disabled": true}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "WOOL_GOLD_PR_WOOL": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/drynessValue": {"access": "readwrite", "default": "MEDIUM", "disabled": false, "values": {"MAXIMUM": {}, "MEDIUM": {}, "MINIMUM": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}, "WORKINGCLOTHES_PR_WORKINGCLOTHES": {"startTime": {"access": "readwrite", "disabled": false, "max": 72000, "min": 0, "step": 1800, "values": {"INVALID_OR_NOT_SET_TIME": {"disabled": true}}}, "userSelections/antiCreaseValue": {"access": "readwrite", "default": 30, "disabled": false, "max": 120, "min": 30, "step": 30}, "userSelections/humidityTarget": {"access": "readwrite", "default": "CUPBOARD", "disabled": false, "values": {"CUPBOARD": {}}}, "userSelections/tDEconomy_Eco": {"access": "read", "default": true, "disabled": true}}}}, "userSelections/programsOrder": {"items": ["MACHINE_SETTINGS_HIDDEN_TEST", "COTTON_PR_COTTONSECO", "COTTON_PR_COTTONS", "SYNTHETIC_PR_SYNTHETICS", "UNIVERSAL_PR_MIXEDPLUS", "EXTRA_DELICATE_PR_DELICATES", "WOOL_GOLD_PR_WOOL", "SILK_DRY_PR_SILK", "BED_LINEN_PLUS_PR_BEDLINENPLUS", "OUTD_PROOF_PR_OUTDOOR", "DOWN_JACKET_PR_DOWN_JACKET", "JEANS_PR_JEANS", "DUVET_PR_DUVET", "SPORTS_PR_SPORT", "SHIRTS_PR_BUSINESSSHIRT", "SPORTS_PR_MICROFIBRE", "TOWELS_PR_TOWELS", "FLEECE_PR_FLEECE", "WORKINGCLOTHES_PR_WORKINGCLOTHES", "OUTD_PROOF_PR_PROOFINGTREATMENT", "AUTO_EASY_IRON_PR_EASYIRON", "TIMEDRY_PR_DRYINGRACK"]}, "userSelections/refresh": {"access": "readwrite", "default": false, "triggers": [{"action": {"userSelections/dryingTime": {"access": "read"}, "userSelections/humidityTarget": {"disabled": true}, "userSelections/reversePlus": {"default": false}}, "condition": {"operand_1": "value", "operand_2": true, "operator": "eq"}}, {"action": {"userSelections/dryingTime": {"access": "readwrite"}, "userSelections/humidityTarget": {"disabled": false}}, "condition": {"operand_1": "value", "operand_2": false, "operator": "eq"}}], "type": "boolean"}, "userSelections/reversePlus": {"access": "read", "default": false, "type": "boolean"}, "userSelections/tDEconomy_Eco": {"access": "readwrite", "triggers": [{"action": {"userSelections/tDEconomy_Night": {"default": false}}, "condition": {"operand_1": "value", "operand_2": true, "operator": "eq"}}, {"action": {"userSelections/tDEconomy_Night": {"default": true}}, "condition": {"operand_1": "value", "operand_2": false, "operator": "eq"}}], "type": "boolean"}, "userSelections/tDEconomy_Night": {"access": "readwrite", "triggers": [{"action": {"userSelections/reversePlus": {"default": false}, "userSelections/tDEconomy_Eco": {"default": false}}, "condition": {"operand_1": "value", "operand_2": true, "operator": "eq"}}, {"action": {"userSelections/tDEconomy_Eco": {"default": true}}, "condition": {"operand_1": "value", "operand_2": false, "operator": "eq"}}], "type": "boolean"}, "waterHardness": {"access": "readwrite", "type": "string", "values": {"HARD": {}, "MEDIUM": {}, "SOFT": {}}}}
2024-10-18 10:22:52.948 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux static_attribute connectivityState
2024-10-18 10:22:52.948 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: sensor entity_attr: connectivityState entity_source:  capability: {'access': 'read', 'type': 'string'} device_class: enum unit: None
2024-10-18 10:22:52.949 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger connectivity state for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.949 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux adding static_attribute connectivityState
2024-10-18 10:22:52.949 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux static_attribute networkInterface/linkQualityIndicator
2024-10-18 10:22:52.949 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: sensor entity_attr: linkQualityIndicator entity_source: networkInterface capability: {'access': 'read', 'type': 'string', 'values': {'EXCELLENT': {}, 'GOOD': {}, 'POOR': {}, 'UNDEFINED': {}, 'VERY_GOOD': {}, 'VERY_POOR': {}}} device_class: None unit: None
2024-10-18 10:22:52.949 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger network interface link quality indicator for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.949 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux adding static_attribute networkInterface/linkQualityIndicator
2024-10-18 10:22:52.949 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux static_attribute applianceMode
2024-10-18 10:22:52.950 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: sensor entity_attr: applianceMode entity_source:  capability: {'access': 'read', 'type': 'string', 'values': {'DEMO': {}, 'DIAGNOSTIC': {}, 'NORMAL': {}, 'SERVICE': {}}} device_class: None unit: None
2024-10-18 10:22:52.950 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger appliance mode for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.950 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux adding static_attribute applianceMode
2024-10-18 10:22:52.950 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: sensor entity_attr: alerts entity_source:  capability: {'access': 'read', 'type': 'alert', 'values': {'CHECK_DOOR': {}, 'CHECK_DRAIN_FILTER': {}, 'CHECK_INLET_TAP': {}, 'DETERGENT_OVERDOSING': {}, 'DOOR': {}, 'EMPTY_WATER_CONTAINER': {}, 'MACHINE_RESTART': {}, 'POWER_FAILURE': {}, 'STEAM_TANK_EMPTY': {}, 'STEAM_TANK_FULL': {}, 'TOP_UP_SALT': {}, 'UNBALANCED_LAUNDRY': {}, 'UNSTABLE_SUPPLY_VOLTAGE': {}, 'WATER_CONTAINER': {}, 'WATER_LEAK': {}}} device_class: None unit: None
2024-10-18 10:22:52.950 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger alerts for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.950 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: sensor entity_attr: applianceMode entity_source:  capability: {'access': 'read', 'type': 'string', 'values': {'DEMO': {}, 'NORMAL': {}, 'SERVICE': {}}} device_class: None unit: None
2024-10-18 10:22:52.950 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger appliance mode for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.951 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: sensor entity_attr: applianceState entity_source:  capability: {'access': 'read', 'triggers': [{'action': {'executeCommand': {'access': 'write', 'values': {'PAUSE': {}}}, 'userSelections/programUID': {'access': 'read'}}, 'condition': {'operand_1': 'value', 'operand_2': 'RUNNING', 'operator': 'eq'}}, {'action': {'executeCommand': {'access': 'write', 'values': {'RESUME': {}, 'STOPRESET': {}}}, 'userSelections/programUID': {'access': 'read'}}, 'condition': {'operand_1': 'value', 'operand_2': 'PAUSED', 'operator': 'eq'}}, {'action': {'executeCommand': {'access': 'write', 'values': {'STOPRESET': {}}}}, 'condition': {'operand_1': 'value', 'operand_2': 'END_OF_CYCLE', 'operator': 'eq'}}, {'action': {'executeCommand': {'access': 'write', 'values': {'PAUSE': {}}}, 'userSelections/programUID': {'access': 'read'}}, 'condition': {'operand_1': 'value', 'operand_2': 'DELAYED_START', 'operator': 'eq'}}, {'action': {'executeCommand': {'access': 'write', 'values': {'START': {}}}, 'userSelections/programUID': {'access': 'readwrite'}}, 'condition': {'operand_1': 'value', 'operand_2': 'READY_TO_START', 'operator': 'eq'}}, {'action': {'executeCommand': {'disabled': True}}, 'condition': {'operand_1': 'value', 'operand_2': 'END_OF_CYCLE', 'operator': 'eq'}}, {'action': {'executeCommand': {'disabled': False}}, 'condition': {'operand_1': 'value', 'operand_2': 'END_OF_CYCLE', 'operator': 'ne'}}, {'action': {'startTime': {'access': 'default'}}, 'condition': {'operand_1': 'value', 'operand_2': 'READY_TO_START', 'operator': 'eq'}}, {'action': {'startTime': {'access': 'read'}}, 'condition': {'operand_1': 'value', 'operand_2': 'END_OF_CYCLE', 'operator': 'eq'}}, {'action': {'startTime': {'access': 'read'}}, 'condition': {'operand_1': {'operand_1': 'value', 'operand_2': 'DELAYED_START', 'operator': 'eq'}, 'operand_2': {'operand_1': 'value', 'operand_2': 'RUNNING', 'operator': 'eq'}, 'operator': 'or'}}, {'action': {'startTime': {'access': 'read'}}, 'condition': {'operand_1': {'operand_1': 'value', 'operand_2': 'PAUSED', 'operator': 'eq'}, 'operand_2': {'operand_1': 'startTime', 'operand_2': 'INVALID_OR_NOT_SET_TIME', 'operator': 'eq'}, 'operator': 'and'}}, {'action': {'startTime': {'access': 'default'}}, 'condition': {'operand_1': {'operand_1': 'value', 'operand_2': 'PAUSED', 'operator': 'eq'}, 'operand_2': {'operand_1': 'startTime', 'operand_2': 'INVALID_OR_NOT_SET_TIME', 'operator': 'ne'}, 'operator': 'and'}}, {'action': {'executeCommand': {'access': 'write', 'values': {'START': {}}}, 'userSelections/programUID': {'access': 'readwrite'}}, 'condition': {'operand_1': 'value', 'operand_2': 'IDLE', 'operator': 'eq'}}, {'action': {'endOfCycleSound': {'access': 'read'}, 'waterHardness': {'access': 'read'}}, 'condition': {'operand_1': {'operand_1': 'value', 'operand_2': 'RUNNING', 'operator': 'eq'}, 'operand_2': {'operand_1': 'value', 'operand_2': 'DELAYED_START', 'operator': 'eq'}, 'operator': 'or'}}, {'action': {'endOfCycleSound': {'access': 'default'}, 'waterHardness': {'access': 'default'}}, 'condition': {'operand_1': {'operand_1': 'value', 'operand_2': 'READY_TO_START', 'operator': 'eq'}, 'operand_2': {'operand_1': 'value', 'operand_2': 'IDLE', 'operator': 'eq'}, 'operator': 'or'}}, {'action': {'endOfCycleSound': {'access': 'read'}, 'waterHardness': {'access': 'read'}}, 'condition': {'operand_1': {'operand_1': 'value', 'operand_2': 'PAUSED', 'operator': 'eq'}, 'operand_2': {'operand_1': 'value', 'operand_2': 'END_OF_CYCLE', 'operator': 'eq'}, 'operator': 'or'}}], 'type': 'string', 'values': {'ALARM': {}, 'DELAYED_START': {}, 'END_OF_CYCLE': {}, 'IDLE': {}, 'OFF': {}, 'PAUSED': {}, 'READY_TO_START': {}, 'RUNNING': {}}} device_class: None unit: None
2024-10-18 10:22:52.951 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger appliance state for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.951 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: sensor entity_attr: applianceTotalWorkingTime entity_source:  capability: {'access': 'read', 'type': 'number'} device_class: duration unit: s
2024-10-18 10:22:52.951 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger appliance total working time for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.951 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: sensor entity_attr: cyclePhase entity_source:  capability: {'access': 'read', 'triggers': [{'action': {'executeCommand': {'access': 'write', 'values': {'STOPRESET': {}}}}, 'condition': {'operand_1': 'value', 'operand_2': 'ANTICREASE', 'operator': 'eq'}}], 'type': 'string', 'values': {'ANTICREASE': {}, 'COOL': {}, 'CYCLE_PHASE_HIDDEN': {'disabled': True}, 'DRY': {}, 'UNAVAILABLE': {}}} device_class: None unit: None
2024-10-18 10:22:52.952 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger cycle phase for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.952 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: binary_sensor entity_attr: doorState entity_source:  capability: {'access': 'read', 'type': 'string', 'values': {'CLOSED': {}, 'OPEN': {}}} device_class: door unit: None
2024-10-18 10:22:52.952 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger door state for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.952 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: sensor entity_attr: dryingNominalLoadWeight entity_source:  capability: {'access': 'read', 'max': 20000, 'min': 0, 'type': 'number', 'values': {'NOT_AVAILABLE': {'disabled': True}}} device_class: None unit: None
2024-10-18 10:22:52.952 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger drying nominal load weight for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.953 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: select entity_attr: endOfCycleSound entity_source:  capability: {'access': 'readwrite', 'type': 'string', 'values': {'NO_SOUND': {}, 'SHORT_SOUND': {}}} device_class: None unit: None
2024-10-18 10:22:52.953 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger end of cycle sound for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.953 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: button entity_attr: executeCommand entity_source:  capability: {'access': 'write', 'type': 'string', 'values': {'OFF': {}, 'ON': {}, 'PAUSE': {}, 'RESUME': {}, 'START': {}, 'STOPRESET': {}}} device_class: None unit: None
2024-10-18 10:22:52.953 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger execute command for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.953 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger execute command for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.953 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger execute command for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.953 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger execute command for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.953 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger execute command for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.954 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger execute command for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.954 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux unable to determine type for miscellaneous. Type: complex Access: readwrite
2024-10-18 10:22:52.954 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: None entity_attr: miscellaneous entity_source:  capability: {'access': 'readwrite', 'type': 'complex'} device_class: None unit: None
2024-10-18 10:22:52.954 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: sensor entity_attr: remoteControl entity_source:  capability: {'access': 'read', 'triggers': [{'action': {'executeCommand': {'disabled': True}}, 'condition': {'operand_1': {'operand_1': 'value', 'operand_2': 'NOT_SAFETY_RELEVANT_ENABLED', 'operator': 'eq'}, 'operand_2': {'operand_1': 'value', 'operand_2': 'DISABLED', 'operator': 'eq'}, 'operator': 'or'}}], 'type': 'string', 'values': {'DISABLED': {}, 'ENABLED': {}, 'NOT_SAFETY_RELEVANT_ENABLED': {}, 'TEMPORARY_LOCKED': {}}} device_class: None unit: None
2024-10-18 10:22:52.954 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger remote control for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.954 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: number entity_attr: startTime entity_source:  capability: {'access': 'readwrite', 'max': 72000, 'min': 0, 'step': 1800, 'triggers': [{'action': {'$self': {'access': 'read'}}, 'condition': {'operand_1': {'operand_1': 'value', 'operand_2': 'INVALID_OR_NOT_SET_TIME', 'operator': 'eq'}, 'operand_2': {'operand_1': 'applianceState', 'operand_2': 'PAUSED', 'operator': 'eq'}, 'operator': 'and'}}], 'type': 'number', 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}} device_class: None unit: s
2024-10-18 10:22:52.954 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger start time for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.955 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: sensor entity_attr: timeToEnd entity_source:  capability: {'access': 'read', 'type': 'number'} device_class: duration unit: s
2024-10-18 10:22:52.955 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger time to end for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.955 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: sensor entity_attr: totalCycleCounter entity_source:  capability: {'access': 'read', 'type': 'number'} device_class: None unit: None
2024-10-18 10:22:52.955 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger total cycle counter for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.955 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: switch entity_attr: uiLockMode entity_source:  capability: {'access': 'readwrite', 'type': 'boolean', 'values': {'OFF': {}, 'ON': {}}} device_class: switch unit: None
2024-10-18 10:22:52.955 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger ui lock mode for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.955 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux unable to determine type for userSelections. Type: complex Access: readwrite
2024-10-18 10:22:52.956 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: None entity_attr: userSelections entity_source:  capability: {'access': 'readwrite', 'type': 'complex'} device_class: None unit: None
2024-10-18 10:22:52.956 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: number entity_attr: antiCreaseValue entity_source: userSelections capability: {'access': 'readwrite', 'default': 30, 'max': 120, 'min': 30, 'step': 30, 'type': 'number'} device_class: None unit: None
2024-10-18 10:22:52.956 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger user selections anti crease value for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.956 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: number entity_attr: dryingTime entity_source: userSelections capability: {'access': 'readwrite', 'default': 0, 'max': 120, 'min': 0, 'step': 10, 'triggers': [{'action': {'userSelections/humidityTarget': {'default': 'UNDEFINED'}, 'userSelections/refresh': {'disabled': True}, 'userSelections/reversePlus': {'access': 'read', 'default': False}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}, 'userSelections/tDEconomy_Night': {'access': 'read', 'default': False, 'disabled': True}}, 'condition': {'operand_1': 'value', 'operand_2': 0, 'operator': 'ne'}}, {'action': {'userSelections/reversePlus': {'access': 'default'}, 'userSelections/tDEconomy_Eco': {'access': 'default'}, 'userSelections/tDEconomy_Night': {'access': 'default'}}, 'condition': {'operand_1': 'value', 'operand_2': 0, 'operator': 'eq'}}], 'type': 'number'} device_class: None unit: None
2024-10-18 10:22:52.956 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger user selections drying time for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.956 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: select entity_attr: drynessValue entity_source: userSelections capability: {'access': 'readwrite', 'type': 'string', 'values': {'MAXIMUM': {}, 'MEDIUM': {}, 'MINIMUM': {}, 'UNDEFINED': {'disabled': True}}} device_class: None unit: None
2024-10-18 10:22:52.956 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger user selections dryness value for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.958 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: select entity_attr: humidityTarget entity_source: userSelections capability: {'access': 'readwrite', 'triggers': [{'action': {'userSelections/dryingTime': {'default': 0}}, 'condition': {'operand_1': 'value', 'operand_2': 'UNDEFINED', 'operator': 'ne'}}, {'action': {'userSelections/tDEconomy_Night': {'default': False}}, 'condition': {'operand_1': 'value', 'operand_2': 'IRON', 'operator': 'eq'}}], 'type': 'string', 'values': {'CUPBOARD': {}, 'EXTRA': {}, 'IRON': {}, 'STRONG': {}, 'UNDEFINED': {'disabled': True}}} device_class: None unit: None
2024-10-18 10:22:52.959 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger user selections humidity target for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.959 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: select entity_attr: programUID entity_source: userSelections capability: {'access': 'readwrite', 'type': 'string', 'values': {'AUTO_EASY_IRON_PR_EASYIRON': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'IRON', 'disabled': False, 'values': {'IRON': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'BED_LINEN_PLUS_PR_BEDLINENPLUS': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}, 'EXTRA': {}, 'IRON': {}}}, 'userSelections/reversePlus': {'access': 'read', 'default': True, 'disabled': True}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'COTTON_PR_COTTONS': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/dryingTime': {'access': 'readwrite', 'default': 0, 'disabled': False, 'max': 120, 'min': 0, 'step': 10}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}, 'EXTRA': {}, 'IRON': {}, 'STRONG': {}, 'UNDEFINED': {'disabled': True}}}, 'userSelections/refresh': {'access': 'readwrite', 'default': False, 'disabled': False}, 'userSelections/reversePlus': {'access': 'readwrite', 'default': False, 'disabled': True}, 'userSelections/tDEconomy_Eco': {'access': 'readwrite', 'default': True, 'disabled': True}, 'userSelections/tDEconomy_Night': {'access': 'readwrite', 'default': False, 'disabled': False}}, 'COTTON_PR_COTTONSECO': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'DOWN_JACKET_PR_DOWN_JACKET': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}, 'EXTRA': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'DUVET_PR_DUVET': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'EXTRA_DELICATE_PR_DELICATES': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}}}}, 'FLEECE_PR_FLEECE': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'JEANS_PR_JEANS': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'MACHINE_SETTINGS_HIDDEN_TEST': {'disabled': True}, 'OUTD_PROOF_PR_OUTDOOR': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'OUTD_PROOF_PR_PROOFINGTREATMENT': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'SHIRTS_PR_BUSINESSSHIRT': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'IRON', 'disabled': False, 'values': {'IRON': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'SILK_DRY_PR_SILK': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'SPORTS_PR_MICROFIBRE': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'SPORTS_PR_SPORT': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'SYNTHETIC_PR_SYNTHETICS': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/dryingTime': {'access': 'readwrite', 'default': 0, 'disabled': False, 'max': 120, 'min': 0, 'step': 10}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}, 'EXTRA': {}, 'IRON': {}, 'UNDEFINED': {'disabled': True}}}, 'userSelections/refresh': {'access': 'readwrite', 'default': False, 'disabled': False}, 'userSelections/tDEconomy_Eco': {'access': 'readwrite', 'default': True, 'disabled': True}, 'userSelections/tDEconomy_Night': {'access': 'readwrite', 'default': False, 'disabled': False}}, 'TIMEDRY_PR_DRYINGRACK': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/dryingTime': {'access': 'readwrite', 'default': 10, 'disabled': False, 'max': 120, 'min': 10, 'step': 10}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'TOWELS_PR_TOWELS': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'UNIVERSAL_PR_MIXEDPLUS': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/dryingTime': {'access': 'readwrite', 'default': 0, 'disabled': False, 'max': 120, 'min': 0, 'step': 10}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}, 'EXTRA': {}}}, 'userSelections/reversePlus': {'access': 'read', 'default': True, 'disabled': True}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'WOOL_GOLD_PR_WOOL': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/drynessValue': {'access': 'readwrite', 'default': 'MEDIUM', 'disabled': False, 'values': {'MAXIMUM': {}, 'MEDIUM': {}, 'MINIMUM': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}, 'WORKINGCLOTHES_PR_WORKINGCLOTHES': {'startTime': {'access': 'readwrite', 'disabled': False, 'max': 72000, 'min': 0, 'step': 1800, 'values': {'INVALID_OR_NOT_SET_TIME': {'disabled': True}}}, 'userSelections/antiCreaseValue': {'access': 'readwrite', 'default': 30, 'disabled': False, 'max': 120, 'min': 30, 'step': 30}, 'userSelections/humidityTarget': {'access': 'readwrite', 'default': 'CUPBOARD', 'disabled': False, 'values': {'CUPBOARD': {}}}, 'userSelections/tDEconomy_Eco': {'access': 'read', 'default': True, 'disabled': True}}}} device_class: None unit: None
2024-10-18 10:22:52.960 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger user selections program uid for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.960 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: None entity_attr: programsOrder entity_source: userSelections capability: {'items': ['MACHINE_SETTINGS_HIDDEN_TEST', 'COTTON_PR_COTTONSECO', 'COTTON_PR_COTTONS', 'SYNTHETIC_PR_SYNTHETICS', 'UNIVERSAL_PR_MIXEDPLUS', 'EXTRA_DELICATE_PR_DELICATES', 'WOOL_GOLD_PR_WOOL', 'SILK_DRY_PR_SILK', 'BED_LINEN_PLUS_PR_BEDLINENPLUS', 'OUTD_PROOF_PR_OUTDOOR', 'DOWN_JACKET_PR_DOWN_JACKET', 'JEANS_PR_JEANS', 'DUVET_PR_DUVET', 'SPORTS_PR_SPORT', 'SHIRTS_PR_BUSINESSSHIRT', 'SPORTS_PR_MICROFIBRE', 'TOWELS_PR_TOWELS', 'FLEECE_PR_FLEECE', 'WORKINGCLOTHES_PR_WORKINGCLOTHES', 'OUTD_PROOF_PR_PROOFINGTREATMENT', 'AUTO_EASY_IRON_PR_EASYIRON', 'TIMEDRY_PR_DRYINGRACK']} device_class: None unit: None
2024-10-18 10:22:52.961 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: switch entity_attr: refresh entity_source: userSelections capability: {'access': 'readwrite', 'default': False, 'triggers': [{'action': {'userSelections/dryingTime': {'access': 'read'}, 'userSelections/humidityTarget': {'disabled': True}, 'userSelections/reversePlus': {'default': False}}, 'condition': {'operand_1': 'value', 'operand_2': True, 'operator': 'eq'}}, {'action': {'userSelections/dryingTime': {'access': 'readwrite'}, 'userSelections/humidityTarget': {'disabled': False}}, 'condition': {'operand_1': 'value', 'operand_2': False, 'operator': 'eq'}}], 'type': 'boolean'} device_class: None unit: None
2024-10-18 10:22:52.961 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger user selections refresh for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.961 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: binary_sensor entity_attr: reversePlus entity_source: userSelections capability: {'access': 'read', 'default': False, 'type': 'boolean'} device_class: None unit: None
2024-10-18 10:22:52.961 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger user selections reverse plus for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.961 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: switch entity_attr: tDEconomy_Eco entity_source: userSelections capability: {'access': 'readwrite', 'triggers': [{'action': {'userSelections/tDEconomy_Night': {'default': False}}, 'condition': {'operand_1': 'value', 'operand_2': True, 'operator': 'eq'}}, {'action': {'userSelections/tDEconomy_Night': {'default': True}}, 'condition': {'operand_1': 'value', 'operand_2': False, 'operator': 'eq'}}], 'type': 'boolean'} device_class: None unit: None
2024-10-18 10:22:52.961 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger user selections t deconomy eco for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.962 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: switch entity_attr: tDEconomy_Night entity_source: userSelections capability: {'access': 'readwrite', 'triggers': [{'action': {'userSelections/reversePlus': {'default': False}, 'userSelections/tDEconomy_Eco': {'default': False}}, 'condition': {'operand_1': 'value', 'operand_2': True, 'operator': 'eq'}}, {'action': {'userSelections/tDEconomy_Eco': {'default': True}}, 'condition': {'operand_1': 'value', 'operand_2': False, 'operator': 'eq'}}], 'type': 'boolean'} device_class: None unit: None
2024-10-18 10:22:52.962 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger user selections t deconomy night for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.962 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux get_entity. entity_type: select entity_attr: waterHardness entity_source:  capability: {'access': 'readwrite', 'type': 'string', 'values': {'HARD': {}, 'MEDIUM': {}, 'SOFT': {}}} device_class: None unit: None
2024-10-18 10:22:52.962 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux new entity Droger water hardness for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.963 DEBUG (MainThread) [custom_components.electrolux_status] async_setup_entry listen_websocket
2024-10-18 10:22:52.963 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux listen_websocket for appliances 916098632_02:23119797-443E07301B45
2024-10-18 10:22:52.963 DEBUG (MainThread) [custom_components.electrolux_status] async_setup_entry async_config_entry_first_refresh

2024-10-18 10:22:53.044 DEBUG (MainThread) [custom_components.electrolux_status] Finished fetching electrolux_status data in 0.081 seconds (success: True)
2024-10-18 10:22:53.044 DEBUG (MainThread) [custom_components.electrolux_status] async_setup_entry extend PLATFORMS
2024-10-18 10:22:53.045 DEBUG (MainThread) [custom_components.electrolux_status] async_setup_entry async_forward_entry_setups
2024-10-18 10:22:53.046 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux add 2 BINARY_SENSOR entities to registry for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:53.051 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux add 6 BUTTON entities to registry for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:53.057 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux add 3 NUMBER entities to registry for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:53.063 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux add 5 SELECT entities to registry for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:53.074 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux add 12 SENSOR entities to registry for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:53.080 ERROR (MainThread) [homeassistant.components.sensor] Platform electrolux_status does not generate unique IDs. ID 01JADQNQ35BR9QNE4VWHQB0GBX-applianceMode-root-916098632_02:23119797-443E07301B45 is already used by sensor.aeg_droger_appliancemode - ignoring sensor.AEG_Droger__applianceMode
2024-10-18 10:22:53.099 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux add 4 SENSOR entities to registry for appliance 916098632_02:23119797-443E07301B45
2024-10-18 10:22:53.105 DEBUG (MainThread) [custom_components.electrolux_status] async_setup_entry OVER

2024-10-18 10:22:55.371 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux appliance state updated {"916098632_02:23119797-443E07301B45": {"totalDryCyclesCount": 0, "doorState": "OPEN", "timeToEnd": 6540, "miscellaneous": {}, "applianceUiSwVersion": "U1B18212", "applianceTotalWorkingTime": 2268000, "remoteControl": "NOT_SAFETY_RELEVANT_ENABLED", "totalDryingTime": 4294967295, "language": "ENGLISH", "dryingNominalLoadWeight": 8000, "fCMiscellaneousState": {}, "cyclePhase": "UNAVAILABLE", "endOfCycleSound": "SHORT_SOUND", "startTime": -1, "userSelections": {"reversePlus": false, "tDEconomy_Eco": true, "humidityTarget": "CUPBOARD", "refresh": false, "dryingTime": 0, "drynessValue": "MINIMUM", "programUID": "COTTON_PR_COTTONSECO", "antiCreaseValue": 30, "tDEconomy_Night": false, "tDEconomy_Quick": false, "steamValue": "STEAM_OFF"}, "waterHardness": "HARD", "applianceInfo": {"applianceType": "TD"}, "uiLockMode": false, "fcOptisenseLoadWeight": 65535, "applianceState": "OFF", "applianceMode": "NORMAL", "applianceMainBoardSwVersion": "TRB40079", "totalCycleCounter": 376, "measuredLoadWeight": 65535, "alerts": [], "networkInterface": {"linkQualityIndicator": "GOOD", "otaState": "IDLE", "swVersion": "v1.9.1_hacl", "swAncAndRevision": "S00006777A", "niuSwUpdateCurrentDescription": "A16323310A-S00006777A"}, "applianceCareAndMaintenance0": {"1": {"occured": false, "threshold": 255}, "2": {"occured": false, "threshold": 100}, "3": {"occured": false, "threshold": 1}, "4": {"occured": false, "threshold": 0}, "5": {"occured": false, "threshold": 0}}, "applianceCareAndMaintenance1": {"6": {"occured": false, "threshold": 0}, "7": {"occured": false, "threshold": 0}, "8": {"occured": false, "threshold": 0}, "9": {"occured": false, "threshold": 0}, "10": {"occured": false, "threshold": 0}}, "applianceCareAndMaintenance2": {"11": {"occured": false, "threshold": 0}}, "applianceCareAndMaintenance3": {"16": {"occured": false, "threshold": 0}}, "connectivityState": "disconnected"}}
2024-10-18 10:22:55.371 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux update reported data {'totalDryCyclesCount': 0, 'doorState': 'OPEN', 'timeToEnd': 6540, 'miscellaneous': {}, 'applianceUiSwVersion': 'U1B18212', 'applianceTotalWorkingTime': 2268000, 'remoteControl': 'NOT_SAFETY_RELEVANT_ENABLED', 'totalDryingTime': 4294967295, 'language': 'ENGLISH', 'dryingNominalLoadWeight': 8000, 'fCMiscellaneousState': {}, 'cyclePhase': 'UNAVAILABLE', 'endOfCycleSound': 'SHORT_SOUND', 'startTime': -1, 'userSelections': {'reversePlus': False, 'tDEconomy_Eco': True, 'humidityTarget': 'CUPBOARD', 'refresh': False, 'dryingTime': 0, 'drynessValue': 'MINIMUM', 'programUID': 'COTTON_PR_COTTONSECO', 'antiCreaseValue': 30, 'tDEconomy_Night': False, 'tDEconomy_Quick': False, 'steamValue': 'STEAM_OFF'}, 'waterHardness': 'HARD', 'applianceInfo': {'applianceType': 'TD'}, 'uiLockMode': False, 'fcOptisenseLoadWeight': 65535, 'applianceState': 'OFF', 'applianceMode': 'NORMAL', 'applianceMainBoardSwVersion': 'TRB40079', 'totalCycleCounter': 376, 'measuredLoadWeight': 65535, 'alerts': [], 'networkInterface': {'linkQualityIndicator': 'GOOD', 'otaState': 'IDLE', 'swVersion': 'v1.9.1_hacl', 'swAncAndRevision': 'S00006777A', 'niuSwUpdateCurrentDescription': 'A16323310A-S00006777A'}, 'applianceCareAndMaintenance0': {'1': {'occured': False, 'threshold': 255}, '2': {'occured': False, 'threshold': 100}, '3': {'occured': False, 'threshold': 1}, '4': {'occured': False, 'threshold': 0}, '5': {'occured': False, 'threshold': 0}}, 'applianceCareAndMaintenance1': {'6': {'occured': False, 'threshold': 0}, '7': {'occured': False, 'threshold': 0}, '8': {'occured': False, 'threshold': 0}, '9': {'occured': False, 'threshold': 0}, '10': {'occured': False, 'threshold': 0}}, 'applianceCareAndMaintenance2': {'11': {'occured': False, 'threshold': 0}}, 'applianceCareAndMaintenance3': {'16': {'occured': False, 'threshold': 0}}, 'connectivityState': 'disconnected'}
2024-10-18 10:22:55.372 DEBUG (MainThread) [custom_components.electrolux_status] Electrolux updated reported data {'applianceId': '916098632_02:23119797-443E07301B45', 'applianceData': {'applianceName': 'Droger', 'created': '2022-08-29T11:39:50.839Z', 'modelName': 'TD'}, 'properties': {'desired': {}, 'reported': {'totalDryCyclesCount': 0, 'doorState': 'OPEN', 'timeToEnd': 6540, 'miscellaneous': {}, 'applianceUiSwVersion': 'U1B18212', 'applianceTotalWorkingTime': 2268000, 'remoteControl': 'NOT_SAFETY_RELEVANT_ENABLED', 'totalDryingTime': 4294967295, 'language': 'ENGLISH', 'dryingNominalLoadWeight': 8000, 'fCMiscellaneousState': {}, 'cyclePhase': 'UNAVAILABLE', 'endOfCycleSound': 'SHORT_SOUND', 'startTime': -1, 'userSelections': {'reversePlus': False, 'tDEconomy_Eco': True, 'humidityTarget': 'CUPBOARD', 'refresh': False, 'dryingTime': 0, 'drynessValue': 'MINIMUM', 'programUID': 'COTTON_PR_COTTONSECO', 'antiCreaseValue': 30, 'tDEconomy_Night': False, 'tDEconomy_Quick': False, 'steamValue': 'STEAM_OFF'}, 'waterHardness': 'HARD', 'applianceInfo': {'applianceType': 'TD'}, 'uiLockMode': False, 'fcOptisenseLoadWeight': 65535, 'applianceState': 'OFF', 'applianceMode': 'NORMAL', 'applianceMainBoardSwVersion': 'TRB40079', 'totalCycleCounter': 376, 'measuredLoadWeight': 65535, 'alerts': [], 'networkInterface': {'linkQualityIndicator': 'GOOD', 'otaState': 'IDLE', 'swVersion': 'v1.9.1_hacl', 'swAncAndRevision': 'S00006777A', 'niuSwUpdateCurrentDescription': 'A16323310A-S00006777A'}, 'applianceCareAndMaintenance0': {'1': {'occured': False, 'threshold': 255}, '2': {'occured': False, 'threshold': 100}, '3': {'occured': False, 'threshold': 1}, '4': {'occured': False, 'threshold': 0}, '5': {'occured': False, 'threshold': 0}}, 'applianceCareAndMaintenance1': {'6': {'occured': False, 'threshold': 0}, '7': {'occured': False, 'threshold': 0}, '8': {'occured': False, 'threshold': 0}, '9': {'occured': False, 'threshold': 0}, '10': {'occured': False, 'threshold': 0}}, 'applianceCareAndMaintenance2': {'11': {'occured': False, 'threshold': 0}}, 'applianceCareAndMaintenance3': {'16': {'occured': False, 'threshold': 0}}, 'connectivityState': 'disconnected'}, 'metadata': {}}, 'status': 'enabled', 'connectionState': 'disconnected'}
2024-10-18 10:22:55.373 DEBUG (MainThread) [custom_components.electrolux_status] Manually updated electrolux_status data

@albaintor
Copy link
Owner

Everything seems normal here : I mean that the built entity names by the integration have only one "Droger" word in the form "Droger ". I don't explain why you have duplicate names unless you renamed the device like here
image

You can revert this by clicking on the pencil and put a unique name. This will suggest to rename all the entities with the new prefix

@nelbs
Copy link
Author

nelbs commented Oct 18, 2024

Thats interesting, when I change the device name in HA (for example from Droger to Dryer) only the first part will be changed, see below.

I also tried to change the name of the device in the AEG app but them I got a new device with the same double named entities.

image

@kingy444
Copy link

After re adding the integration all the sensors names contains two times the device name. For example dryer dryer door state.

image

This is by design and not a bug - your device is called Droger in the app but so is the Appliance

Ie if you called it FrenchFry in the app your entity would now be FrenchFry Droger door state

The first is the appliance name (and inherited from the device), the second is the entity name (which comes from a property in the JSON), then the actual property the entity is attached to

This is all dynamic so that new devices are supported out the box

For instance. Assume I gave 2 fridges. In the Electrolux app one would be called Kitchen Fridge and the other Garage Fridges (I'm not that rich, but as an example)
Each fridge needs to have its own entities but also has multiple components (not as simple as a fryer)
I need
Kitchen Fridge Fridge Door
Kitchen Fridge Freezer Door
Garage Fridge Ice Maker
Not just a simple
Fridge door that appears twice

The integration creates entities the way HA core expects them, using the device name as part of the entity

There is ability to submit a PR with friendly names for the devices if you wanted too. But you can just rename them once off too

@kingy444
Copy link

@albaintor for attention of my note above - let me know if that doesn't make sense

@nelbs
Copy link
Author

nelbs commented Oct 18, 2024

Thanks for the detailed explanation! but it is a bit different than you describe. If you have two fridges Kitchen Fridge and Garage Fridge then you will get the following entities while setting up the integration:

Kitchen Fridge Kitchen Fridge Door and Garage Fridge Garage Fridge Door

image

That does not seem right to me. And in previous versions this was not the case so I suspect this is a bug.

@kingy444
Copy link

kingy444 commented Oct 18, 2024

Nope (well at least not the intended) 😀

The Kitchen Fridge part is coming from the device name then fridge is coming from the parent element in the json then door state the json element with the value

See how your entity changed to Droger to Dryer but kept the second part - will be the exact same reason

Your json is holding the elements in a parent element called dryer

You will notice some that sit at the root such as appliance state (guessing but seems to be a consistent one) will not have that duplicate dryer

@kingy444
Copy link

For a visual

image

@nelbs
Copy link
Author

nelbs commented Oct 18, 2024

In the entity list the name also looks right. But when I select a particular entity a double name is shown. I understand If I change the AEG App name to Fridge and the HA device to Kitchen (what is not logical for a device name) I get the right name. But the need for changing the name manually after setting up the integration to get things right does not seem right to me.

image
image

@albaintor
Copy link
Owner

I have slightly changed the generation of entity names but this won't affect this.
@kingy444 there are 2 methods to generate names => get_sensor_name and get_entity_name.
They don't work the same way. Sensor name (display name) tries to produce a better name and concatenates it with the device name.
Whereas the other method is used to build the entity name shown in the second picture.

I don't have clear ideas but I guess that a part of the generation of the name should be common.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants