import struct


def decode_ia(ia: int) -> str:
    """ Decode an individual address into human readable string representation

    >>> decode_ia(4606)
    '1.1.254'

    See also: http://www.openremote.org/display/knowledge/KNX+Individual+Address
    """
    if not isinstance(ia, int):
        ia = struct.unpack('>H', ia)[0]
    return '{}.{}.{}'.format((ia >> 12) & 0x1f, (ia >> 8) & 0x07, (ia) & 0xff)