lumapu / ahoy

Various tools, examples, and documentation for communicating with Hoymiles microinverters
https://ahoydtu.de
Other
937 stars 219 forks source link

restart Ahoy mit MqTT Befehl #1667

Open DanielR92 opened 1 month ago

DanielR92 commented 1 month ago

Es wurde gewünscht (wie im Titel zu lesen). Sobald MQTT umgebaut wurde (Queue), kann dies auch mit aufgenommen werden.

lumapu commented 1 month ago

Queue ist doch schon umgebaut, oder auf was beziehst du dich?

DanielR92 commented 1 month ago

Na, ich kann das aktuell nicht einbauen da pubMqtt.h::onMessage die Funktion es noch nicht hergibt die Daten korrekt auszuwerten.

Ich bin hier noch etwas unzufrieden wie es aktuell gelöst ist.

lumapu commented 1 month ago

beziehst du dich auf Versionen vor 0.8.124 oder ab .124 und neuer? In der .124 habe ich die Queue bereits umgebaut, wie es @fumanchi empfohlen hat. Also bei onMessage(...) wird der Inhalt in eienr std::queue eingereiht. Diese Queue wird dann in der loop durch eine leere ausgetauscht (std::swap) und anschließend die getauschte geleert. Alles ist per mutex threadsafe gestaltet.