#!/usr/bin/env python # Copyright (c) 2022 Clément Martin > [office_cpl, ps4, printer, rainbow, walter, zippo] + rpi4s with Cluster('Salon'): hue = HueBridge('Hue Bridge') living_cpl = CPL('CPL salon') malkovitch = Firewall('malkovitch') proximus = Internet('Proximus') proximus_router = Modem('Proximus') proximus_tv = ProximusTV('Decodeur') telenet = Internet('Telenet') telenet_router = Modem('Telenet') malkovitch << MyEdge('ethernet') >> [living_cpl, proximus_router, telenet_router] proximus_router << MyEdge('adsl') >> proximus proximus_router << MyEdge('ethernet') >> [ hue, proximus_tv ] telenet_router << MyEdge('cable') >> telenet # with Cluster('Lights'): # with Cluster('Salon'): # lumieres_salon = [ HueBulb('Boule Salon'), HueBulb('Lustre Canapé'), HueBulb('Lustre Table'), # SmartPlug('Vinyls'), SmartPlug('Mappemonde'), # Tradfri('Vaisselier') ] # with Cluster('Veranda'): # lumieres_veranda = [ HueSpot(f'Veranda {x}') for x in range(6) ] # with Cluster('Bureau'): # lumieres_bureau = [ HueSpot('Plafond bureau 1'), HueSpot('Plafond bureau 2') ] # hue << MyEdge('zigbee') >> lumieres_salon # hue << MyEdge('zigbee') >> lumieres_veranda # hue << MyEdge('zigbee') >> lumieres_bureau with Cluster('Wireless', direction='TB'): wifi_ap = UniFiAP('NanoHD') with Cluster('Misc'): with Cluster('Salon'): boxx = Boxx() with Cluster('Salle de bain'): balance = Aria('Balance') with Cluster('Garage', direction='TB'): lessiveuse = WashingMachine('Lave linge') with Cluster('Sound'): with Cluster('Cuisine', direction='TB'): flex2i = AudioStreamer('Flex 2i') with Cluster('Salon'): # ampli = Amplifier('Ampli') # has buletooth hifi = AudioStreamer('HiFi') with Cluster('Video'): tv_salon = Television('TV Salon') jack = Rpi4('Jack') with Cluster('User Devices'): laptop_clement = Laptop('Laptop Clément') laptop_maithe = Laptop('Laptop Maïthé') nintendo_switch = NintendoSwitch('Switch Alistair') tel_alistair = AndroidPhone('Téléphone Alistair') tel_clement = AndroidPhone('Téléphone Clément') tel_maithe = IPhone('Téléphone Maïthé') wifi_devices = [ nintendo_switch, laptop_clement, laptop_maithe, tel_alistair, tel_maithe, tel_clement ] wifi_ap << MyEdge('wifi') >> [ tv_salon, jack, boxx, hifi ] wifi_ap << MyEdge('wifi') >> wifi_devices wifi_ap << MyEdge('wifi') >> balance wifi_ap << MyEdge('wifi') >> flex2i wifi_ap << MyEdge('wifi') >> lessiveuse living_cpl << MyEdge('electric') >> office_cpl wifi_ap << MyEdge('ethernet') >> malkovitch