def hex_to_float(hexstring):
    """
    The chiller encodes floats using the following hex convevntion.

    1. convert hex to int
    2. if int val > 32767, it's a negative number, subtract 65536
    3. divide by temp resolution (100)
    """
    val = int(hexstring, 16)
    if val > 32767:
        val -= 65536
    return val / 100
