homework: fine tune

This commit is contained in:

View File

@@ -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<dyn std::error::Error>> {
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<dyn std::error::Error>> {
fn create_house_demo() -> Result<House, Box<dyn std::error::Error>> {
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")?,
),
)]