Add onewire switches (#42962)
* Add support for switches * Fix stale comment
This commit is contained in:
parent
2845fca08e
commit
7c397a02b7
5 changed files with 541 additions and 3 deletions
|
@ -9,6 +9,7 @@ from homeassistant.components.onewire.const import (
|
|||
SUPPORTED_PLATFORMS,
|
||||
)
|
||||
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
|
||||
from homeassistant.components.switch import DOMAIN as SWITCH_DOMAIN
|
||||
from homeassistant.const import (
|
||||
DEVICE_CLASS_CURRENT,
|
||||
DEVICE_CLASS_HUMIDITY,
|
||||
|
@ -110,6 +111,44 @@ MOCK_DEVICE_SENSORS = {
|
|||
"disabled": True,
|
||||
},
|
||||
],
|
||||
SWITCH_DOMAIN: [
|
||||
{
|
||||
"entity_id": "switch.12_111111111111_pio_a",
|
||||
"unique_id": "/12.111111111111/PIO.A",
|
||||
"injected_value": b" 1",
|
||||
"result": STATE_ON,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.12_111111111111_pio_b",
|
||||
"unique_id": "/12.111111111111/PIO.B",
|
||||
"injected_value": b" 0",
|
||||
"result": STATE_OFF,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.12_111111111111_latch_a",
|
||||
"unique_id": "/12.111111111111/latch.A",
|
||||
"injected_value": b" 1",
|
||||
"result": STATE_ON,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.12_111111111111_latch_b",
|
||||
"unique_id": "/12.111111111111/latch.B",
|
||||
"injected_value": b" 0",
|
||||
"result": STATE_OFF,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
],
|
||||
},
|
||||
"1D.111111111111": {
|
||||
"inject_reads": [
|
||||
|
@ -377,6 +416,152 @@ MOCK_DEVICE_SENSORS = {
|
|||
"disabled": True,
|
||||
},
|
||||
],
|
||||
SWITCH_DOMAIN: [
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_pio_0",
|
||||
"unique_id": "/29.111111111111/PIO.0",
|
||||
"injected_value": b" 1",
|
||||
"result": STATE_ON,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_pio_1",
|
||||
"unique_id": "/29.111111111111/PIO.1",
|
||||
"injected_value": b" 0",
|
||||
"result": STATE_OFF,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_pio_2",
|
||||
"unique_id": "/29.111111111111/PIO.2",
|
||||
"injected_value": b" 1",
|
||||
"result": STATE_ON,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_pio_3",
|
||||
"unique_id": "/29.111111111111/PIO.3",
|
||||
"injected_value": b" 0",
|
||||
"result": STATE_OFF,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_pio_4",
|
||||
"unique_id": "/29.111111111111/PIO.4",
|
||||
"injected_value": b" 1",
|
||||
"result": STATE_ON,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_pio_5",
|
||||
"unique_id": "/29.111111111111/PIO.5",
|
||||
"injected_value": b" 0",
|
||||
"result": STATE_OFF,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_pio_6",
|
||||
"unique_id": "/29.111111111111/PIO.6",
|
||||
"injected_value": b" 1",
|
||||
"result": STATE_ON,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_pio_7",
|
||||
"unique_id": "/29.111111111111/PIO.7",
|
||||
"injected_value": b" 0",
|
||||
"result": STATE_OFF,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_latch_0",
|
||||
"unique_id": "/29.111111111111/latch.0",
|
||||
"injected_value": b" 1",
|
||||
"result": STATE_ON,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_latch_1",
|
||||
"unique_id": "/29.111111111111/latch.1",
|
||||
"injected_value": b" 0",
|
||||
"result": STATE_OFF,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_latch_2",
|
||||
"unique_id": "/29.111111111111/latch.2",
|
||||
"injected_value": b" 1",
|
||||
"result": STATE_ON,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_latch_3",
|
||||
"unique_id": "/29.111111111111/latch.3",
|
||||
"injected_value": b" 0",
|
||||
"result": STATE_OFF,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_latch_4",
|
||||
"unique_id": "/29.111111111111/latch.4",
|
||||
"injected_value": b" 1",
|
||||
"result": STATE_ON,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_latch_5",
|
||||
"unique_id": "/29.111111111111/latch.5",
|
||||
"injected_value": b" 0",
|
||||
"result": STATE_OFF,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_latch_6",
|
||||
"unique_id": "/29.111111111111/latch.6",
|
||||
"injected_value": b" 1",
|
||||
"result": STATE_ON,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
{
|
||||
"entity_id": "switch.29_111111111111_latch_7",
|
||||
"unique_id": "/29.111111111111/latch.7",
|
||||
"injected_value": b" 0",
|
||||
"result": STATE_OFF,
|
||||
"unit": None,
|
||||
"class": None,
|
||||
"disabled": True,
|
||||
},
|
||||
],
|
||||
},
|
||||
"3B.111111111111": {
|
||||
"inject_reads": [
|
||||
|
@ -534,7 +719,7 @@ async def test_owserver_setup_valid_device(owproxy, hass, device_id, platform):
|
|||
read_side_effect.append(expected_sensor["injected_value"])
|
||||
|
||||
# Ensure enough read side effect
|
||||
read_side_effect.extend([ProtocolError("Missing injected value")] * 10)
|
||||
read_side_effect.extend([ProtocolError("Missing injected value")] * 20)
|
||||
owproxy.return_value.dir.return_value = dir_return_value
|
||||
owproxy.return_value.read.side_effect = read_side_effect
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue