Go Down

Topic: Somfy Funkrollo-Steuerung per Arduino-Fernbedienung (Read 7748 times) previous topic - next topic

peter65

Hallo Manawyrm,

richtig der Portpin wird von Hochohmig auf Masse geschalten und ist somit kein Problem.
Auch bei der Kanal  abfrage der Telis 4 über die LED Ausgänge der Telis reichen die 3 Volt aus um dies mit dem Arduino sauber auszuwerten.
Ansonsten sollte es auch kein Problem sein die Taster mit einen Optokoppler zu Überbrücken.

Gruß, Peter

erni-berni

Hallo,
vielleicht mal ein anderer Ansatz:
Der Schalter ist doch nichts anderes als eine 433 MHz Fernbedienung, wie sie z.B. auch für Funksteckdosen genutzt wird. Sicher ist das Protokoll ein anderes, aber das lässt sich ja rausfinden. Ähnlich wie in diesem Projekt http://blog.sui.li/2011/04/12/low-cost-funksteckdosen-arduino/ könnte man dann ein 433 MHz Sendemodul direkt am Arduino betreiben. Einzige Vorraussetzung: das Signal müsste amplitudenmoduliert sein.
Hat jemand schon mal versucht herauszufinden, wie das Signal kodiert ist?
Gruß
Reinhard

juekr

Hey, das sieht ziemlich interessant aus, jedoch lässt sich Somfy, was die Codierung angeht, afaik nicht wirklich in die Karten schauen. Wobei das natürlich die allerallerallerattraktivste Lösung wäre ...

Manawyrm

Genau das möchte ich doch schon lange machen ;)

Deswegen hätte ich ja auch gerne ein Bild vom Innenleben.
Ich glaube nicht wirklich dass Somfy eigene Chips verwendet.

Das wird wahrs. 0815 Zeug sein, und da kann man dann sicherlich im Datenblatt auch das Protokoll nachlesen^^

erni-berni

Ein Foto des Innenlebens des Empfängers wäre sicher nicht schlecht, besser aber noch eine Messung des Signals am Empfänger.
Ich habe sowas mal an einer fernsteuerbaren Steckdose - in Ermangelung eines DigitalScopes - mit dem Analogeingang der Soundkarte und Audacity gemacht.
Zumindest sieht man dann schon mal die Taktrate, die Wiederholrate und wenn man Glück hat, kann man anhand der Signale auf die Codierung schliessen.

juekr

Huh, Leute, da muss ich euch leider enttäuschen. Mir fehlen sowohl das Equipment wie auch die Kenntnisse, um aus den Somfy-Empfängern irgendetwas herauszumessen. Und da die Teile in den Rollomotoren integriert sind, scheue ich mich auch davor, diese auszubauen und aufzumachen.

Btw.: Ende der Woche habe ich die Optokoppler, dann versuche ich das ganze mal an einen Arduino zu hängen und per HTTP-Request fernzusteuern. Dann muss ich nur noch herausfinden, wie ich das Ganze mit der Homematic-Zentrale zusammenbringe.

juekr

So, Optokoppler sind da, jedoch hab ich gestern wohl beim Löten gemurkst - jedenfalls lässt sich nur einer der drei Buttons per Arduino auslösen. Dabei sehen die Lötstellen eigentlich allesamt gut aus - wie empfindlich ist denn so ein Optokoppler, was Lötkolbenhitze angeht?  :smiley-eek:

Naja, ich werd' dann morgen alles neu verlöten und es noch einmal probieren ...

juekr

So, jetzt ist dann der Zeitpunkt, an dem ich anfange, zu verzweifeln. Ich habe jetzt zig mal neu verlötet, umgesteckt, umkonfiguriert, immer mit demselben Ergebnis: Ich kann im besten Fall einen der drei Schalter per Arduino auslösen. Entweder habe ich also die anderen Optokoppler bereits verheizt oder irgendetwas an der Kombination aus Koppler und Vorwiderstand passt nicht ...

Alle Lötstellen habe ich mehrfach (meist mit Hilfe einer LED) überprüft. Ebenso den Code im Arduino. Die Schalter lassen sich auch wunderbar von Hand überbrücken, wenn ich die angelöteten Kabel zusammenführe. Ich habe keine Ahnung, was ich jetzt noch ausprobieren soll - ich hab sogar schon andere Widerstände versucht (240 Ohm und 600 Ohm). Habt ihr vielleicht eine Idee? Oder eine definitiv passende Kombination von Koppler und Widerstand (gerne von Reichelt)?

Die Verkabelung sieht so aus:

Arduino:                       Optokoppler:       Somfy-Funkschalter:
Digital Out --- [360 Ohm] ----- 1       6
GND --------------------------- 2       5 ---------- 1
                                3       4 ---------- 2




sth77

