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