bump dependencies

This commit is contained in:
Robin Appelman 2024-01-14 18:01:32 +01:00
commit 94580d3558
6 changed files with 515 additions and 523 deletions

1070
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -5,18 +5,18 @@ authors = ["Robin Appelman <robin@icewind.nl>"]
edition = "2018"
[dependencies]
rumqttc = "0.12.0"
tokio = { version = "1.20.1", features = ["macros", "rt-multi-thread"] }
dashmap = "5.3.4"
json = "0.12.4"
warp = "0.3.2"
dotenv = "0.15.0"
ctrlc = { version = "3.2.2", features = ["termination"] }
rumqttc = "0.23.0"
tokio = { version = "1.35.1", features = ["macros", "rt-multi-thread"] }
dashmap = "5.5.3"
jzon = "0.12.5"
warp = "0.3.6"
dotenvy = "0.15.7"
ctrlc = { version = "3.4.2", features = ["termination"] }
color-eyre = "0.6.2"
async-stream = "0.3.3"
async-stream = "0.3.5"
pin-utils = "0.1.0"
hostname = "0.3.1"
tokio-stream = "0.1.9"
tokio-stream = "0.1.14"
[profile.release]
lto = true

View file

@ -25,7 +25,7 @@
};
devShell = pkgs.mkShell {
nativeBuildInputs = with pkgs; [rustc cargo bacon cargo-edit cargo-outdated clippy];
nativeBuildInputs = with pkgs; [rustc cargo bacon cargo-edit cargo-outdated clippy cargo-audit];
};
}
)

View file

@ -21,17 +21,17 @@ pub struct Credentials {
impl Config {
pub fn from_env() -> Result<Self> {
let mqtt_host = dotenv::var("MQTT_HOSTNAME").wrap_err("MQTT_HOSTNAME not set")?;
let mqtt_port = dotenv::var("MQTT_PORT")
let mqtt_host = dotenvy::var("MQTT_HOSTNAME").wrap_err("MQTT_HOSTNAME not set")?;
let mqtt_port = dotenvy::var("MQTT_PORT")
.ok()
.and_then(|port| u16::from_str(&port).ok())
.unwrap_or(1883);
let host_port = dotenv::var("PORT")
let host_port = dotenvy::var("PORT")
.ok()
.and_then(|port| u16::from_str(&port).ok())
.unwrap_or(80);
let mi_temp_names = dotenv::var("MITEMP_NAMES").unwrap_or_default();
let mi_temp_names = dotenvy::var("MITEMP_NAMES").unwrap_or_default();
let mi_temp_names = mi_temp_names
.split(',')
.map(|pair| {
@ -48,9 +48,9 @@ impl Config {
})
.collect::<Result<BTreeMap<BDAddr, String>, Report>>()?;
let mqtt_credentials = match dotenv::var("MQTT_USERNAME") {
let mqtt_credentials = match dotenvy::var("MQTT_USERNAME") {
Ok(username) => {
let password = dotenv::var("MQTT_PASSWORD")
let password = dotenvy::var("MQTT_PASSWORD")
.wrap_err("MQTT_USERNAME set, but MQTT_PASSWORD not set")?;
Some(Credentials { username, password })
}

View file

@ -1,5 +1,5 @@
use color_eyre::{eyre::WrapErr, Report, Result};
use json::JsonValue;
use jzon::JsonValue;
use rumqttc::{AsyncClient, QoS};
use std::collections::{BTreeMap, HashMap};
use std::convert::TryFrom;

View file

@ -121,7 +121,7 @@ async fn mqtt_client<S: Stream<Item = Result<Publish>>>(
Topic::Power(_) => {}
Topic::Result(device) | Topic::Sensor(device) | Topic::Status(device) => {
let payload = std::str::from_utf8(message.payload.as_ref()).unwrap_or_default();
if let Ok(json) = json::parse(payload) {
if let Ok(json) = jzon::parse(payload) {
let mut device_states = device_states.lock().unwrap();
device_states.update(device, json);
}