name
This commit is contained in:
parent
c3cd4e7bdb
commit
7ffea13691
|
@ -1,6 +1,6 @@
|
|||
use homekit_controller::{ConnectedDevice, Data};
|
||||
use rocket::State;
|
||||
use std::collections::HashMap;
|
||||
use std::{collections::HashMap, ops::DerefMut};
|
||||
use tokio::sync::Mutex;
|
||||
|
||||
use crate::SENSORS;
|
||||
|
@ -15,11 +15,13 @@ pub fn launch(paired: HashMap<String, ConnectedDevice>) -> rocket::Rocket<rocket
|
|||
pub async fn index(state: &State<Mutex<HashMap<String, ConnectedDevice>>>) -> Option<String> {
|
||||
let mut s = String::new();
|
||||
let mut state = state.lock().await;
|
||||
for connected in state.values_mut() {
|
||||
for (name, connected) in state.deref_mut() {
|
||||
connected.update_characteristics().await.ok()?;
|
||||
|
||||
s.push_str(format!("{name}: [\n").as_str());
|
||||
|
||||
for (aid, accessory) in &connected.accessories {
|
||||
s.push_str(format!("{} ({}): [\n", accessory.name, aid).as_str());
|
||||
s.push_str(format!("\t{} ({}): [\n", accessory.name, aid).as_str());
|
||||
for (sid, service) in &accessory.services {
|
||||
if !SENSORS.contains(&service.service_type) {
|
||||
continue;
|
||||
|
@ -27,7 +29,7 @@ pub async fn index(state: &State<Mutex<HashMap<String, ConnectedDevice>>>) -> Op
|
|||
|
||||
s.push_str(
|
||||
format!(
|
||||
"\t{} ({:?}) ({}): [\n",
|
||||
"\t\t{} ({:?}) ({}): [\n",
|
||||
service.name.as_ref().unwrap_or(&String::from("Unknown")),
|
||||
service.service_type,
|
||||
sid,
|
||||
|
@ -37,7 +39,7 @@ pub async fn index(state: &State<Mutex<HashMap<String, ConnectedDevice>>>) -> Op
|
|||
for (cid, characteristic) in &service.characteristics {
|
||||
s.push_str(
|
||||
format!(
|
||||
"\t\t{:?} ({}): {}{}\n",
|
||||
"\t\t\t{:?} ({}): {}{}\n",
|
||||
characteristic.characteristic_type,
|
||||
cid,
|
||||
match &characteristic.value {
|
||||
|
@ -53,10 +55,11 @@ pub async fn index(state: &State<Mutex<HashMap<String, ConnectedDevice>>>) -> Op
|
|||
.as_str(),
|
||||
);
|
||||
}
|
||||
s.push_str("\t]\n");
|
||||
s.push_str("\t\t]\n");
|
||||
}
|
||||
s.push_str("]\n");
|
||||
s.push_str("\t]\n");
|
||||
}
|
||||
s.push_str("]\n");
|
||||
}
|
||||
Some(s)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue