diff --git a/.coveragerc b/.coveragerc index 7116cab0ceb..d3c08769095 100644 --- a/.coveragerc +++ b/.coveragerc @@ -895,8 +895,6 @@ omit = homeassistant/components/philips_js/remote.py homeassistant/components/philips_js/switch.py homeassistant/components/pi_hole/sensor.py - homeassistant/components/pi4ioe5v9xxxx/binary_sensor.py - homeassistant/components/pi4ioe5v9xxxx/switch.py homeassistant/components/picotts/tts.py homeassistant/components/pilight/* homeassistant/components/ping/__init__.py diff --git a/CODEOWNERS b/CODEOWNERS index 574d559cfa4..ef6ef0271d0 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -707,7 +707,6 @@ homeassistant/components/persistent_notification/* @home-assistant/core tests/components/persistent_notification/* @home-assistant/core homeassistant/components/philips_js/* @elupus tests/components/philips_js/* @elupus -homeassistant/components/pi4ioe5v9xxxx/* @antonverburg homeassistant/components/pi_hole/* @fabaff @johnluetke @shenxn tests/components/pi_hole/* @fabaff @johnluetke @shenxn homeassistant/components/picnic/* @corneyl diff --git a/homeassistant/components/pi4ioe5v9xxxx/__init__.py b/homeassistant/components/pi4ioe5v9xxxx/__init__.py deleted file mode 100644 index 516cfc32575..00000000000 --- a/homeassistant/components/pi4ioe5v9xxxx/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Support for controlling IO expanders from Digital.com (PI4IOE5V9570, PI4IOE5V9674, PI4IOE5V9673, PI4IOE5V96224, PI4IOE5V96248).""" diff --git a/homeassistant/components/pi4ioe5v9xxxx/binary_sensor.py b/homeassistant/components/pi4ioe5v9xxxx/binary_sensor.py deleted file mode 100644 index c1a82c3eb5a..00000000000 --- a/homeassistant/components/pi4ioe5v9xxxx/binary_sensor.py +++ /dev/null @@ -1,97 +0,0 @@ -"""Support for binary sensor using RPi GPIO.""" -from __future__ import annotations - -import logging - -from pi4ioe5v9xxxx import pi4ioe5v9xxxx -import voluptuous as vol - -from homeassistant.components.binary_sensor import PLATFORM_SCHEMA, BinarySensorEntity -from homeassistant.const import DEVICE_DEFAULT_NAME -from homeassistant.core import HomeAssistant -import homeassistant.helpers.config_validation as cv -from homeassistant.helpers.entity_platform import AddEntitiesCallback -from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType - -CONF_INVERT_LOGIC = "invert_logic" -CONF_PINS = "pins" -CONF_I2CBUS = "i2c_bus" -CONF_I2CADDR = "i2c_address" -CONF_BITS = "bits" - -DEFAULT_INVERT_LOGIC = False -DEFAULT_BITS = 24 -DEFAULT_BUS = 1 -DEFAULT_ADDR = 0x20 - - -_SENSORS_SCHEMA = vol.Schema({cv.positive_int: cv.string}) - -PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( - { - vol.Required(CONF_PINS): _SENSORS_SCHEMA, - vol.Optional(CONF_I2CBUS, default=DEFAULT_BUS): cv.positive_int, - vol.Optional(CONF_I2CADDR, default=DEFAULT_ADDR): cv.positive_int, - vol.Optional(CONF_BITS, default=DEFAULT_BITS): cv.positive_int, - vol.Optional(CONF_INVERT_LOGIC, default=DEFAULT_INVERT_LOGIC): cv.boolean, - } -) - -_LOGGER = logging.getLogger(__name__) - - -def setup_platform( - hass: HomeAssistant, - config: ConfigType, - add_entities: AddEntitiesCallback, - discovery_info: DiscoveryInfoType | None = None, -) -> None: - """Set up the IO expander devices.""" - _LOGGER.warning( - "The pi4ioe5v9xxxx IO Expander integration is deprecated and will be removed " - "in Home Assistant Core 2022.4; this integration is removed under " - "Architectural Decision Record 0019, more information can be found here: " - "https://github.com/home-assistant/architecture/blob/master/adr/0019-GPIO.md" - ) - - pins = config[CONF_PINS] - binary_sensors = [] - - pi4ioe5v9xxxx.setup( - i2c_bus=config[CONF_I2CBUS], - i2c_addr=config[CONF_I2CADDR], - bits=config[CONF_BITS], - read_mode=True, - invert=False, - ) - for pin_num, pin_name in pins.items(): - binary_sensors.append( - Pi4ioe5v9BinarySensor(pin_name, pin_num, config[CONF_INVERT_LOGIC]) - ) - add_entities(binary_sensors, True) - - -class Pi4ioe5v9BinarySensor(BinarySensorEntity): - """Represent a binary sensor that uses pi4ioe5v9xxxx IO expander in read mode.""" - - def __init__(self, name, pin, invert_logic): - """Initialize the pi4ioe5v9xxxx sensor.""" - self._name = name or DEVICE_DEFAULT_NAME - self._pin = pin - self._invert_logic = invert_logic - self._state = pi4ioe5v9xxxx.pin_from_memory(self._pin) - - @property - def name(self): - """Return the name of the sensor.""" - return self._name - - @property - def is_on(self): - """Return the state of the entity.""" - return self._state != self._invert_logic - - def update(self): - """Update the IO state.""" - pi4ioe5v9xxxx.hw_to_memory() - self._state = pi4ioe5v9xxxx.pin_from_memory(self._pin) diff --git a/homeassistant/components/pi4ioe5v9xxxx/manifest.json b/homeassistant/components/pi4ioe5v9xxxx/manifest.json deleted file mode 100644 index 3ea322a6c63..00000000000 --- a/homeassistant/components/pi4ioe5v9xxxx/manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "domain": "pi4ioe5v9xxxx", - "name": "pi4ioe5v9xxxx IO Expander", - "documentation": "https://www.home-assistant.io/integrations/pi4ioe5v9xxxx", - "requirements": ["pi4ioe5v9xxxx==0.0.2"], - "codeowners": ["@antonverburg"], - "iot_class": "local_polling", - "loggers": ["pi4ioe5v9xxxx", "smbus2"] -} diff --git a/homeassistant/components/pi4ioe5v9xxxx/switch.py b/homeassistant/components/pi4ioe5v9xxxx/switch.py deleted file mode 100644 index 28a963629e9..00000000000 --- a/homeassistant/components/pi4ioe5v9xxxx/switch.py +++ /dev/null @@ -1,108 +0,0 @@ -"""Allows to configure a switch using RPi GPIO.""" -from __future__ import annotations - -import logging - -from pi4ioe5v9xxxx import pi4ioe5v9xxxx -import voluptuous as vol - -from homeassistant.components.switch import PLATFORM_SCHEMA, SwitchEntity -from homeassistant.const import DEVICE_DEFAULT_NAME -from homeassistant.core import HomeAssistant -import homeassistant.helpers.config_validation as cv -from homeassistant.helpers.entity_platform import AddEntitiesCallback -from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType - -CONF_PINS = "pins" -CONF_INVERT_LOGIC = "invert_logic" -CONF_I2CBUS = "i2c_bus" -CONF_I2CADDR = "i2c_address" -CONF_BITS = "bits" - -DEFAULT_INVERT_LOGIC = False -DEFAULT_BITS = 24 -DEFAULT_BUS = 1 -DEFAULT_ADDR = 0x20 - -_SWITCHES_SCHEMA = vol.Schema({cv.positive_int: cv.string}) - -PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( - { - vol.Required(CONF_PINS): _SWITCHES_SCHEMA, - vol.Optional(CONF_I2CBUS, default=DEFAULT_BUS): cv.positive_int, - vol.Optional(CONF_I2CADDR, default=DEFAULT_ADDR): cv.positive_int, - vol.Optional(CONF_BITS, default=DEFAULT_BITS): cv.positive_int, - vol.Optional(CONF_INVERT_LOGIC, default=DEFAULT_INVERT_LOGIC): cv.boolean, - } -) - -_LOGGER = logging.getLogger(__name__) - - -def setup_platform( - hass: HomeAssistant, - config: ConfigType, - add_entities: AddEntitiesCallback, - discovery_info: DiscoveryInfoType | None = None, -) -> None: - """Set up the swiches devices.""" - _LOGGER.warning( - "The pi4ioe5v9xxxx IO Expander integration is deprecated and will be removed " - "in Home Assistant Core 2022.4; this integration is removed under " - "Architectural Decision Record 0019, more information can be found here: " - "https://github.com/home-assistant/architecture/blob/master/adr/0019-GPIO.md" - ) - - pins = config[CONF_PINS] - switches = [] - - pi4ioe5v9xxxx.setup( - i2c_bus=config[CONF_I2CBUS], - i2c_addr=config[CONF_I2CADDR], - bits=config[CONF_BITS], - read_mode=False, - invert=False, - ) - for pin, name in pins.items(): - switches.append(Pi4ioe5v9Switch(name, pin, config[CONF_INVERT_LOGIC])) - add_entities(switches) - - -class Pi4ioe5v9Switch(SwitchEntity): - """Representation of a pi4ioe5v9 IO expansion IO.""" - - def __init__(self, name, pin, invert_logic): - """Initialize the pin.""" - self._name = name or DEVICE_DEFAULT_NAME - self._pin = pin - self._invert_logic = invert_logic - self._state = not invert_logic - - @property - def name(self): - """Return the name of the switch.""" - return self._name - - @property - def should_poll(self): - """No polling needed.""" - return False - - @property - def is_on(self): - """Return true if device is on.""" - return self._state - - def turn_on(self, **kwargs): - """Turn the device on.""" - pi4ioe5v9xxxx.pin_to_memory(self._pin, not self._invert_logic) - pi4ioe5v9xxxx.memory_to_hw() - self._state = True - self.schedule_update_ha_state() - - def turn_off(self, **kwargs): - """Turn the device off.""" - pi4ioe5v9xxxx.pin_to_memory(self._pin, self._invert_logic) - pi4ioe5v9xxxx.memory_to_hw() - self._state = False - self.schedule_update_ha_state() diff --git a/requirements_all.txt b/requirements_all.txt index 3b3ebfccd5a..7f0a7653844 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1208,9 +1208,6 @@ phone_modem==0.1.1 # homeassistant.components.onewire pi1wire==0.1.0 -# homeassistant.components.pi4ioe5v9xxxx -pi4ioe5v9xxxx==0.0.2 - # homeassistant.components.rpi_pfio pifacecommon==4.2.2