This commit is contained in:
Dimitris
2026-06-12 12:25:49 +02:00
parent 8696357787
commit 0f6b444eed
3 changed files with 21 additions and 2 deletions
+13 -2
View File
@@ -5,6 +5,8 @@ use rumqttc::{AsyncClient, EventLoop, MqttOptions, QoS};
use scraper::{Html as HtmlScraper, Selector};
use std::time::Duration;
use tokio::{task, time};
use dotenv::dotenv;
use std::env;
const METEO_MUNICH_API_URL: &str =
"https://www.meteorologie.lmu.de/~quicklooks/aktuelle_messwerte/messwerte_stadt.html";
@@ -15,6 +17,9 @@ const LONGITUDE_MUC: f64 = 11.542922;
#[tokio::main(flavor = "current_thread")]
async fn main() {
dotenv().ok();
let (client, mut eventloop) = create_conn();
match meteo_weather().await {
@@ -157,11 +162,17 @@ async fn publish_topic(client: AsyncClient, topic: &str, value: String) {
}
fn create_conn() -> (AsyncClient, EventLoop) {
let mut mqttoptions = MqttOptions::new("rust-mqqt", "192.168.1.37", 1883);
let mqtt_client = env::var("MQTT_CLIENT");
let mqtt_broker = env::var("MQTT_BROKER");
let mqtt_user = env::var("MQTT_USER");
let mqtt_password = env::var("MQTT_PASSWORD");
let mut mqttoptions = MqttOptions::new(mqtt_client.unwrap(), mqtt_broker.unwrap(), 1883);
mqttoptions
.set_keep_alive(Duration::from_secs(5))
.set_manual_acks(false)
.set_credentials("mqtt", "delta32#")
.set_credentials(mqtt_user.unwrap(), mqtt_password.unwrap())
.set_clean_session(false);
AsyncClient::new(mqttoptions, 10)
}