STATUS_TRANSFORMER = {
    "name" : ("Name: {}", None, None),
    "type" : ("Type: {}", None, None),
    "modelid" : ("ModelId: {}", None, None),
    "swversion" : ("Version: {}", "firmware", None),
    "StatusType" : ("StatusType: {}", None, None),
    "ota" : ("Over the air updates: {}", "firmware", None),
    "Runtime" : ("Runtime: {} hours", None, lambda runtime: round(((runtime/(1000*60*60))%24), 2)),
    "pwr" : ("Power: {}", None, lambda pwr: {'1': 'ON', '0': 'OFF'}.get(pwr, pwr)),
    "pm25" : ("PM25: {}", None, None),
    "rh" : ("Humidity: {}", None, None),
    "rhset" : ("Target humidity: {}", None, None),
    "iaql" : ("Allergen index: {}", None, None),
    "tvoc" : ("Total volatile organic compounds: {}", None, None),
    "temp" : ("Temperature: {}", None, None),
    "func" : ("Function: {}", None, lambda func: {'P': 'Purification', 'PH': 'Purification & Humidification'}.get(func, func)),
    "mode" : ("Mode: {}", None, lambda mode: {'P': 'auto', 'A': 'allergen', 'S': 'sleep', 'M': 'manual', 'B': 'bacteria', 'N': 'night', 'T': 'turbo', 'GT': 'gentle'}.get(mode, mode)),
    "om" : ("Fan speed: {}", None, lambda om: {'s': 'silent', 't': 'turbo', 'a': 'auto'}.get(om, om)),
    "aqil" : ("Light brightness: {}", None, None),
    "aqit" : ("Air quality notification threshold: {}", None, None),
    "uil" : ("Buttons light: {}", None, lambda uil: {'1': 'ON', '0': 'OFF'}.get(uil, uil)),
    "ddp" : ("Used index: {}", None, lambda ddp: {'0': 'IAI', '1': 'PM2.5', '2': 'Gas', '3': 'Humidity'}.get(ddp, ddp)),
    "wl" : ("Water level: {}", None, None),
    "cl" : ("Child lock: {}", None, None),
    "dt" : ("Timer: {} hours", None, lambda dt: None if dt == 0 else dt),
    "dtrs" : ("Timer: {} minutes left", None, lambda dtrs: None if dtrs == 0 else dtrs),
    "fltt1" : ("HEPA filter type: {}", None, lambda fltt1: {'A3': 'NanoProtect Filter Series 3 (FY2422)'}.get(fltt1, fltt1)),
    "fltt2" : ("Active carbon filter type: {}", None, lambda fltt2: {'C7': 'NanoProtect Filter AC (FY2420)'}.get(fltt2, fltt2)),
    "fltsts0" : ("Pre-filter and Wick: clean in {} hours", "filter" , None),
    "fltsts1" : ("HEPA filter: replace in {} hours", "filter", None),
    "fltsts2" : ("Active carbon filter: replace in {} hours", "filter", None),
    "wicksts" : ("Wick filter: replace in {} hours", "filter", None),
    "err" : ("[ERROR] Message: {}", None, lambda err: None if err == 0 else {193: 'F0 (pre-filter) must be cleaned', 49408: 'no water', 32768: 'water tank open', 49155: 'pre-filter must be cleaned'}.get(err, err)),
}
