Thanks for this works great with my washer. Would be nice to have time to end in minutes instead of seconds
There are a lot of requests to change time to end from seconds to minutes,
I will change it soon.
Ciao @correct_horse,
I already implemented “Region” parameter.
Is it work correctly? or some other integrations are required?
Ciao @MauroM,
Thanks for adding support for the Region parameter. The authentication process works with no issues. However the integration doesn’t seem to support my appliance yet, Electrolux EHE6899SA. As soon as I add the appliance, the integration gets stuck at “Retrying setup”.
I’ll see if I can find more information as to why this is not working.
Hi @correct_horse ,
Could You share output of following code? (Remember to hide sensitive data)
import pyelectroluxconnect
from pprint import pprint
ses = pyelectroluxconnect.Session("myemailaddress", "mypassword", tokenFileName = ".electrolux-token", country = "AU", language = None, deviceId = "CustomeDeviceId", raw = True, verifySsl = True, region="apac")
ses.login()
appllist = ses.getAppliances()
print(appllist)
for appliance in appllist:
pprint(ses.getApplianceProfile(appliance))
print("-------------------------------------------------------------------------------------------")
pprint(ses.getApplianceState(appliance, rawOutput = False))
Hi @tomeko12,
Sure, not a problem. I’m splitting the output in two responses as I’m reaching the character limit.
First part:
>>> import pyelectroluxconnect
>>> from pprint import pprint
>>> ses = pyelectroluxconnect.Session("[email protected]", "XXXXXXXXXXXX", tokenFileName = ".electrolux-token", country = "AU", language = None, deviceId = "CustomeDeviceId", raw = True, verifySsl = True, region="apac")
>>> ses.login()
--- token file found
--- url: GET https://api.apac.ecp.electrolux.com/user-appliance-reg/users/XXXXXXXXXXXX%40gmail.com/appliances
--- respose body---
{"status":"OK","code":"ECP0000","message":"success","data":[{"appliance_type":"XXXXXXXXXXXX_05","appliance_id":"XXXXXXXXXXXX-XXXXXXXXXXXX","pnc":"XXXXXXXXXXXX","elc":"05","sn":"XXXXXXXXXXXX","mac":"XXXXXXXXXXXX","cpv":"00","nickname":"My Fridge"}]}
--- raw ending ---
--- url: GET https://api.apac.ecp.electrolux.com/config-files/configurations/search?pnc=XXXXXXXXXXXX&elc=05&serial_number=XXXXXXXXXXXX
--- respose body---
{"status":"OK","code":"ECP0000","message":"success","data":[{"configuration_id":"XXXXXXXXXXXX_05_00","configuration_description":{"brand":"Electrolux","pnc":"XXXXXXXXXXXX","elc":"05","serial_number_from":0,"serial_number_to":99999999,"cpv":"00","schema_version":"0.5.a","version":"1.0021","state":"production","author_id":"marcosan","timestamp":1643993692556},"configuration_file":{"XXXXXXXXXXXX_05_00.zip":{"content_type":"application/zip","revpos":11,"digest":"md5-d177c3ffcc75b7c27fb52646e96217a8","length":0,"stub":false}}}]}
--- raw ending ---
>>> appllist = ses.getAppliances()
>>> print(appllist)
{'XXXXXXXXXXXX-XXXXXXXXXXXX': {'alias': 'My Fridge', 'pnc': 'XXXXXXXXXXXX', 'elc': '05', 'sn': 'XXXXXXXXXXXX', 'mac': 'XXXXXXXXXXXX', 'cpv': '00', 'group': 'Refrigeration', 'brand': 'Electrolux', 'model': 'EHE6799SA'}}
>>> for appliance in appllist:
... pprint(ses.getApplianceProfile(appliance))
... print("-------------------------------------------------------------------------------------------")
... pprint(ses.getApplianceState(appliance, rawOutput = False))
...
{'0x0002': {'access': 'read',
'data_format': 'string',
'name': 'SerialNumber',
'nameTransl': 'S/N:',
'path': '/HaclV4/CR1',
'visibility': 'visible'},
'0x0007': {'access': 'read',
'data_format': 'string',
'name': 'AppliancePnc',
'nameTransl': 'PNC:',
'path': '/HaclV4/CR1',
'visibility': 'visible'},
'0x000A': {'access': 'read',
'data_format': 'string',
'name': 'ApplianceElc',
'nameTransl': 'ELC:',
'path': '/HaclV4/CR1',
'visibility': 'visible'},
'0x0011': {'access': 'read',
'data_format': 'string',
'name': 'SwVersion',
'nameTransl': 'NIUx SW Version:',
'path': '/HaclV4/NIU',
'visibility': 'visible'},
'0x0016': {'access': 'read',
'data_format': 'string',
'name': 'ApplianceMainBoardSwVersion',
'nameTransl': 'Main Board SW Version',
'path': '/HaclV4/CR1',
'visibility': 'hidden'},
'0x0017': {'access': 'read',
'data_format': 'string',
'name': 'ApplianceMainBoardConfigVersion',
'path': '/HaclV4/CR1',
'visibility': 'hidden'},
'0x0018': {'access': 'read',
'data_format': 'string',
'name': 'SwAnc',
'nameTransl': 'Niu Sw Anc:',
'path': '/HaclV4/NIU',
'visibility': 'visible'},
'0x0030': {'access': 'read',
'data_format': 'array(byte)',
'name': 'MacAddress',
'nameTransl': 'MAC address:',
'path': '/HaclV4/NIU',
'visibility': 'visible'},
'0x0032': {'access': 'read',
'data_format': 'uint8',
'name': 'LinkQualityIndicator',
'nameTransl': 'Signal strength:',
'path': '/HaclV4/NIU',
'steps': [{'0': 'No Signal'},
{'1': '1/5'},
{'2': '2/5'},
{'3': '3/5'},
{'4': '4/5'},
{'5': '5/5'}],
'visibility': 'visible'},
'0x0060': {'access': 'read',
'data_format': 'uint8',
'name': 'State',
'nameTransl': 'OTA Status',
'path': '/HaclV4/NIU',
'steps': [{'0': 'Idle'},
{'1': 'Description Available'},
{'2': 'Downloading Description'},
{'3': 'Description Ready'},
{'4': 'Downloading SW'},
{'5': 'SW Signature Check'},
{'6': 'Ready To Update'},
{'7': 'SW Update Running'},
{'8': 'Sw Update Check'},
{'9': 'Sw Update OK'},
{'10': 'Sw Update Error'},
{'11': 'Sw Update Abort'},
{'12': 'Waiting Authorization'},
{'13': 'Waiting for starting downloading SW'}],
'visibility': 'visible'},
'0x0070': {'access': 'read',
'data_format': 'string',
'name': 'Ssid',
'path': '/HaclV4/NIU',
'visibility': 'hidden'},
'0x0400': {'access': 'read',
'data_format': 'uint8',
'name': 'ApplianceMode',
'nameTransl': 'Appliance Mode',
'path': '/HaclV4/CR1',
'steps': [{'0': 'Appliance in Normal Mode'},
{'1': 'Appliance in Demo Mode'},
{'2': 'Appliance in Service Mode'}],
'visibility': 'visible'},
'0x0415': {'access': 'readwrite',
'data_format': 'int32',
'increment': '60',
'max_value': '2700',
'min_value': '1200',
'name': 'ReminderTime',
'nameTransl': 'Drink Chill',
'path': '/HaclV4/CR1',
'unit': 'UNIT_SSS',
'visibility': 'visible'},
'0x0420': {'access': 'read',
'data_format': 'uint8',
'max_value': '0',
'min_value': '0',
'name': 'TemperatureRepresentation',
'nameTransl': '',
'path': '/HaclV4/CR1',
'steps': [{'0': 'Celsius'}],
'visibility': 'visible'},
'0x0424': {'access': 'readwrite',
'data_format': 'uint8',
'name': 'VacationHolidayMode',
'nameTransl': '',
'path': '/HaclV4/CR1',
'steps': [{'0': 'Off'}, {'1': 'On'}],
'visibility': 'visible'},
'0x0430': {'access': 'read',
'container': [{'0': {'access': 'read',
'data_format': 'uint8',
'max_value': '0',
'min_value': '0',
'name': 'Unit',
'nameTransl': '',
'steps': {'0': {'transl': 'Celsius'}},
'visibility': 'hidden'},
'1': {'access': 'read',
'data_format': 'int16',
'name': 'Coefficient',
'nameTransl': '',
'visibility': 'hidden'},
'3': {'access': 'read',
'data_format': 'int8',
'max_value': '0',
'min_value': '0',
'name': 'Exponent',
'nameTransl': '',
'visibility': 'hidden'}}],
'data_format': 'struct',
'name': 'AmbientTemperature',
'nameTransl': '',
'path': '/HaclV4/CR1',
'type': 'Container',
'visibility': 'hidden'},
'0x0463': {'access': 'readwrite',
'data_format': 'uint8',
'name': 'UiLockMode',
'nameTransl': 'Fridge Settings Lock',
'path': '/HaclV4/CR1',
'steps': [{'0': 'OFF'}, {'1': 'ON'}],
'visibility': 'visible'},
'0x0465': {'access': 'readwrite',
'data_format': 'uint8',
'name': 'Ui2LockMode',
'nameTransl': 'Ice & Water Dispenser Lock',
'path': '/HaclV4/CR1',
'steps': [{'0': 'Unlocked'}, {'1': 'Locked'}],
'visibility': 'visible'},
'0x0470': {'access': 'read',
'container': [{'0': {'access': 'read',
'data_format': 'uint8',
'name': 'Number',
'nameTransl': 'Number',
'visibility': 'visible'},
'1': {'access': 'read',
'data_format': 'array(struct)',
'list': {'0.0': {'access': 'read',
'data_format': 'uint8',
'name': 'Severity',
'nameTransl': 'Severity',
'steps': {'0': {'key': 'WARNING',
'transl': 'Warning'},
'1': {'key': 'ALERT',
'transl': 'Alarm'},
'2': {'key': 'FAULT',
'transl': 'Fault'},
'3': {'key': 'DIAGNOSTIC',
'transl': 'Diagnostic'},
'4': {'key': 'ALERT_UNDER_TEST',
'transl': 'Alert '
'Under '
'Test'}},
'visibility': 'visible'},
'0.6': {'access': 'read',
'data_format': 'uint8',
'name': 'AcknowledgeStatus',
'nameTransl': 'Acknowledge '
'Status',
'steps': {'0': {'key': 'NOT_NEEDED',
'transl': ' '
'Not '
'Needed'},
'1': {'key': 'PENDING',
'transl': 'Pending'},
'2': {'key': 'DONE',
'transl': 'Done'}},
'visibility': 'visible'},
'1': {'access': 'read',
'data_format': 'uint16',
'name': 'Code',
'nameTransl': 'Code',
'steps': {'1': {'key': 'POWER_FAILURE_ALARM',
'transl': 'Combi '
'Refrigerator '
'Power '
'Failure '
'Alarm'},
'12': {'key': 'HUMIDITY_SENSOR_BROKEN',
'transl': 'Combi '
'Refrigerator '
'Humidity '
'Sensor '
'Broken'},
'13': {'key': 'HUMIDITY_SENSOR_OPEN_CIRCUIT',
'transl': 'Combi '
'Refrigerator '
'Humidity '
'Sensor '
'Open '
'Circuit'},
'14': {'key': 'HUMIDITY_SENSOR_SHORT_CIRCUIT',
'transl': 'Combi '
'Refrigerator '
'Humidity '
'Sensor '
'Short '
'Circuit'},
'2': {'key': 'COMMUNICATION_ALARM',
'transl': 'Combi '
'Refrigerator '
'Communication '
'Alarm'},
'3': {'key': 'DRINK_CHILL_EXPIRED',
'transl': 'Combi '
'Refrigerator '
'Drink '
'Chill '
'Expired'},
'6': {'key': 'AIR_SENSOR_BROKEN',
'transl': 'Combi '
'Refrigerator '
'Air '
'Sensor '
'Broken'},
'7': {'key': 'AIR_SENSOR_OPEN_CIRCUIT',
'transl': 'Combi '
'Refrigerator '
'Air '
'Sensor '
'Open '
'Circuit'},
'8': {'key': 'AIR_SENSOR_SHORT_CIRCUIT',
'transl': 'Combi '
'Refrigerator '
'Air '
'Sensor '
'Short '
'Circuit'}},
'visibility': 'visible'},
'3': {'access': 'read',
'data_format': 'uint32',
'name': 'UnixTime',
'visibility': 'hidden'}},
'name': 'List',
'visibility': 'hidden'}}],
'data_format': 'struct',
'name': 'Hacl4AlertEvent',
'path': '/HaclV4/CR1',
'type': 'Container',
'visibility': 'hidden'},
'0x0473': {'access': 'read',
'container': [{'0': {'access': 'read',
'data_format': 'uint8',
'name': 'Number',
'nameTransl': 'Niu Alert Event Number',
'visibility': 'visible'},
'1': {'access': 'read',
'data_format': 'array(struct)',
'list': {'0': {'access': 'read',
'data_format': 'uint8',
'name': 'Severity',
'nameTransl': 'Niu Alert Event '
'Severity',
'steps': {'0': {'key': 'WARNING',
'transl': 'Warning'},
'1': {'key': 'ALERT',
'transl': 'Alert'},
'2': {'key': 'FAULT',
'transl': 'Fault'}},
'visibility': 'visible'},
'1': {'access': 'read',
'data_format': 'uint16',
'name': 'Code',
'nameTransl': 'Niu Alert Event '
'Code',
'steps': {'1': {'key': 'LOST_COMMUNICATION_APPLIANCE_NIU',
'transl': 'Lost '
'Communication '
'between '
'Appliance '
'and '
'NIU'}},
'visibility': 'visible'},
'3': {'access': 'read',
'data_format': 'uint32',
'name': 'UnixTime',
'nameTransl': 'Niu Alert Event '
'Code',
'visibility': 'hidden'}},
'name': 'List',
'visibility': 'hidden'}}],
'data_format': 'struct',
'name': 'NiuAlertEvent',
'nameTransl': 'Alarm:',
'path': '/HaclV4/NIU',
'type': 'Container',
'visibility': 'hidden'},
'0x04A0': {'access': 'read',
'container': [{'0': {'access': 'read',
'data_format': 'int16',
'name': 'Coefficient',
'visibility': 'hidden'},
'2': {'access': 'read',
'data_format': 'int8',
'name': 'Exponent',
'visibility': 'hidden'}}],
'data_format': 'struct',
'name': 'CompressorSpeed',
'nameTransl': '',
'path': '/HaclV4/CR1',
'type': 'Container',
'visibility': 'hidden'},
'0x04A1': {'access': 'read',
'data_format': 'uint8',
'name': 'CompressorState',
'nameTransl': '',
'path': '/HaclV4/CR1',
'steps': [{'0': 'Off'}, {'1': 'On'}],
'visibility': 'hidden'},
'0x04EB': {'access': 'read',
'data_format': 'uint8',
'name': 'SensorHumidity',
'path': '/HaclV4/CR1',
'visibility': 'hidden'},
'0x0C03': {'access': 'read',
'data_format': 'uint8',
'name': 'WaterFilterState',
'nameTransl': '',
'path': '/HaclV4/CR1',
'steps': [{'0': 'Good'},
{'1': 'Buy'},
{'2': 'Change'},
{'3': 'Clean'}],
'visibility': 'visible'},
'0x0C04': {'access': 'write',
'data_format': 'void',
'name': 'WaterFilterStateReset',
'nameTransl': '',
'path': '/HaclV4/CR1',
'visibility': 'visible'},
'0x0C05': {'access': 'read',
'data_format': 'uint8',
'name': 'AirFilterState',
'nameTransl': '',
'path': '/HaclV4/CR1',
'steps': [{'0': 'Good'},
{'1': 'Buy'},
{'2': 'Change'},
{'3': 'Clean'}],
'visibility': 'visible'},
'0x0C06': {'access': 'write',
'data_format': 'void',
'name': 'AirFilterStateReset',
'nameTransl': '',
'path': '/HaclV4/CR1',
'visibility': 'visible'},
'0x0C11': {'access': 'read',
'data_format': 'uint8',
'name': 'WaterDispenserState',
'path': '/HaclV4/CR1',
'visibility': 'hidden'},
'0x0C1A': {'access': 'read',
'data_format': 'int32',
'name': 'WaterFilterLifeTime',
'nameTransl': '',
'path': '/HaclV4/CR1',
'unit': 'UNIT_SSS',
'visibility': 'hidden'},
'0x0C1B': {'access': 'read',
'container': [{'0': {'access': 'read',
'data_format': 'int16',
'name': 'Coefficient',
'nameTransl': '',
'visibility': 'visible'},
'2': {'access': 'read',
'data_format': 'int8',
'max_value': '0',
'min_value': '0',
'name': 'Exponent',
'nameTransl': '',
'visibility': 'visible'}}],
'data_format': 'struct',
'name': 'WaterFilterFlow',
'nameTransl': '',
'path': '/HaclV4/CR1',
'type': 'Container',
'visibility': 'visible'},
'0x0C1C': {'access': 'read',
'data_format': 'int32',
'name': 'AirFilterLifeTime',
'nameTransl': '',
'path': '/HaclV4/CR1',
'unit': 'UNIT_SSS',
'visibility': 'visible'},
'0x0C22': {'access': 'read',
'data_format': 'uint8',
'name': 'DefrostRoutineState',
'path': '/HaclV4/CR1',
'visibility': 'hidden'},
'0x0C25': {'access': 'read',
'data_format': 'uint8',
'name': 'CoolingValveState',
'path': '/HaclV4/CR1',
'visibility': 'hidden'}}
Second part:
-------------------------------------------------------------------------------------------
--- url: GET https://api.apac.ecp.electrolux.com/elux-ms/appliances/latest?pnc=XXXXXXXXXXXX&elc=05&sn=XXXXXXXXXXXX&includeSubcomponents=true
--- respose body---
{"status":"OK","code":"ECP0000","message":"Successfully retrieved latest appliance states...","data":[{"spkTimestamp":1647982535,"description":"Alert Event","haclCode":"0470","source":"CR1","containers":[{"propertyName":"Number","tId":"0","group":0,"numberValue":0,"translation":"Number"}]},{"spkTimestamp":1647916154000,"description":"Ambient Temperature","haclCode":"0430","source":"CR1","containers":[{"propertyName":"Coefficient","tId":"1","group":0,"numberValue":28,"translation":"Coefficient"},{"propertyName":"Exponent","tId":"3","group":0,"numberValue":0,"translation":"Exponent"},{"propertyName":"Unit","tId":"0","group":0,"numberValue":0,"translation":"Unit"}]},{"stringValue":"05","spkTimestamp":1606481363000,"description":"Appliance ELC","haclCode":"000A","source":"CR1","containers":[]},{"stringValue":"004995A5","spkTimestamp":1606481368000,"description":"Appliance MainBoard Cfg ver.","haclCode":"0017","source":"CR1","containers":[]},{"stringValue":"JHB10U00","spkTimestamp":1606481368000,"description":"Appliance MainBoard SW ver.","haclCode":"0016","source":"CR1","containers":[]},{"numberValue":0,"stringValue":"Normal","spkTimestamp":1606481368000,"description":"Appliance Mode","haclCode":"0400","source":"CR1","containers":[]},{"stringValue":"XXXXXXXXXXXX","spkTimestamp":1606481362000,"description":"Appliance PNC","haclCode":"0007","source":"CR1","containers":[]},{"spkTimestamp":1647982535000,"description":"Compressor Speed","haclCode":"04A0","source":"CR1","containers":[{"propertyName":"Coefficient","tId":"0","group":0,"numberValue":1700,"translation":"Coefficient"},{"propertyName":"Exponent","tId":"2","group":0,"numberValue":0,"translation":"Exponent"}]},{"numberValue":1,"stringValue":"On","spkTimestamp":1647974649000,"description":"Compressor State","haclCode":"04A1","source":"CR1","containers":[]},{"numberValue":-1,"spkTimestamp":1606481369000,"description":"Reminder Time","haclCode":"0415","source":"CR1","containers":[]},{"numberValue":49,"spkTimestamp":1647982317000,"description":"Undefined","haclCode":"04EB","source":"CR1","containers":[]},{"stringValue":"XXXXXXXXXXXX","spkTimestamp":1606481364000,"description":"Appliance Serial Number","haclCode":"0002","source":"CR1","containers":[]},{"numberValue":0,"stringValue":"Celsius","spkTimestamp":1606481369000,"description":"Temperature Representation","haclCode":"0420","source":"CR1","containers":[]},{"numberValue":0,"stringValue":"ChildLockOFF","spkTimestamp":1606481370000,"description":"UI Lock Mode","haclCode":"0463","source":"CR1","containers":[]},{"numberValue":4313553,"spkTimestamp":1647980203000,"description":"Air Filter Life Time","haclCode":"0C1C","source":"CR1","containers":[]},{"numberValue":0,"stringValue":"Good","spkTimestamp":1646741010000,"description":"FPS-Air Filter State","haclCode":"0C05","source":"CR1","containers":[]},{"numberValue":3,"spkTimestamp":1647981637000,"description":"FPS-Cooling Valve State","haclCode":"0C25","source":"CR1","containers":[]},{"numberValue":1,"spkTimestamp":1647953497000,"description":"FPS-Defrost Routine State","haclCode":"0C22","source":"CR1","containers":[]},{"numberValue":1,"spkTimestamp":1647980793000,"description":"FPS-Water Dispenser State","haclCode":"0C11","source":"CR1","containers":[]},{"spkTimestamp":1647957321000,"description":"Water Filter Flow","haclCode":"0C1B","source":"CR1","containers":[{"propertyName":"Coefficient","tId":"0","group":0,"numberValue":130,"translation":"Coefficient"},{"propertyName":"Exponent","tId":"2","group":0,"numberValue":0,"translation":"Exponent"}]},{"numberValue":6839615,"spkTimestamp":1647980203000,"description":"Water Filter Life Time","haclCode":"0C1A","source":"CR1","containers":[]},{"numberValue":0,"stringValue":"Good","spkTimestamp":1606481371000,"description":"FPS-Water Filter State","haclCode":"0C03","source":"CR1","containers":[]},{"numberValue":0,"stringValue":"Off","spkTimestamp":1641254451000,"description":"Vacation/Holiday Mode","haclCode":"0424","source":"CR1","containers":[]},{"numberValue":0,"stringValue":"Unlocked","spkTimestamp":1606481370000,"description":"UI2 Lock Mode","haclCode":"0465","source":"CR1","containers":[]},{"spkTimestamp":1647982535,"description":"Alert Event","haclCode":"0470","source":"RC1","containers":[{"propertyName":"Number","tId":"0","group":0,"numberValue":0,"translation":"Number"}]},{"numberValue":2,"stringValue":"On","spkTimestamp":1606481368000,"description":"Appliance State","haclCode":"0401","source":"RC1","containers":[]},{"numberValue":0,"stringValue":"Closed","spkTimestamp":1647978413000,"description":"Door State","haclCode":"0460","source":"RC1","containers":[]},{"numberValue":0,"spkTimestamp":1647981926000,"description":"Evaporator Fan State","haclCode":"0451","source":"RC1","containers":[]},{"spkTimestamp":1647982395000,"description":"Actual Sensor Temperature","haclCode":"0433","source":"RC1","containers":[{"propertyName":"Coefficient","tId":"1","group":0,"numberValue":13,"translation":"Coefficient"},{"propertyName":"Exponent","tId":"3","group":0,"numberValue":-1,"translation":"Exponent"},{"propertyName":"Unit","tId":"0","group":0,"numberValue":0,"translation":"Unit"}]},{"spkTimestamp":1646741007000,"description":"Target Temperature","haclCode":"0432","source":"RC1","containers":[{"propertyName":"Exponent","tId":"3","group":0,"numberValue":-1,"translation":"Exponent"},{"propertyName":"Unit","tId":"0","group":0,"numberValue":0,"translation":"Unit"},{"propertyName":"Coefficient","tId":"1","group":0,"numberValue":20,"translation":"Coefficient"}]},{"spkTimestamp":1647982398000,"description":"FPS-Defrost Temperature","haclCode":"0C08","source":"RC1","containers":[{"propertyName":"Coefficient","tId":"1","group":0,"numberValue":-87,"translation":"Coefficient"},{"propertyName":"Exponent","tId":"3","group":0,"numberValue":-1,"translation":"Exponent"},{"propertyName":"Unit","tId":"0","group":0,"numberValue":0,"translation":"Unit"}]},{"numberValue":0,"stringValue":"Off","spkTimestamp":1647150976000,"description":"FPS-Fast Mode","haclCode":"0C00","source":"RC1","containers":[]},{"numberValue":0,"spkTimestamp":1647150975000,"description":"FPS-Fast Mode Time To End","haclCode":"0C12","source":"RC1","containers":[]},{"spkTimestamp":1647982535,"description":"Alert Event","haclCode":"0470","source":"FC1","containers":[{"propertyName":"Number","tId":"0","group":0,"numberValue":0,"translation":"Number"}]},{"numberValue":2,"stringValue":"On","spkTimestamp":1606481369000,"description":"Appliance State","haclCode":"0401","source":"FC1","containers":[]},{"numberValue":0,"stringValue":"Closed","spkTimestamp":1647839353000,"description":"Door State","haclCode":"0460","source":"FC1","containers":[]},{"numberValue":1,"spkTimestamp":1647981637000,"description":"Evaporator Fan State","haclCode":"0451","source":"FC1","containers":[]},{"spkTimestamp":1647982396000,"description":"Actual Sensor Temperature","haclCode":"0433","source":"FC1","containers":[{"propertyName":"Coefficient","tId":"1","group":0,"numberValue":-219,"translation":"Coefficient"},{"propertyName":"Exponent","tId":"3","group":0,"numberValue":-1,"translation":"Exponent"},{"propertyName":"Unit","tId":"0","group":0,"numberValue":0,"translation":"Unit"}]},{"spkTimestamp":1641254451000,"description":"Target Temperature","haclCode":"0432","source":"FC1","containers":[{"propertyName":"Exponent","tId":"3","group":0,"numberValue":-1,"translation":"Exponent"},{"propertyName":"Unit","tId":"0","group":0,"numberValue":0,"translation":"Unit"},{"propertyName":"Coefficient","tId":"1","group":0,"numberValue":-220,"translation":"Coefficient"}]},{"spkTimestamp":1647982398000,"description":"FPS-Defrost Temperature","haclCode":"0C08","source":"FC1","containers":[{"propertyName":"Coefficient","tId":"1","group":0,"numberValue":-267,"translation":"Coefficient"},{"propertyName":"Exponent","tId":"3","group":0,"numberValue":-1,"translation":"Exponent"},{"propertyName":"Unit","tId":"0","group":0,"numberValue":0,"translation":"Unit"}]},{"numberValue":0,"stringValue":"Off","spkTimestamp":1647172481000,"description":"FPS-Fast Mode","haclCode":"0C00","source":"FC1","containers":[]},{"numberValue":0,"spkTimestamp":1647172479000,"description":"FPS-Fast Mode Time To End","haclCode":"0C12","source":"FC1","containers":[]},{"spkTimestamp":1647982535,"description":"Alert Event","haclCode":"0470","source":"XC1","containers":[{"propertyName":"Number","tId":"0","group":0,"numberValue":0,"translation":"Number"}]},{"numberValue":2,"stringValue":"On","spkTimestamp":1606481369000,"description":"Appliance State","haclCode":"0401","source":"XC1","containers":[]},{"numberValue":0,"stringValue":"Closed","spkTimestamp":1647939993000,"description":"Door State","haclCode":"0460","source":"XC1","containers":[]},{"numberValue":0,"stringValue":"Off","spkTimestamp":1647982080000,"description":"Fan State","haclCode":"0450","source":"XC1","containers":[]},{"spkTimestamp":1647980903000,"description":"Actual Sensor Temperature","haclCode":"0433","source":"XC1","containers":[{"propertyName":"Coefficient","tId":"1","group":0,"numberValue":0,"translation":"Coefficient"},{"propertyName":"Exponent","tId":"3","group":0,"numberValue":-1,"translation":"Exponent"},{"propertyName":"Unit","tId":"0","group":0,"numberValue":0,"translation":"Unit"}]},{"spkTimestamp":1641254451000,"description":"Target Temperature","haclCode":"0432","source":"XC1","containers":[{"propertyName":"Exponent","tId":"3","group":0,"numberValue":-1,"translation":"Exponent"},{"propertyName":"Unit","tId":"0","group":0,"numberValue":0,"translation":"Unit"},{"propertyName":"Coefficient","tId":"1","group":0,"numberValue":-5,"translation":"Coefficient"}]},{"numberValue":0,"stringValue":"Off","spkTimestamp":1606481372000,"description":"Clone Target Temperature Mode","haclCode":"0C1E","source":"XC1","containers":[]},{"numberValue":0,"stringValue":"None","spkTimestamp":1618485026000,"description":"FPS-Temperat. Adjusting State","haclCode":"0C09","source":"XC1","containers":[]},{"spkTimestamp":1647982535,"description":"Alert Event","haclCode":"0470","source":"IC1","containers":[{"propertyName":"Number","tId":"0","group":0,"numberValue":0,"translation":"Number"}]},{"numberValue":2,"stringValue":"On","spkTimestamp":1618627732000,"description":"Appliance State","haclCode":"0401","source":"IC1","containers":[]},{"numberValue":0,"spkTimestamp":1647981734000,"description":"Evaporator Fan State","haclCode":"0451","source":"IC1","containers":[]},{"spkTimestamp":1647982398000,"description":"Actual Sensor Temperature","haclCode":"0433","source":"IC1","containers":[{"propertyName":"Coefficient","tId":"1","group":0,"numberValue":-92,"translation":"Coefficient"},{"propertyName":"Exponent","tId":"3","group":0,"numberValue":-1,"translation":"Exponent"},{"propertyName":"Unit","tId":"0","group":0,"numberValue":0,"translation":"Unit"}]},{"spkTimestamp":1647982399000,"description":"FPS-Defrost Temperature","haclCode":"0C08","source":"IC1","containers":[{"propertyName":"Coefficient","tId":"1","group":0,"numberValue":-215,"translation":"Coefficient"},{"propertyName":"Exponent","tId":"3","group":0,"numberValue":-1,"translation":"Exponent"},{"propertyName":"Unit","tId":"0","group":0,"numberValue":0,"translation":"Unit"}]},{"numberValue":0,"spkTimestamp":1647978394000,"description":"FPS-Ice Dispenser State","haclCode":"0C10","source":"IC1","containers":[]},{"numberValue":1,"stringValue":"NormalPressure","spkTimestamp":1606481372000,"description":"Ice Tray Water Fill Setting","haclCode":"0C1D","source":"IC1","containers":[]},{"stringValue":"v5.3.1","spkTimestamp":1641254439000,"description":"Connectivity Node SW version","haclCode":"0011","source":"NIU","containers":[]},{"numberValue":0,"stringValue":"Idle","spkTimestamp":1647901788000,"description":"NIU FW Update State","haclCode":"0060","source":"NIU","containers":[]},{"numberValue":3,"stringValue":"Good","spkTimestamp":1647974515000,"description":"Link Quality Indicator","haclCode":"0032","source":"NIU","containers":[]},{"stringValue":"XXXXXXXXXXXX","spkTimestamp":1618451558000,"description":"MAC Address","haclCode":"0030","source":"NIU","containers":[]},{"spkTimestamp":1606481369000,"description":"NIU Alert Event","haclCode":"0473","source":"NIU","containers":[{"propertyName":"Number","tId":"0","group":0,"numberValue":0,"translation":"Number"}]},{"stringValue":"ThingsWifi","spkTimestamp":1618451558000,"description":"Network Name","haclCode":"0070","source":"NIU","containers":[]},{"stringValue":"connect","spkTimestamp":1647826489561,"description":"ConnectivityState","haclCode":"0000","source":"APL","containers":[]}]}
--- raw ending ---
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
File "/home/user/.local/lib/python3.8/site-packages/pyelectroluxconnect/Session.py", line 739, in getApplianceState
return self._parseApplianceState(
File "/home/user/.local/lib/python3.8/site-packages/pyelectroluxconnect/Session.py", line 463, in _parseApplianceState
self._applianceProfiles[applianceId][_hexHacl]["container"],
KeyError: '0x0433'
>>>
Hi @tomeko12. I updated pyelectroluxconnect to 0.1.11 and tested as instructed before. This time the queries were completed with no errors.
I can confirm that Fridge EHE6899SA works since version 1.10.0 of the integration. However, the only non-diagnostic sensor available is the door state (binary_sensor).
I am now interpreting the queries through pyelectroluxconnect in an attempt to contribute with more sensors.
In doing so I understand the following piece of query can be converted into a sensor with the below code:
'0x0460': {'access': 'read',
'name': 'DoorState',
'nameTransl': 'Door Status',
'numberValue': 0,
'source': 'XC1',
'spkTimestamp': 1648087139000,
'stringValue': 'Closed',
'valueTransl': 'Door is closed',
'visibility': 'visible'},
This is how the integration makes the query:
ApplianceBinary(
name=f"{data.get_name()} Door",
attr='DoorState', field='numberValue',
device_class=DEVICE_CLASS_DOOR,
),
Now if the sensor is within a container, I would like to understand how to write the query for the integration. Example below:
'0x0430': {'access': 'read',
'container': {'0': {'access': 'read',
'data_format': 'uint8',
'group': 0,
'name': 'Unit',
'nameTransl': '',
'numberValue': 0,
'propertyName': 'Unit',
'tId': '0',
'visibility': 'hidden'},
'1': {'access': 'read',
'data_format': 'int16',
'group': 0,
'name': 'Coefficient',
'nameTransl': '',
'numberValue': 28,
'propertyName': 'Coefficient',
'tId': '1',
'visibility': 'hidden'},
'3': {'access': 'read',
'data_format': 'int8',
'group': 0,
'name': 'Exponent',
'nameTransl': '',
'numberValue': 0,
'propertyName': 'Exponent',
'tId': '3',
'visibility': 'hidden'}},
'name': 'AmbientTemperature',
'nameTransl': '',
'source': 'CR1',
'spkTimestamp': 1648038502000,
'visibility': 'hidden'},
Any assistance would be appreciated.
Hi @correct_horse .
In real, Your appliance have 3 door sensors and few Temp sensors. New pyelectroluxconnect is handling this (HA integration not, yet).
I think, temperature should be computed (i guess temp=CoefficientExponent). But in Your case 280=1, it’s correct?
Hi @tomeko12 . At first I thought that would be the correct calculation, however that may actually be the ambient temperature at 28C, but I’m not 100% sure yet.
I’ll wait for the changes in the integration.
Also, there are some read/write parameters that could be translated into switches, for example vacation mode, etc. Not sure if this will come in the future as well. Thanks!
Hey, i feel really good to see this component is starting out nicely, and thanks for the hard work you both put into it.
I tried to fire it up on my instance, for a test, i have an Electrolux branded steam oven, and combi microwave oven, and I use the “My Electrolux Kitchen” application on my phone.
Sadly the underlying python package fails during authentication, because the downloaded profile.json file not contains the brand. o.O I verified this by pulling the package locally and give it a try, the zip file is got downloaded, but it fails at Session.py:275
If its helpful i can share my profile.json or anytrhing else i can help with.
Hi guys, I’m trying to add integration into my instance of hassio (docker) but when I want to enable integration so I get:
Could someone give me any hint?
The log is empty - any error / warning.
Edit: it’s magically fixed, I have enabled debug logging and works like a charm with my ELECTROLUX SENSE 900 MaxiFlex KEZA9310W
Whoo, that was quick, sure it fixed the issue and now i`m able to get the registered appliances. I assume I need to add the new properties to the integration to get this working on HA side as well. If @MauroM is intrested i can share de descriptors for the 2 appliances i have.
Had a problem logging in with a password containing an exclamtion mark. Registered to a new account and everything went well
Confirm this model of PerfectCare 900 Working - EW9H1R89B