Home Assistant Unofficial Reference 2024.12.1
homeassistant.components.firmata Namespace Reference

Namespaces

 binary_sensor
 
 board
 
 config_flow
 
 const
 
 entity
 
 light
 
 pin
 
 sensor
 
 switch
 

Functions

bool async_setup (HomeAssistant hass, ConfigType config)
 
bool async_setup_entry (HomeAssistant hass, ConfigEntry config_entry)
 
bool async_unload_entry (HomeAssistant hass, ConfigEntry config_entry)
 

Variables

 _LOGGER = logging.getLogger(__name__)
 
 ANALOG_PIN_SCHEMA = vol.All(cv.string, vol.Match(r"^A[0-9]+$"))
 
 BINARY_SENSOR_SCHEMA
 
 BOARD_CONFIG_SCHEMA
 
 CONFIG_SCHEMA
 
string DATA_CONFIGS = "board_configs"
 
 LIGHT_SCHEMA
 
 SENSOR_SCHEMA
 
 SWITCH_SCHEMA
 

Detailed Description

Support for Arduino-compatible Microcontrollers through Firmata.

Function Documentation

◆ async_setup()

bool homeassistant.components.firmata.async_setup ( HomeAssistant  hass,
ConfigType  config 
)
Set up the Firmata domain.

Definition at line 126 of file __init__.py.

◆ async_setup_entry()

bool homeassistant.components.firmata.async_setup_entry ( HomeAssistant  hass,
ConfigEntry  config_entry 
)
Set up a Firmata board for a config entry.

Definition at line 161 of file __init__.py.

◆ async_unload_entry()

bool homeassistant.components.firmata.async_unload_entry ( HomeAssistant  hass,
ConfigEntry  config_entry 
)
Shutdown and close a Firmata board for a config entry.

Definition at line 211 of file __init__.py.

Variable Documentation

◆ _LOGGER

homeassistant.components.firmata._LOGGER = logging.getLogger(__name__)
private

Definition at line 46 of file __init__.py.

◆ ANALOG_PIN_SCHEMA

homeassistant.components.firmata.ANALOG_PIN_SCHEMA = vol.All(cv.string, vol.Match(r"^A[0-9]+$"))

Definition at line 50 of file __init__.py.

◆ BINARY_SENSOR_SCHEMA

homeassistant.components.firmata.BINARY_SENSOR_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required(CONF_NAME): cv.string,
4  # Both digital and analog pins may be used as digital input
5  vol.Required(CONF_PIN): vol.Any(cv.positive_int, ANALOG_PIN_SCHEMA),
6  vol.Required(CONF_PIN_MODE): vol.Any(PIN_MODE_INPUT, PIN_MODE_PULLUP),
7  vol.Optional(CONF_NEGATE_STATE, default=False): cv.boolean,
8  },
9  required=True,
10 )

Definition at line 77 of file __init__.py.

◆ BOARD_CONFIG_SCHEMA

homeassistant.components.firmata.BOARD_CONFIG_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required(CONF_SERIAL_PORT): cv.string,
4  vol.Optional(CONF_SERIAL_BAUD_RATE): cv.positive_int,
5  vol.Optional(CONF_ARDUINO_INSTANCE_ID): cv.positive_int,
6  vol.Optional(CONF_ARDUINO_WAIT): cv.positive_int,
7  vol.Optional(CONF_SLEEP_TUNE): vol.All(
8  vol.Coerce(float), vol.Range(min=0.0001)
9  ),
10  vol.Optional(CONF_SAMPLING_INTERVAL): cv.positive_int,
11  vol.Optional(CONF_SWITCHES): [SWITCH_SCHEMA],
12  vol.Optional(CONF_LIGHTS): [LIGHT_SCHEMA],
13  vol.Optional(CONF_BINARY_SENSORS): [BINARY_SENSOR_SCHEMA],
14  vol.Optional(CONF_SENSORS): [SENSOR_SCHEMA],
15  },
16  required=True,
17 )

Definition at line 103 of file __init__.py.

◆ CONFIG_SCHEMA

homeassistant.components.firmata.CONFIG_SCHEMA
Initial value:
1 = vol.Schema(
2  {DOMAIN: vol.All(cv.ensure_list, [BOARD_CONFIG_SCHEMA])}, extra=vol.ALLOW_EXTRA
3 )

Definition at line 121 of file __init__.py.

◆ DATA_CONFIGS

string homeassistant.components.firmata.DATA_CONFIGS = "board_configs"

Definition at line 48 of file __init__.py.

◆ LIGHT_SCHEMA

homeassistant.components.firmata.LIGHT_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required(CONF_NAME): cv.string,
4  # Both digital and analog pins may be used as PWM/analog output
5  vol.Required(CONF_PIN): vol.Any(cv.positive_int, ANALOG_PIN_SCHEMA),
6  vol.Required(CONF_PIN_MODE): PIN_MODE_PWM,
7  vol.Optional(CONF_INITIAL_STATE, default=0): cv.positive_int,
8  vol.Optional(CONF_MINIMUM, default=0): cv.positive_int,
9  vol.Optional(CONF_MAXIMUM, default=255): cv.positive_int,
10  },
11  required=True,
12 )

Definition at line 64 of file __init__.py.

◆ SENSOR_SCHEMA

homeassistant.components.firmata.SENSOR_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required(CONF_NAME): cv.string,
4  # Currently only analog input sensor is implemented
5  vol.Required(CONF_PIN): ANALOG_PIN_SCHEMA,
6  vol.Required(CONF_PIN_MODE): PIN_MODE_ANALOG,
7  # Default differential is 40 to avoid a flood of messages on initial setup
8  # in case pin is unplugged. Firmata responds really really fast
9  vol.Optional(CONF_DIFFERENTIAL, default=40): vol.All(
10  cv.positive_int, vol.Range(min=1)
11  ),
12  },
13  required=True,
14 )

Definition at line 88 of file __init__.py.

◆ SWITCH_SCHEMA

homeassistant.components.firmata.SWITCH_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required(CONF_NAME): cv.string,
4  # Both digital and analog pins may be used as digital output
5  vol.Required(CONF_PIN): vol.Any(cv.positive_int, ANALOG_PIN_SCHEMA),
6  vol.Required(CONF_PIN_MODE): PIN_MODE_OUTPUT,
7  vol.Optional(CONF_INITIAL_STATE, default=False): cv.boolean,
8  vol.Optional(CONF_NEGATE_STATE, default=False): cv.boolean,
9  },
10  required=True,
11 )

Definition at line 52 of file __init__.py.