diff --git a/pyhap/accessories/AM2302.py b/pyhap/accessories/AM2302.py index 9e3d41c5..f24b4aff 100644 --- a/pyhap/accessories/AM2302.py +++ b/pyhap/accessories/AM2302.py @@ -10,16 +10,17 @@ import pigpio import sensors.DHT22 as DHT22 -from pyhap.accessory import Accessory, Category +from pyhap.accessory import Accessory +from pyhap.const import CATEGORY_SENSOR import pyhap.loader as loader class AM2302(Accessory): - category = Category.SENSOR + category = CATEGORY_SENSOR def __init__(self, *args, pin=4, **kwargs): - super(AM2302, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.pin = pin self.temp_char = self.get_service("TemperatureSensor")\ @@ -31,14 +32,14 @@ def __init__(self, *args, pin=4, **kwargs): self.sensor = DHT22.sensor(pigpio.pi(), pin) def _set_services(self): - super(AM2302, self)._set_services() + super()._set_services() self.add_service( - loader.get_serv_loader().get("TemperatureSensor")) + loader.get_serv_loader().get_service("TemperatureSensor")) self.add_service( - loader.get_serv_loader().get("HumiditySensor")) + loader.get_serv_loader().get_service("HumiditySensor")) def __getstate__(self): - state = super(AM2302, self).__getstate__() + state = super().__getstate__() state["sensor"] = None return state diff --git a/pyhap/accessories/BMP180.py b/pyhap/accessories/BMP180.py index 36a1a3e1..3ec222a4 100644 --- a/pyhap/accessories/BMP180.py +++ b/pyhap/accessories/BMP180.py @@ -3,16 +3,17 @@ # Assume you have a bmp module with BMP180 class with read() method. from sensors.bmp180 import BMP180 as sensor -from pyhap.accessory import Accessory, Category +from pyhap.accessory import Accessory +from pyhap.const import CATEGORY_SENSOR import pyhap.loader as loader class BMP180(Accessory): - category = Category.SENSOR + category = CATEGORY_SENSOR def __init__(self, *args, **kwargs): - super(BMP180, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.temp_char = self.get_service("TemperatureSensor")\ .get_characteristic("CurrentTemperature") @@ -20,12 +21,12 @@ def __init__(self, *args, **kwargs): self.sensor = sensor() def _set_services(self): - super(BMP180, self)._set_services() + super()._set_services() self.add_service( - loader.get_serv_loader().get("TemperatureSensor")) + loader.get_serv_loader().get_service("TemperatureSensor")) def __getstate__(self): - state = super(BMP180, self).__getstate__() + state = super().__getstate__() state["sensor"] = None return state diff --git a/pyhap/accessories/DisplaySwitch.py b/pyhap/accessories/DisplaySwitch.py index 37a992fa..ebbc2b1f 100644 --- a/pyhap/accessories/DisplaySwitch.py +++ b/pyhap/accessories/DisplaySwitch.py @@ -1,7 +1,8 @@ # An Accessory for viewing/controlling the status of a Mac display. import subprocess -from pyhap.accessory import Accessory, Category +from pyhap.accessory import Accessory +from pyhap.const import CATEGORY_SWITCH import pyhap.loader as loader @@ -23,19 +24,19 @@ class DisplaySwitch(Accessory): of the Mac that this code is running on. """ - category = Category.SWITCH + category = CATEGORY_SWITCH def __init__(self, *args, **kwargs): - super(DisplaySwitch, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.display = self.get_service("Switch")\ .get_characteristic("On") self.display.setter_callback = self.set_display def _set_services(self): - super(DisplaySwitch, self)._set_services() + super()._set_services() self.add_service( - loader.get_serv_loader().get("Switch")) + loader.get_serv_loader().get_service("Switch")) def run(self): while not self.run_sentinel.wait(1): diff --git a/pyhap/accessories/FakeFan.py b/pyhap/accessories/FakeFan.py index 49754ecc..caf2a892 100644 --- a/pyhap/accessories/FakeFan.py +++ b/pyhap/accessories/FakeFan.py @@ -1,7 +1,8 @@ """A fake fan that does nothing but to demonstrate optional characteristics.""" import logging -from pyhap.accessory import Accessory, Category +from pyhap.accessory import Accessory +from pyhap.const import CATEGORY_FAN import pyhap.loader as loader logger = logging.getLogger(__name__) @@ -10,7 +11,7 @@ class FakeFan(Accessory): """A fake fan accessory that logs changes to its rotation speed and direction.""" - category = Category.FAN + category = CATEGORY_FAN def set_rotation_speed(self, value): logger.debug("Rotation speed changed: %s", value) @@ -20,19 +21,20 @@ def set_rotation_direction(self, value): def _set_services(self): """Add the fan service. Also add optional characteristics to it.""" - super(FakeFan, self)._set_services() - service_loader = loader.get_serv_loader() - fan_service = service_loader.get("Fan") + super()._set_services() + fan_service = loader.get_serv_loader().get_service("Fan") # NOTE: Don't forget that all characteristics must be added to the service before # adding the service to the accessory, so that it can assign IIDs to all. # Add the optional RotationSpeed characteristic to the Fan - rotation_speed_char = loader.get_char_loader().get("RotationSpeed") + rotation_speed_char = loader.get_char_loader() \ + .get_char("RotationSpeed") fan_service.add_characteristic(rotation_speed_char) rotation_speed_char.setter_callback = self.set_rotation_speed # Add the optional RotationSpeed characteristic to the Fan - rotation_dir_char = loader.get_char_loader().get("RotationDirection") + rotation_dir_char = loader.get_char_loader() \ + .get_char("RotationDirection") fan_service.add_characteristic(rotation_dir_char) rotation_dir_char.setter_callback = self.set_rotation_direction diff --git a/pyhap/accessories/Http.py b/pyhap/accessories/Http.py index 0977ed74..35273aca 100644 --- a/pyhap/accessories/Http.py +++ b/pyhap/accessories/Http.py @@ -7,7 +7,8 @@ import logging from http.server import HTTPServer, BaseHTTPRequestHandler -from pyhap.accessory import Bridge, Category +from pyhap.accessory import Bridge +from pyhap.const import CATEGORY_OTHER logger = logging.getLogger(__name__) @@ -38,7 +39,7 @@ def __init__(self, http_accessory, sock, client_addr, server): """Create a handler that passes updates to the given HttpAccessory. """ self.http_accessory = http_accessory - super(HttpBridgeHandler, self).__init__(sock, client_addr, server) + super().__init__(sock, client_addr, server) def respond_ok(self): """Reply with code 200 (OK) and close the connection. @@ -125,7 +126,7 @@ class HttpBridge(Bridge): After the above you can HTTP POST updates to the local address at port 51111. """ - category = Category.OTHER + category = CATEGORY_OTHER def __init__(self, address, *args, **kwargs): """Initialise and add the given services. @@ -135,7 +136,7 @@ def __init__(self, address, *args, **kwargs): @param accessories: """ - super(HttpBridge, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) # For exclusive access to updates. Slight overkill... self.update_lock = None @@ -155,7 +156,7 @@ def __getstate__(self): Also add the server address. All this is because we cannot pickle such objects and to allow to recover the server using the address. """ - state = super(HttpBridge, self).__getstate__() + state = super().__getstate__() state["server"] = None state["server_thread"] = None state["update_lock"] = None @@ -198,7 +199,7 @@ def update_state(self, data): def stop(self): """Stop the server. """ - super(HttpBridge, self).stop() + super().stop() logger.debug("Stopping HTTP bridge server.") self.server.shutdown() self.server.server_close() diff --git a/pyhap/accessories/LightBulb.py b/pyhap/accessories/LightBulb.py index 73554311..77b20afb 100644 --- a/pyhap/accessories/LightBulb.py +++ b/pyhap/accessories/LightBulb.py @@ -3,13 +3,14 @@ import RPi.GPIO as GPIO -from pyhap.accessory import Accessory, Category +from pyhap.accessory import Accessory +from pyhap.const import CATEGORY_LIGHTBULB import pyhap.loader as loader class LightBulb(Accessory): - category = Category.LIGHTBULB + category = CATEGORY_LIGHTBULB @classmethod def _gpio_setup(_cls, pin): @@ -18,7 +19,7 @@ def _gpio_setup(_cls, pin): GPIO.setup(pin, GPIO.OUT) def __init__(self, *args, pin=11, **kwargs): - super(LightBulb, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.pin = pin self._gpio_setup(pin) @@ -33,12 +34,12 @@ def set_bulb(self, value): GPIO.output(self.pin, GPIO.LOW) def _set_services(self): - super(LightBulb, self)._set_services() + super()._set_services() - bulb_service = loader.get_serv_loader().get("Lightbulb") + bulb_service = loader.get_serv_loader().get_service("Lightbulb") self.add_service(bulb_service) bulb_service.get_characteristic("On").setter_callback = self.set_bulb def stop(self): - super(LightBulb, self).stop() + super().stop() GPIO.cleanup() diff --git a/pyhap/accessories/MotionSensor.py b/pyhap/accessories/MotionSensor.py index 41c19621..48730a8e 100644 --- a/pyhap/accessories/MotionSensor.py +++ b/pyhap/accessories/MotionSensor.py @@ -3,16 +3,17 @@ import RPi.GPIO as GPIO -from pyhap.accessory import Accessory, Category +from pyhap.accessory import Accessory +from pyhap.const import CATEGORY_SENSOR import pyhap.loader as loader class MotionSensor(Accessory): - category = Category.SENSOR + category = CATEGORY_SENSOR def __init__(self, *args, **kwargs): - super(MotionSensor, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.detected_char = self.get_service("MotionSensor")\ .get_characteristic("MotionDetected") @@ -21,13 +22,13 @@ def __init__(self, *args, **kwargs): GPIO.add_event_detect(7, GPIO.RISING, callback=self._detected) def _set_services(self): - super(MotionSensor, self)._set_services() + super()._set_services() self.add_service( - loader.get_serv_loader().get("MotionSensor")) + loader.get_serv_loader().get_service("MotionSensor")) def _detected(self, _pin): self.detected_char.set_value(True) def stop(self): - super(MotionSensor, self).stop() + super().stop() GPIO.cleanup() diff --git a/pyhap/accessories/SDS011.py b/pyhap/accessories/SDS011.py index 3c776a43..94d9fa57 100644 --- a/pyhap/accessories/SDS011.py +++ b/pyhap/accessories/SDS011.py @@ -10,7 +10,8 @@ import logging from sensors.SDS011 import SDS011 as AirSensor -from pyhap.accessory import Accessory, Category +from pyhap.accessory import Accessory +from pyhap.const import CATEGORY_SENSOR import pyhap.loader as loader logger = logging.getLogger(__name__) @@ -20,7 +21,7 @@ class SDS011(Accessory): """Accessory wrapper for SDS011. """ - category = Category.SENSOR + category = CATEGORY_SENSOR SORTED_PM_QUALITY_MAP = ((200, 5), (150, 4), (100, 3), (50, 2), (0, 1)) """ @@ -54,7 +55,7 @@ def __init__(self, serial_port, *args, sleep_duration_s=15*60, calib_duration_s= self.pm25_density = None self.pm10_quality = None self.pm10_density = None - super(SDS011, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.sleep_duration_s = sleep_duration_s self.calib_duration_s = calib_duration_s self.serial_port = serial_port @@ -67,25 +68,27 @@ def _set_services(self): Also adds and configures optional characteristics, such as Name, AirParticulateSize, AirParticulateDensity. """ - super(SDS011, self)._set_services() + super()._set_services() char_loader = loader.get_char_loader() # PM2.5 - air_quality_pm25 = loader.get_serv_loader().get("AirQualitySensor") - pm25_size = char_loader.get("AirParticulateSize") + air_quality_pm25 = loader.get_serv_loader() \ + .get_service("AirQualitySensor") + pm25_size = char_loader.get_char("AirParticulateSize") pm25_size.set_value(0, should_notify=False) - self.pm25_density = char_loader.get("AirParticulateDensity") - pm25_name = char_loader.get("Name") + self.pm25_density = char_loader.get_char("AirParticulateDensity") + pm25_name = char_loader.get_char("Name") pm25_name.set_value("PM2.5", should_notify=False) self.pm25_quality = air_quality_pm25.get_characteristic("AirQuality") air_quality_pm25.add_characteristic(pm25_name, pm25_size, self.pm25_density) # PM10 - air_quality_pm10 = loader.get_serv_loader().get("AirQualitySensor") - pm10_size = char_loader.get("AirParticulateSize") + air_quality_pm10 = loader.get_serv_loader() \ + .get_service("AirQualitySensor") + pm10_size = char_loader.get_char("AirParticulateSize") pm10_size.set_value(1, should_notify=False) - self.pm10_density = char_loader.get("AirParticulateDensity") - pm10_name = char_loader.get("Name") + self.pm10_density = char_loader.get_char("AirParticulateDensity") + pm10_name = char_loader.get_char("Name") pm10_name.set_value("PM10", should_notify=False) self.pm10_quality = air_quality_pm10.get_characteristic("AirQuality") air_quality_pm10.add_characteristic(pm10_name, pm10_size, self.pm10_density) diff --git a/pyhap/accessories/ShutdownSwitch.py b/pyhap/accessories/ShutdownSwitch.py index 7e5c02fe..93014ed5 100644 --- a/pyhap/accessories/ShutdownSwitch.py +++ b/pyhap/accessories/ShutdownSwitch.py @@ -10,7 +10,8 @@ import os import logging -from pyhap.accessory import Accessory, Category +from pyhap.accessory import Accessory +from pyhap.const import CATEGORY_SWITCH import pyhap.loader as loader logger = logging.getLogger(__name__) @@ -19,20 +20,20 @@ class ShutdownSwitch(Accessory): """A switch accessory that executes sudo shutdown.""" - category = Category.SWITCH + category = CATEGORY_SWITCH def __init__(self, *args, **kwargs): """Initialise and set a shutdown callback to the On characteristic.""" - super(ShutdownSwitch, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) on_char = self.get_service("Switch")\ .get_characteristic("On") on_char.setter_callback = self.execute_shutdown def _set_services(self): """Add the Switch service.""" - super(ShutdownSwitch, self)._set_services() + super()._set_services() service_loader = loader.get_serv_loader() - self.add_service(service_loader.get("Switch")) + self.add_service(service_loader.get_service("Switch")) def execute_shutdown(self, _value): """Execute shutdown -h.""" diff --git a/pyhap/accessories/TSL2591.py b/pyhap/accessories/TSL2591.py index 43430223..6e63f6cf 100644 --- a/pyhap/accessories/TSL2591.py +++ b/pyhap/accessories/TSL2591.py @@ -3,15 +3,16 @@ import tsl2591 -from pyhap.accessory import Accessory, Category +from pyhap.accessory import Accessory +from pyhap.const import CATEGORY_SENSOR import pyhap.loader as loader class TSL2591(Accessory): - category = Category.SENSOR + category = CATEGORY_SENSOR def __init__(self, *args, **kwargs): - super(TSL2591, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.lux_char = self.get_service("LightSensor") \ .get_characteristic("CurrentAmbientLightLevel") @@ -19,12 +20,12 @@ def __init__(self, *args, **kwargs): self.tsl = tsl2591.Tsl2591() def _set_services(self): - super(TSL2591, self)._set_services() + super()._set_services() self.add_service( - loader.get_serv_loader().get("LightSensor")) + loader.get_serv_loader().get_service("LightSensor")) def __getstate__(self): - state = super(TSL2591, self).__getstate__() + state = super().__getstate__() state["tsl"] = None return state diff --git a/pyhap/accessories/TemperatureSensor.py b/pyhap/accessories/TemperatureSensor.py index 27c881b1..76c1cf5c 100644 --- a/pyhap/accessories/TemperatureSensor.py +++ b/pyhap/accessories/TemperatureSensor.py @@ -4,23 +4,24 @@ import random import time -from pyhap.accessory import AsyncAccessory, Category +from pyhap.accessory import AsyncAccessory +from pyhap.const import CATEGORY_SENSOR import pyhap.loader as loader class TemperatureSensor(AsyncAccessory): - category = Category.SENSOR + category = CATEGORY_SENSOR def __init__(self, *args, **kwargs): - super(TemperatureSensor, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.temp_char = self.get_service("TemperatureSensor")\ .get_characteristic("CurrentTemperature") def _set_services(self): - super(TemperatureSensor, self)._set_services() + super()._set_services() self.add_service( - loader.get_serv_loader().get("TemperatureSensor")) + loader.get_serv_loader().get_service("TemperatureSensor")) @AsyncAccessory.run_at_interval(3) async def run(self):