ich habe einen Regensensor mit einem Shelly Uni Plus (fw 1.7.4) nachgebaut, siehe hier. (schöne Anleitung, danke nochmal an Liver_64)
Dieser sitzt nun Stromversorgt an (zum Regen detektieren) geeigneter Stelle draußen und hat leider nur eine Signalstärke (lt. Unifi OS) von um die -80dB. TX Retries sind dementsprechend hoch, ca. 20-30%. Also grenzwertig, aber funktioniert eigentlich. Alles funktioniert auch dem Anschein nach so wie es soll, aber ich schätze, dass per UDP demnach jeder dritte Regen-Alarm so nicht ankommt, sehe ich das richtig? (da sich UDP ja eben nicht dafür interessiert ob die Nachricht angekommen ist?)
Kann man stattdessen beim Shelly Uni im Menü unter "Actions" einen webhook triggern um soetwas wie "http://ShellyUser:ShellyUserPW@<<IPMiniserver>>/dev/sps/io/V##/pulse" abzusetzen? Dann, so mein Verständnis, würde es ggf. zuverlässiger funktionieren da hier ggf. retries stattfänden?
Hat schonmal jemand soetwas gemacht?
Edit:
Ich habe gerade noch MQTT beim Shelly entdeckt. Da MQTT über TCP geht, sollte auch das helfen... d.h. ich lasse Temp/Humid über UDP, und selektiv den Regen-An-Aus Flag über MQTT. Ich habe mal dementsprechend MQTT aktiviert, und RCP via MQTT, MQTT control, etc. alle deaktiviert, und dafür folgendes Skript definiert und laufen lassen:
Shelly.addEventHandler(function (event) {
if (event.name === "input" && event.id === 1) {
let payload = event.info.state ? "1" : "0";
// first send
MQTT.publish("shellyplusuni-MacAddr/rain", payload, 0, true);
// retry after 1 second
Timer.set(1000, false, function () {
MQTT.publish("shellyplusuni-MacAddr/rain", payload, 0, true);
});
}
});

Kommentar