Exemplo n.º 1
0
def setup_platform(hass, config, add_entities, discovery_info=None):
    """Set up the RaspyRFM switch."""

    gateway_manufacturer = config.get(CONF_GATEWAY_MANUFACTURER,
                                      Manufacturer.SEEGEL_SYSTEME.value)
    gateway_model = config.get(CONF_GATEWAY_MODEL, GatewayModel.RASPYRFM.value)
    host = config[CONF_HOST]
    port = config.get(CONF_PORT)
    switches = config[CONF_SWITCHES]

    raspyrfm_client = RaspyRFMClient()
    gateway = raspyrfm_client.get_gateway(Manufacturer(gateway_manufacturer),
                                          GatewayModel(gateway_model), host,
                                          port)
    switch_entities = []
    for switch in switches:
        name = switch[CONF_NAME]
        controlunit_manufacturer = switch[CONF_CONTROLUNIT_MANUFACTURER]
        controlunit_model = switch[CONF_CONTROLUNIT_MODEL]
        channel_config = switch[CONF_CHANNEL_CONFIG]

        controlunit = raspyrfm_client.get_controlunit(
            Manufacturer(controlunit_manufacturer),
            ControlUnitModel(controlunit_model))

        controlunit.set_channel_config(**channel_config)

        switch = RaspyRFMSwitch(raspyrfm_client, name, gateway, controlunit)
        switch_entities.append(switch)

    add_entities(switch_entities)
Exemplo n.º 2
0
    '2': 1,
    '3': 1,
    '4': 1,
    '5': 1,
    'CH': 'D'
})

print("")

print(raspyrfm.generate_code(brennenstuhl_rcs1000, Action.ON))
print(itgw.generate_code(brennenstuhl_rcs1000, Action.ON))

print("")

bat = rfm_client.get_controlunit(Manufacturer.BAT,
                                 ControlUnitModel.RC3500_A_IP44_DE)
bat.set_channel_config(**{'1': 1, '2': 1, '3': 1, '4': 1, '5': 1, 'CH': 'D'})

print(raspyrfm.generate_code(bat, Action.ON))
print(itgw.generate_code(bat, Action.ON))

# rfm_client.send(itgw, brennenstuhl_rcs1000, Action.ON)

manufacturer = Manufacturer("Intertechno")
model = ControlUnitModel("CMR 1000")

cmr1000 = rfm_client.get_controlunit(manufacturer, model)
cmr1000.set_channel_config(**{"master": 'B', "slave": 1})

rfm_client.send(itgw, cmr1000, Action.OFF)