PUBLISH_COUNT

This commit is contained in:
Dimitris
2026-06-12 15:24:18 +02:00
parent 0f6b444eed
commit 7d2375011c
+6 -4
View File
@@ -1,4 +1,5 @@
mod weather_data; mod weather_data;
use chrono::{Local}; use chrono::{Local};
use crate::weather_data::{DwdWeather, MucWeather}; use crate::weather_data::{DwdWeather, MucWeather};
use rumqttc::{AsyncClient, EventLoop, MqttOptions, QoS}; use rumqttc::{AsyncClient, EventLoop, MqttOptions, QoS};
@@ -15,6 +16,8 @@ const LATITUDE_MUC: f64 = 48.163142;
const LONGITUDE_MUC: f64 = 11.542922; const LONGITUDE_MUC: f64 = 11.542922;
const PUBLISH_COUNT: i32 = 5;
#[tokio::main(flavor = "current_thread")] #[tokio::main(flavor = "current_thread")]
async fn main() { async fn main() {
@@ -26,7 +29,6 @@ async fn main() {
Ok(weather) => { Ok(weather) => {
task::spawn(async move { task::spawn(async move {
publish(client.clone(), &weather).await; publish(client.clone(), &weather).await;
time::sleep(Duration::from_secs(3)).await;
}); });
let mut count = 0; let mut count = 0;
@@ -34,7 +36,7 @@ async fn main() {
let event = eventloop.poll().await; let event = eventloop.poll().await;
match &event { match &event {
Ok(_) => { Ok(_) => {
if count == 10 { if count == PUBLISH_COUNT * 2 {
break; break;
} }
count = count + 1; count = count + 1;
@@ -134,7 +136,7 @@ pub async fn meteo_weather() -> Result<MucWeather, reqwest::Error> {
precipitation, precipitation,
date: cur_date_formatted date: cur_date_formatted
}; };
println!("Zeile: {:?}", weather); println!("{:?}", weather);
Ok(weather) Ok(weather)
} }
@@ -146,7 +148,7 @@ async fn publish(client: AsyncClient, muc: &MucWeather) {
publish_topic(client.clone(), "munich/pressure", muc.pressure.to_string()).await; publish_topic(client.clone(), "munich/pressure", muc.pressure.to_string()).await;
publish_topic(client.clone(), "munich/humidity", muc.humidity.to_string()).await; publish_topic(client.clone(), "munich/humidity", muc.humidity.to_string()).await;
publish_topic(client.clone(), "munich/precipitation", muc.precipitation.to_string()).await; publish_topic(client.clone(), "munich/precipitation", muc.precipitation.to_string()).await;
time::sleep(Duration::from_secs(2)).await; time::sleep(Duration::from_secs(1)).await;
} }
async fn publish_topic(client: AsyncClient, topic: &str, value: String) { async fn publish_topic(client: AsyncClient, topic: &str, value: String) {