jaalee_ble package¶
Parser for Jaalee BLE advertisements.
- class jaalee_ble.BinarySensorDeviceClass(*values)[source]¶
Bases:
BaseDeviceClassDevice class for binary sensors.
- BATTERY = 'battery'¶
- BATTERY_CHARGING = 'battery_charging'¶
- CO = 'carbon_monoxide'¶
- COLD = 'cold'¶
- CONNECTIVITY = 'connectivity'¶
- DOOR = 'door'¶
- GARAGE_DOOR = 'garage_door'¶
- GAS = 'gas'¶
- GENERIC = 'generic'¶
- HEAT = 'heat'¶
- LIGHT = 'light'¶
- LOCK = 'lock'¶
- MOISTURE = 'moisture'¶
- MOTION = 'motion'¶
- MOVING = 'moving'¶
- OCCUPANCY = 'occupancy'¶
- OPENING = 'opening'¶
- PLUG = 'plug'¶
- POWER = 'power'¶
- PRESENCE = 'presence'¶
- PROBLEM = 'problem'¶
- RUNNING = 'running'¶
- SAFETY = 'safety'¶
- SMOKE = 'smoke'¶
- SOUND = 'sound'¶
- TAMPER = 'tamper'¶
- UPDATE = 'update'¶
- VIBRATION = 'vibration'¶
- WINDOW = 'window'¶
- class jaalee_ble.BinarySensorValue(device_key: DeviceKey, name: str | None, native_value: bool | None)[source]¶
Bases:
BaseValueA class that describes sensor values.
- native_value: bool | None¶
- class jaalee_ble.DeviceKey(key: str, device_id: str | None = None)[source]¶
Bases:
objectKey for a device.
Example: device_id: outdoor_sensor_1 key: temperature
- device_id: str | None = None¶
- key: str¶
- class jaalee_ble.JaaleeBluetoothDeviceData(sensor_model: SensorModel = SensorModel.SHT20)[source]¶
Bases:
BluetoothDataData parser for Jaalee Bluetooth devices.
- class jaalee_ble.SensorDescription(device_key: DeviceKey, device_class: SensorDeviceClass | None = None, native_unit_of_measurement: Units | None = None)[source]¶
Bases:
BaseSensorDescription,KeyedBaseDescriptionA class that describes sensors.
- class jaalee_ble.SensorDeviceClass(*values)[source]¶
Bases:
BaseDeviceClassDevice class for sensors.
- ACCELERATION = 'acceleration'¶
- APPARENT_POWER = 'apparent_power'¶
- AQI = 'aqi'¶
- BATTERY = 'battery'¶
- CO = 'carbon_monoxide'¶
- CO2 = 'carbon_dioxide'¶
- CONDUCTIVITY = 'conductivity'¶
- COUNT = 'count'¶
- CURRENT = 'current'¶
- DATE = 'date'¶
- DEW_POINT = 'dew_point'¶
- DISTANCE = 'distance'¶
- DURATION = 'duration'¶
- ENERGY = 'energy'¶
- FORMALDEHYDE = 'formaldehyde'¶
- FREQUENCY = 'frequency'¶
- GAS = 'gas'¶
- GYROSCOPE = 'gyroscope'¶
- HUMIDITY = 'humidity'¶
- ILLUMINANCE = 'illuminance'¶
- IMPEDANCE = 'impedance'¶
- KEG_SIZE = 'keg_size'¶
- KEG_TYPE = 'keg_type'¶
- MASS = 'mass'¶
- MASS_NON_STABILIZED = 'mass_non_stabilized'¶
- MOISTURE = 'moisture'¶
- MONETARY = 'monetary'¶
- NITROGEN_DIOXIDE = 'nitrogen_dioxide'¶
- NITROGEN_MONOXIDE = 'nitrogen_monoxide'¶
- NITROUS_OXIDE = 'nitrous_oxide'¶
- OZONE = 'ozone'¶
- PACKET_ID = 'packet_id'¶
- PM1 = 'pm1'¶
- PM10 = 'pm10'¶
- PM25 = 'pm25'¶
- PM4 = 'pm4'¶
- PORT_COUNT = 'port_count'¶
- PORT_NAME = 'port_name'¶
- PORT_STATE = 'port_state'¶
- POWER = 'power'¶
- POWER_FACTOR = 'power_factor'¶
- PRESSURE = 'pressure'¶
- REACTIVE_POWER = 'reactive_power'¶
- ROTATION = 'rotation'¶
- SIGNAL_STRENGTH = 'signal_strength'¶
- SPECIFIC_GRAVITY = 'specific_gravity'¶
- SPEED = 'speed'¶
- SULPHUR_DIOXIDE = 'sulphur_dioxide'¶
- TEMPERATURE = 'temperature'¶
- TIME = 'time'¶
- TIMESTAMP = 'timestamp'¶
- UV_INDEX = 'uv_index'¶
- VOLATILE_ORGANIC_COMPOUNDS = 'volatile_organic_compounds'¶
- VOLTAGE = 'voltage'¶
- VOLUME = 'volume'¶
- VOLUME_DISPENSED = 'volume_dispensed'¶
- VOLUME_FLOW_RATE = 'volume_flow_rate'¶
- VOLUME_START = 'volume_start'¶
- WATER = 'water'¶
- class jaalee_ble.SensorDeviceInfo(name: 'str | None', model: 'str | None', manufacturer: 'str | None', sw_version: 'str | None', hw_version: 'str | None')[source]¶
Bases:
object- hw_version: str | None¶
- manufacturer: str | None¶
- model: str | None¶
- name: str | None¶
- sw_version: str | None¶
- class jaalee_ble.SensorModel(*values)[source]¶
Bases:
EnumSensor model variant used to decode temperature/humidity values.
- SHT20 = 'sht20'¶
- SHT31 = 'sht31'¶
- class jaalee_ble.SensorUpdate(title: 'str | None', devices: 'dict[str | None, SensorDeviceInfo]', entity_descriptions: 'dict[DeviceKey, SensorDescription]'=<factory>, entity_values: 'dict[DeviceKey, SensorValue]'=<factory>, binary_entity_descriptions: 'dict[DeviceKey, BinarySensorDescription]'=<factory>, binary_entity_values: 'dict[DeviceKey, BinarySensorValue]'=<factory>, events: 'dict[DeviceKey, Event]'=<factory>)[source]¶
Bases:
object- binary_entity_values: dict[DeviceKey, BinarySensorValue]¶
- devices: dict[str | None, SensorDeviceInfo]¶
- entity_descriptions: dict[DeviceKey, SensorDescription]¶
- entity_values: dict[DeviceKey, SensorValue]¶
- title: str | None¶
- class jaalee_ble.SensorValue(device_key: DeviceKey, name: str | None, native_value: str | int | float | date | datetime | Decimal | None)[source]¶
Bases:
BaseValueA class that describes sensor values.
- native_value: str | int | float | date | datetime | Decimal | None¶
- class jaalee_ble.Units(*values)[source]¶
Bases:
StrEnum- ACCELERATION_METERS_PER_SQUARE_SECOND: Final = 'm/s²'¶
- AREA_SQUARE_METERS: Final = 'm²'¶
- CONCENTRATION_MICROGRAMS_PER_CUBIC_FOOT: Final = 'μg/ft³'¶
- CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: Final = 'µg/m³'¶
- CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER: Final = 'mg/m³'¶
- CONCENTRATION_PARTS_PER_BILLION: Final = 'ppb'¶
- CONCENTRATION_PARTS_PER_CUBIC_METER: Final = 'p/m³'¶
- CONCENTRATION_PARTS_PER_MILLION: Final = 'ppm'¶
- CONDUCTIVITY: Final = 'µS/cm'¶
- CURRENCY_CENT: Final = '¢'¶
- CURRENCY_DOLLAR: Final = '$'¶
- CURRENCY_EURO: Final = '€'¶
- DATA_BITS: Final = 'bit'¶
- DATA_BYTES: Final = 'B'¶
- DATA_EXABYTES: Final = 'EB'¶
- DATA_EXBIBYTES: Final = 'EiB'¶
- DATA_GIBIBYTES: Final = 'GiB'¶
- DATA_GIGABITS: Final = 'Gbit'¶
- DATA_GIGABYTES: Final = 'GB'¶
- DATA_KIBIBYTES: Final = 'KiB'¶
- DATA_KILOBITS: Final = 'kbit'¶
- DATA_KILOBYTES: Final = 'kB'¶
- DATA_MEBIBYTES: Final = 'MiB'¶
- DATA_MEGABITS: Final = 'Mbit'¶
- DATA_MEGABYTES: Final = 'MB'¶
- DATA_PEBIBYTES: Final = 'PiB'¶
- DATA_PETABYTES: Final = 'PB'¶
- DATA_RATE_BITS_PER_SECOND: Final = 'bit/s'¶
- DATA_RATE_BYTES_PER_SECOND: Final = 'B/s'¶
- DATA_RATE_GIBIBYTES_PER_SECOND: Final = 'GiB/s'¶
- DATA_RATE_GIGABITS_PER_SECOND: Final = 'Gbit/s'¶
- DATA_RATE_GIGABYTES_PER_SECOND: Final = 'GB/s'¶
- DATA_RATE_KIBIBYTES_PER_SECOND: Final = 'KiB/s'¶
- DATA_RATE_KILOBITS_PER_SECOND: Final = 'kbit/s'¶
- DATA_RATE_KILOBYTES_PER_SECOND: Final = 'kB/s'¶
- DATA_RATE_MEBIBYTES_PER_SECOND: Final = 'MiB/s'¶
- DATA_RATE_MEGABITS_PER_SECOND: Final = 'Mbit/s'¶
- DATA_RATE_MEGABYTES_PER_SECOND: Final = 'MB/s'¶
- DATA_TEBIBYTES: Final = 'TiB'¶
- DATA_TERABYTES: Final = 'TB'¶
- DATA_YOBIBYTES: Final = 'YiB'¶
- DATA_YOTTABYTES: Final = 'YB'¶
- DATA_ZEBIBYTES: Final = 'ZiB'¶
- DATA_ZETTABYTES: Final = 'ZB'¶
- DEGREE: Final = '°'¶
- ELECTRIC_CURRENT_AMPERE: Final = 'A'¶
- ELECTRIC_CURRENT_MILLIAMPERE: Final = 'mA'¶
- ELECTRIC_POTENTIAL_MILLIVOLT: Final = 'mV'¶
- ELECTRIC_POTENTIAL_VOLT: Final = 'V'¶
- ENERGY_KILO_WATT_HOUR: Final = 'kWh'¶
- ENERGY_MEGA_WATT_HOUR: Final = 'MWh'¶
- ENERGY_WATT_HOUR: Final = 'Wh'¶
- FREQUENCY_GIGAHERTZ: Final = 'GHz'¶
- FREQUENCY_HERTZ: Final = 'Hz'¶
- FREQUENCY_KILOHERTZ: Final = 'kHz'¶
- FREQUENCY_MEGAHERTZ: Final = 'MHz'¶
- GYROSCOPE_DEGREES_PER_SECOND: Final = '°/s'¶
- IRRADIATION_BTUS_PER_HOUR_SQUARE_FOOT: Final = 'BTU/(h×ft²)'¶
- IRRADIATION_WATTS_PER_SQUARE_METER: Final = 'W/m²'¶
- LENGTH_CENTIMETERS: Final = 'cm'¶
- LENGTH_FEET: Final = 'ft'¶
- LENGTH_INCHES: Final = 'in'¶
- LENGTH_KILOMETERS: Final = 'km'¶
- LENGTH_METERS: Final = 'm'¶
- LENGTH_MILES: Final = 'mi'¶
- LENGTH_MILLIMETERS: Final = 'mm'¶
- LENGTH_YARD: Final = 'yd'¶
- LIGHT_LUX: Final = 'lx'¶
- MASS_GRAMS: Final = 'g'¶
- MASS_KILOGRAMS: Final = 'kg'¶
- MASS_MICROGRAMS: Final = 'µg'¶
- MASS_MILLIGRAMS: Final = 'mg'¶
- MASS_OUNCES: Final = 'oz'¶
- MASS_POUNDS: Final = 'lb'¶
- OHM: Final = 'ohm'¶
- PERCENTAGE: Final = '%'¶
- POWER_BTU_PER_HOUR: Final = 'BTU/h'¶
- POWER_KILO_WATT: Final = 'kW'¶
- POWER_VOLT_AMPERE: Final = 'VA'¶
- POWER_VOLT_AMPERE_REACTIVE: Final = 'var'¶
- POWER_WATT: Final = 'W'¶
- PRECIPITATION_INCHES: Final = 'in'¶
- PRECIPITATION_INCHES_PER_HOUR: Final = 'in/h'¶
- PRECIPITATION_MILLIMETERS_PER_HOUR: Final = 'mm/h'¶
- PRESSURE_BAR: Final = 'bar'¶
- PRESSURE_CBAR: Final = 'cbar'¶
- PRESSURE_HPA: Final = 'hPa'¶
- PRESSURE_INHG: Final = 'inHg'¶
- PRESSURE_KPA: Final = 'kPa'¶
- PRESSURE_MBAR: Final = 'mbar'¶
- PRESSURE_MMHG: Final = 'mmHg'¶
- PRESSURE_PA: Final = 'Pa'¶
- PRESSURE_PSI: Final = 'psi'¶
- REVOLUTIONS_PER_MINUTE: Final = 'rpm'¶
- SIGNAL_STRENGTH_DECIBELS: Final = 'dB'¶
- SIGNAL_STRENGTH_DECIBELS_MILLIWATT: Final = 'dBm'¶
- SOUND_PRESSURE_DB: Final = 'dB'¶
- SOUND_PRESSURE_WEIGHTED_DBA: Final = 'dBa'¶
- SPECIFIC_GRAVITY = 'SG'¶
- SPEED_FEET_PER_SECOND: Final = 'ft/s'¶
- SPEED_INCHES_PER_DAY: Final = 'in/d'¶
- SPEED_INCHES_PER_HOUR: Final = 'in/h'¶
- SPEED_KILOMETERS_PER_HOUR: Final = 'km/h'¶
- SPEED_KNOTS: Final = 'kn'¶
- SPEED_METERS_PER_SECOND: Final = 'm/s'¶
- SPEED_MILES_PER_HOUR: Final = 'mph'¶
- SPEED_MILLIMETERS_PER_DAY: Final = 'mm/d'¶
- TEMP_CELSIUS: Final = '°C'¶
- TEMP_FAHRENHEIT: Final = '°F'¶
- TEMP_KELVIN: Final = 'K'¶
- TIME_DAYS: Final = 'd'¶
- TIME_HOURS: Final = 'h'¶
- TIME_MICROSECONDS: Final = 'μs'¶
- TIME_MILLISECONDS: Final = 'ms'¶
- TIME_MINUTES: Final = 'min'¶
- TIME_MONTHS: Final = 'm'¶
- TIME_SECONDS: Final = 's'¶
- TIME_WEEKS: Final = 'w'¶
- TIME_YEARS: Final = 'y'¶
- UV_INDEX: Final = 'UV index'¶
- VOLUME_CUBIC_FEET: Final = 'ft³'¶
- VOLUME_CUBIC_METERS: Final = 'm³'¶
- VOLUME_FLOW_RATE_CUBIC_FEET_PER_MINUTE: Final = 'ft³/m'¶
- VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR: Final = 'm³/h'¶
- VOLUME_FLUID_OUNCE: Final = 'fl. oz.'¶
- VOLUME_GALLONS: Final = 'gal'¶
- VOLUME_LITERS: Final = 'L'¶
- VOLUME_MILLILITERS: Final = 'mL'¶
Submodules¶
jaalee_ble.parser module¶
Parser for Jaalee BLE advertisements.
- class jaalee_ble.parser.JaaleeBluetoothDeviceData(sensor_model: SensorModel = SensorModel.SHT20)[source]¶
Bases:
BluetoothDataData parser for Jaalee Bluetooth devices.