Thank you for that. I think I will do such list.
Does setting min/max temperatures work from time to time or it doesn’t work at all.
I’ve noticed that my device from time to time is returning internal server error with code 500. Exactly the same as yours. First I will handle this error in better way and next I will try to understand what is going on.
Adding this is very simple. You can add as many attributes/operations to YAML file as you want. This component uses jinja2 templates (like HASS) to get values from device state. Json data called device_state is passed into template render method. This data represent data received from device. Using this you can extract whatever you want. To make this easier you can use dev-template panel for testing your template.
You can try to copy text below to template editor (device state data is taken from you):
{% set device_state = {"Devices": [{"Alarms": [{"alarmType": "Device", "code": "FilterAlarm_OFF", "id": "0", "triggeredTime": "2019-04-01T19:48:59"}], "ConfigurationLink": {"href": "/devices/0/configuration"}, "Diagnosis": {"diagnosisStart": "Ready"}, "EnergyConsumption": {"saveLocation": "/files/usage.db"}, "InformationLink": {"href": "/devices/0/information"}, "Mode": {"modes": ["Heat"], "options": ["Comode_Off", "Sleep_0", "Autoclean_Off", "FilterCleanAlarm_0", "OutdoorTemp_69", "CoolCapa_50", "WarmCapa_60", "UsagesDB_254", "FilterTime_5835", "OptionCode_32936", "UpdateAllow_NotAllowed", "FilterAlarmTime_700", "Function_15", "Volume_100"], "supportedModes": ["Cool", "Dry", "Wind", "Auto"]}, "Operation": {"power": "On"}, "Temperatures": [{"current": 22.0, "desired": 22.0, "id": "0", "maximum": 30, "minimum": 16, "unit": "Celsius"}], "Wind": {"direction": "Up_And_Low", "maxSpeedLevel": 4, "speedLevel": 0}, "connected": true, "description": "TP6X_RAC_16K", "id": "0", "name": "RAC", "resources": ["Alarms", "Configuration", "Diagnosis", "EnergyConsumption", "Information", "Mode", "Operation", "Temperatures", "Wind"], "type": "Air_Conditioner", "uuid": "myuuid"}]} %}
Template render result: {{ device_state.Devices.0.Mode.options.8[11:]}}
This example shows how to extract data from your device_state json’s attribute FilterTime_XXXX
When you have working template you can use it in YAML file. At the end of the file (in attributes section) you can add as follow:
filter_time:
type: number
status_template: '{{ device_state.Devices.0.Mode.options.8[11:]}}'
After restarting HASS you will find new attribute called filter_time with value taken from attribute extracted by status_template
Just keep in mind that samsung AC devices do not report status changes. That’s why I’ve enabled polling every 15s.
There is one more thing: I’ve noticed that my device is getting correct status only when it is turned on. After turning it off I can modify any param (special mode, operation mode, swing mode, desired temperature, anything) but device will report old configuration. After turning device on it will report correct status. I don’t why it is working in this way but I can not do anything with that.