'Return the unit of measurement of this entity.'

@property
def unit_of_measurement(self):

    pres = self.gateway.const.Presentation
    set_req = self.gateway.const.SetReq
    unit_map = {set_req.V_TEMP: (TEMP_CELSIUS if self.gateway.metric else TEMP_FAHRENHEIT), set_req.V_HUM: '%', set_req.V_DIMMER: '%', set_req.V_LIGHT_LEVEL: '%', set_req.V_DIRECTION: '\xc2\xb0', set_req.V_WEIGHT: 'kg', set_req.V_DISTANCE: 'm', set_req.V_IMPEDANCE: 'ohm', set_req.V_WATT: 'W', set_req.V_KWH: 'kWh', set_req.V_FLOW: 'm', set_req.V_VOLUME: 'm\xc2\xb3', set_req.V_VOLTAGE: 'V', set_req.V_CURRENT: 'A'}
    if (float(self.gateway.protocol_version) >= 1.5):
        if (set_req.V_UNIT_PREFIX in self._values):
            return self._values[set_req.V_UNIT_PREFIX]
        unit_map.update({set_req.V_PERCENTAGE: '%', set_req.V_LEVEL: {pres.S_SOUND: 'dB', pres.S_VIBRATION: 'Hz', pres.S_LIGHT_LEVEL: 'lux'}})
    if (float(self.gateway.protocol_version) >= 2.0):
        unit_map.update({set_req.V_ORP: 'mV', set_req.V_EC: '\xce\xbcS/cm', set_req.V_VAR: 'var', set_req.V_VA: 'VA'})
    unit = unit_map.get(self.value_type)
    if isinstance(unit, dict):
        unit = unit.get(self.child_type)
    return unit
