ich bräuchte mal Ideen zur Lösung von folgendem Problem:
Ich habe im ersten OG mehrere Rollläden, die per 433MHz-Fernbedienung hoch- und runtergefahren werden können. Für jede Rollade gibt es einen eigenen Handsender.
Nun habe ich per ESP32 und CC1101 einen Empfänger/Sender gebaut und an HA angeschlossen, der zunächst die Sende-Codes der Fernbedienung ausgelesen hat und diese Codes dann auch sendet.
In der Regel funktioniert das auch. Ich betone “in der Regel”. Es ist aber nicht zuverlässig und scheint damit zusammen zu hängen, dass Rolladen aus Sicherheitsgründen “Rolling Codes” haben.
Wenn in diesem Fall der Sende-Befehl nicht akzeptiert wird, muss ich ihn größeren Abständen (5-10 Sekunden) mehrfach senden. Irgendwann funktioniert es dann.
Nun meine Frage: hat jemand ein Idee, wie man das Thema lösen kann? Ein Umbau der Rolladen mit anderen Schaltern kommt nicht in Betracht.
Es gäbe noch einen Work-Around, den ich im Kopf habe: Wenn ich erkennen könnte, dass eine Rollade nicht reagiert, würde ich den Code senden, bis die Aktion erfolgreich war. Wie aber kann ich erkennen, ob die Rollade sich bewegt hat? Ein Fenster-Sensor geht nicht, weil der auf die Rollade geklebte Magnet bestimmt runterfällt. Hat jemand eine Idee oder Lösungsansatz?
Kannst du ausschließen, dass es nicht am schlechten/grenzwertigen Empfangssignal liegen kann
→ Einfach einen zweiten ESP mit CC1101 aufstellen im OG
Warum nicht immer zyklisch senden und sicher zu gehen?
→ zB. immer 5x senden mit Delay 60sec oder noch größer
Bekommt man schon hin, dass der hält
→ was kostet dein bevorzugter Fenstersensor? Für 10€ bekommst du einen Shelly PM mini, hier könntest du die Leistungsaufnahme am Motor messen und weißt so ob er gefahren ist.
Haben die Schalter eine elektrische Verbindung zu Motor oder sind die per 433Mhz bzw. Haben die Motoren Eingänge für Schalter?
→ Am Motor einen Shelly 2pm für <20€/Stück hin bauen → dann kannst du nicht nur Steuern sondern auch Position lesen
@Pampelmuse: „Woher kennst du den Algorithmus für die “Rolling Codes”? Oder wird immer wieder die gleiche Sequenz an Befehlen wiederholt? Dann würde ich es eher als längeren Steuerbefehl bezeichnen als als “Rolling Codes”.
Ich musste feststellen, dass die Toleranzen dieser einfachen und günstigen 433‑MHz‑Empfänger/Sender doch relativ hoch sind. Wenn man ein Sender-/Empfänger‑Paar nicht zusammen kauft, kann die Kommunikation schwierig oder sogar unmöglich werden.
Ich musste drei unterschiedliche 433‑MHz‑Empfängermodelle ausprobieren, bevor es zufriedenstellende Ergebnisse gab, und das Herumspielen mit den vielen Einstellparametern gehörte zu den aufwendigsten Inbetriebnahmearbeiten, die ich je gemacht habe.
Bei mir handelt es sich nur um einfache Schalter, und wenn man sich im Log die (relativ oft gestörten) empfangenen Daten ansieht, wird sofort klar, warum man manchmal etwas länger auf die Tasten drücken muss, damit der gewünschte Schaltvorgang ausgelöst wird. Der Originalempfänger sieht zwar wesentlich kostengünstiger aus als meiner, funktioniert aber etwas besser (zuverlässiger, schneller), was wohl am Finetuning des Herstellers liegt.
Ich würde noch ein paar andere Sender ausprobieren und/oder an den Sendeparametern arbeiten.
Das Messen der Leistungsaufnahme über einen Shelly halte ich für eine gute Idee, da wenig Verkabelungsaufwand und keine mechanische Bastelei nötig sind. Man könnte aber auch etwas mit Lasersensoren (VL53L0X), einfachen Druckschaltern oder Impulszählern, z. B. an der Motorachse, machen, um eine Bewegung zu detektieren…“
Danke für die Tipps.
Ich habe nun erst einmal einen Türsensor auf die Rollade geklebt und den Magneten oben auf den Rahmen und messe nach der Benutzung der Rollade, ob der Sensor geschlossen oder offen ist. Wenn nicht der richtige Wert gemeldet ist, habe ich einen Automatismus, der die Aktion nach 60 Sekunden wiederholt.
Aktuell funktioniert das so ganz gut.