Beispiel #1
0
def zone_tree_builder(o):
    zones = {} 
    for z in o:
        zone = Zone(z["id"],z.get("name",None))
        if z.has_key("parent"):
            path = z["parent"].split("/")
            zones[path[0]].insert_subzone(zone,path[1:])
        else:
            zones[z["id"]] = zone
        devices = z.get("devices",[])
        for d in devices:
            D = dynamic_import(d["type"])
            device = D()
            device.initialize(d.get("cfg",{}))
            zone.add_device(d["name"],device)
    return zones
Beispiel #2
0
 def _build_zones(self):
     z = Zone("home","Home")
     z1 = Zone("living","Living Room")
     sensor = TestSensor()
     sensor.initialize({"x":"y"})
     actuator = TestActuator()
     actuator.initialize({"test_actions":{"update":{"x":"an int"}}})
     z1.devices["test_sensor"] = sensor
     z1.devices["test_actuator"] = actuator
     z.insert_subzone(z1)
     self.facility.add_root_zone(z)