Boah! Das Forum hat mein Posting gefressen! :(

Also nochmal: Die Beschaltung sieht soweit ganz gut aus, ist das ein CNY17, den du verwendest? hast du mal versucht, die Zuleitungen zum Taster von Pin 4 und 5 zu tauschen? Hintergrund ist, dass du einen Transistor als Schalter verwendest, und das funktioniert prinzipbedingt nur unidirektional.
Lötest du direkt oder bastelst du das erst auf dem Steckbrett zusammen?
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

juekr

Als brutaler Anfänger löte ich natürlich direkt (was ich im Nachhinein betrachtet wohl lieber hätte lassen sollen ...) - und ja, das ist ein CNY17-3.

Auf die Idee, 4 und 5 zu tauschen, bin ich in der Tat noch nicht gekommen, ich dachte, dabei wäre die Polung egal => wird aber SOFORT ausprobiert. Ich melde mich wieder!

(Müsste allerdings mit dem Teufel zugehen, wenn ich bei den ganzen Neuverlötungen die Kabel nicht schon einmal versehentlich getauscht hätte ... egal, wird trotzdem versucht!)

juekr

Mal abgesehen davon, dass ich mir jetzt ein kleines bisschen doof vorkomme: SUPER, ES GEHT!

Ich danke euch allen!

Jetzt muss ich nur meinen Arduino-Code etwas bereinigen ...

sth77

Es ist keine Schande, etwas nicht zu wissen. Wichtig ist, das man gewillt ist weiter zu lernen. Und das hast du sicher bei deinem Projekt auch getan. :D

Ansonsten: Immer ran mit mehr Informationen, Codezeilen, Bilder und Videos vom Projekt! ;)
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8


juekr

Entschuldigt bitte, dass es so lange gedauert hat, dafür ist die Beschreibung der ganzen Bastelaktion auch etwas ausführlicher geworden. Viel Spaß damit: www.es-ist-ein-krauss.de/Somfydunio.pdf

metalmax83

Hallo zusammen,

ich hole den Thread einfach mal nach oben, weil ich im Prinzip genau das gleiche vorhabe.

Ich werde zwei Somfy RTS Fünf-Kanal-Fernbedienungen mit einem Arduino ansteuern, insgesamt werden 9 Rolladen kontrolliert.
Die Fernbedienungen werden direkt über den 3,3V-Pin mit Spannung versorgt, so dass GND überall gleich ist.
Die Ansteuerung der Taster durch die Outputpins des Arduino könnte also direkt erfolgen, wären da nicht die unterschiedlichen HIGH-Pegel (5V Arduino, 3,3V Somfy).
Vermutlich würde es trotzdem funktionieren, aber ganz sauber wäre es nicht. Daher werde ich die Ansteuerung der Taster über NPN-Darlington-Arrays realisieren.
Die sind günstig, es sind alle nötigen Widerstände drin und ich muss nicht mit umgedrehter Logik arbeiten.

Damit das ganze aufbaumäßig einigermaßen sauber wird, werde ich wo es eben geht PSK-Steckverbinder einsetzen und das ganze in ein Kunststoffgehäuse einbauen, aus denen ich USB und Ethernet des Arduinos herausführe.

Auf der Software-Seite habe ich für den Arduino auf den Code von juekr aufgesetzt, allerdings mit ein paar Ergänzungen. Die nötige Anzahl von Klicks auf den Kanalwechsel-Schalter wird berechnet und ausgeführt, der aktuelle Kanal wird nach Kanalwechseln gespeichert. Außerdem gibt es noch eine Logik zur Unterscheidung der beiden Fernbedienungen.

Die Ansteuerung des Arduinos über UDP übernimmt bei mir kein Webserver, sondern ein Python-Skript, das auf einem Raspberry Pi läuft. Das wiederum nimmt UDP-Befehle von anderen Stellen entgegen und leitet sie, nach entsprechender Anpassung, an den Arduino weiter. Außerdem spult es ein vorgegebenes Programm ab (nach dem Motto: abends runter, morgens hoch). Das ganze soll noch jahreszeitenabhängig werden, sich an Sonnenauf- und -untergängen orientieren und eine gewisse Zufallskomponente einbringen.

Es wird eine Android-App geben, um unsere Smartphones zu Fernbedienungen zu machen.

Später sollen auf gleiche Weise unsere Velux-Dachflächen-Fenster inkl. Jalousien eingebunden werden. Hier soll dann auch eine Steuerung übers Internet realisiert werden. Da ich ungern irgendwelche Ports an meinem Router öffne, wird das ganze frei nach dem Motto "Security by Obscurity" über eMails funktionieren, die das Python-Skript entgegen nimmt, den Absender und einen Code überprüft, dann die Aktion auslöst und darauf hin auch Bestätigungsmails versenden.

Die restlichen Teile kommen heute per Post, am Wochenende finde ich evtl. Zeit alles zusammenzubauen. Dann werde ich wieder berichten.

Gruß,
Max

Go Up