diff --git a/smart-house/src/bin/mocks_example.rs b/smart-house/src/bin/mocks_example.rs index 10e7a27..ea7447d 100644 --- a/smart-house/src/bin/mocks_example.rs +++ b/smart-house/src/bin/mocks_example.rs @@ -1,9 +1,14 @@ //! Пример работы умного дома с имитаторами -use smart_house::{House, PowerSocket, PrintStatus, Room, Thermometer, room}; +use smart_house::{Device, House, PowerSocket, PrintStatus, Room, Thermometer, room}; fn main() -> Result<(), Box> { - let house = create_house_demo()?; + let mut house = create_house_demo()?; + + let dev = house.get_room_mut("Main").unwrap().get_device_mut("PSocA").unwrap(); + if let Device::PowerSocket(psoc) = dev { + psoc.set_on(!psoc.is_on()); + } house.print_status(); @@ -12,13 +17,11 @@ fn main() -> Result<(), Box> { fn create_house_demo() -> Result> { println!("# Create new smart house"); - let mut psoc = PowerSocket::connect("127.0.0.1:10001")?; - psoc.set_on(!psoc.is_on()); let house = House::new( [( "Main".to_string(), room!( - "PSocA" => psoc, + "PSocA" => PowerSocket::connect("127.0.0.1:10001")?, "ThermA" => Thermometer::connect("127.0.0.1:10002")?, ), )]