Im Jahr 2012 habe ich mich für Somfy RTS Rolladen Motoren entschieden. Ausschlaggebend waren zwei Gründe. Erstens war ich vom Somfy Ansatz angetan langfristig Hersteller zu motivieren Ihre Produkte für die Somfy Plattform zu entwicklen. Für mich damals der FHEM Ansatz. Zweitens wollte ich keine extra Kabel vom Rolladen zum Schalter verlegen, weshalb ich mich für Funk Rolläden entschieden habe.
Punkt zwei ist bis heute eine gute Entscheidung gewesen. Die Rollos lassen sich natürlich trotzdem per Taster bedienen, der an die Wand geschraubt oder geklebt werden kann. Hinsichtlich der Plattform tratt nach und nach Ernüchterung ein. Zum einen war es die Geschwindigkeit mit der Somfy Hersteller für seine Plattform begeistern konnte. Zum anderen die doch sehr eingeschränkte Produktpalette bis zum heutigen Tage. Qualitativ bin ich aber sehr zufrieden mit den Rollos. Auch die Programmierung ist sehr einfach ohne das man gleich den Fachbetrieb anrufen muss.
Damals wie heute war es für mich aber immer ein Ärgernis, dass jeder Hersteller beim Verkauf seiner Lösungen eigene Gateways, Bridges und so weiter mit verkaufte. Weit weg also von Standards. Mir war es aber schon immer wichtig meine Geräte auch von außerhalb überwachen und steuern zu können weshalb ich auf die Tahoma Box setzte. Die Box ist das Gateway ins eigen Heim.
Mit FHEM haben sich hier aber neue Wege eröffnet. Die Installation von FHEM beschreibe ich hier. Nun aber zum eigentlichen Projekt:
Welche Komponenten kommen zum Einsatz?
- FHEM als Zentrale auf einem Raspberry Pi
- Signalduino 433 Mhz USB Stick
- Somfy RTS Funkmotoren
Als erstes habe ich die beiden alten Rolläden ausgebaut und eine neue Welle eingesetzt, die den Rohrmotor aufnehmen kann. Anschließend habe ich Kabel gezogen, um die Motoren mit Strom zu versorgen. An dieser Stelle sei erwähnt, dass nur geschulte Fachkräfte an Elektro Installationen Änderungen vornehmen sollten!
Zum Schluss wurde der Kasten gedämmt und wieder verschlossen. Wie Eingangs erwähnt lassen sich meine Rolläden auch konventionell per Somfy Smoove Origin RTS Taster bedienen. Die Taster werden nach Inbetriebnahme des Rolladen angelernt.
Konfiguration des SIGNALduino in FHEM
Im nächsten Schritt habe ich den SIGNALduino Stick in FHEM eingebunden. Das komfortable an dem Stick ist, dass er bereits fertig geflasht geliefert wird. Da Somfy auf 433 MHz funkt müsst ihr aber beim Kauf darauf achten den richtigen auszuwählen. Es gibt auch noch einen 868 MHz Stick.
SIGNALduino in FHEM definieren
Bevor es los geht muss der SIGNALduino natürlich an einen freien Port des Raspberry angeschlossen werden. Anschließend muss der USB Port ausgelesen werden
ls -l /dev/serial/by-id
Das benötigte FHEM Modul wird per Update verteilt und auf dem aktuellen Stand gehalten. Aus diesem Grund nun FHEM updaten
Update
Jetzt kann schon der SIGNALduino mit den zuvor ermittelten USB Port Informationen definiert werden. Die Beispieldaten nun mit euren ersetzen
define eigener-Name SIGNALduino /dev/serial/by-id/usb-Unknown_radino_CC1101-if00
Hat alles soweit geklappt steht das neue Gerät nach kurzer Zeit in FHEM auf „Opened„
Da auf 433 MHz allerdings zig Geräte unterschiedlichster Hersteller Funken werdet ihr nach Aktivierung des Sticks erstmal mit neuen Devices erschlagen. Um hier überflüssige Geräte des Nachbarn auszuschließen habe ich folgende Einstellungen vorgenommen:
Set radinoCC1101 cc1101_freq 433
Zusätzlich zum setzen der Frequenz habe ich folgende Attribute gesetzt. Wer anhand des Artikels das ganze hier nachbaut muss natürlich die Blacklist_IDs durch seine eigens ermittelten IDs ersetzen soweit nötig.
Attributes: blacklist_IDs 649F08,47B086,5CC901,61CDFE hardware radinoCC1101
Blacklist: Fremde Geräte, die immer noch eingefangen werden fange ich mit einer Blacklist ab.
Hardware: Festlegung es exakten Funkmoduls.
Jetzt kann es bereits mit dem Anlernen der SOMFY Rolladen los gehen.
SOMFY RTS Rolladen in FHEM anlernen
An dieser Stelle ist meine Empfehlung eine Liste der Rollos in eurem Heim zu erstellen und diesen einen HEX-Code zuzuweisen. Dieser muss natürlich einmalig sein pro Rolladen und darf nicht schon durch ein anderes Gerät, wie eine Funk Fernbedienung verwendet werden.
Anlegen des ersten Rolladen per Define
define Rollo_Wohnzimmer SOMFY EUER-Hex-Code
Damit das Gerät weiß über welches Gerät es kommunizieren soll wir das IO-Device, also der SIGNALduino per Attribut festgelegt
attr Rollo_Wohnzimmer IODev radinoCC1101
Nun muss der Rolladen über den Handsender in den Anlernmodus gebracht werden. Prog-Taste kurz gedrückt halten bis der Rollanden kurz runter/hoch fährt als Zeichen, dass er programmiert werden kann. Nun direkt in FHEM folgenden Befehl absetzen
set Rollo_Wohnzimmer prog
Bei Erfolg fährt der Rollo wieder kurz runter/hoch. Hat alles funktioniert ist euer Rolladen in FHEM angelernt und bereits steuerbar!
Einbindung in Homekit per Homebridge
Das schöne an FHEM ist auch, dass ihr den Sprachassistenten eurer Wahl mit den integrierten Geräten bedienen könnt. Ob Siri, Alexa oder der Google Assistant. Meine primäre Wahl fällt auf Apple Homekit und damit Siri. Seit neustem auch Alexa, um unabhängiger von den Geräten zur Sprachsteuerung zu werden. Dazu mehr in einem anderen Beitrag.
Um nun per Homekit und Siri steuern zu können benötigt ihr die Homebridge und das Homebridge-FHEM Plugin. Auch hierzu gibt e sehr gute Wiki Artikel beim FHEM. Nach langer Suche im FHEM Forum möchte ich hier mein funktionsfähiges Homebridge Mapping zeigen:
Attributes: IODev radinoCC1101 alexaName lillyrollo alexaRoom Lilly devStateIcon closed:fts_shutter_100 open:fts_shutter_10 my:fts_shutter_50 eventMap on:ab off:auf go-my:my on:close off:open genericDeviceType blind group Rolladen homebridgeMapping clear CurrentPosition=userposition,minValue=0,maxValue=100,minStep=50 TargetPosition=userposition,minValue=0,maxValue=100,minStep=50,cmds=0:close;;50:my;;100:open model somfyshutter positionInverse 1 room Alexa,Homekit,Lilly,Somfy siriName Lilly Rollo userReadings userposition {(ReadingsVal($NAME,"state","open") eq "open")?100:(ReadingsVal($NAME,"state","open") eq "go-my")?50:0} webCmd auf:my:ab
In der Home App sieht das ganze wie folgt aus:
Ich bin mit dieser Lösung sehr zufrieden und sie funktioniert bis jetzt ohne Probleme. Werden die Rollos über FHEM geschaltet ändert sich auch der Status in der Home App und umgekehrt.
Ich habe dem ganzen dann eine Automation aufgesetzt, dass der Somfy Rolladen nur geschlossen werden soll, wenn der Homematic Fensterkontakt erkennt, dass die Balkontür geschlossen ist. So vermeide ich vor einem geschlossenen Rolladen bei geöffneter Balkontür zu stehen 🙂
Ich hoffe ich konnte euch zeigen, was in dieser Konstellation möglich ist und freue mich über Feedback.
Hallo
ich habe Deine Anleitung befolgt. Allerdings scheitere ich an FHEM. Ich kann den Signalduino sehen und er steht auf (open), allerdings ist dann Schluss. Gibt es eine chance das Du mir helfen kannst?
Hallo,
ich habe Deine Anleitung befolgt und ich bin bis FHEM gekommen. Ich habe den Signalduino an einem Rasperry PI mit Raspbian Buster. Fhem Läuft und ich kann den Signalduino als „open“ sehen. Allerdings habe ich keinerlei Geräte gelistet.
Hast du einen Hinweis oder kannst Du mir weiterhelfen?
Hallo Carsten,
für welche Geräte möchtest du den Stick einsetzen? Hast du z.B. auch einen Rollo angelernt. Das geht nicht automatisch!
Was steht in den Readings des Signalduino?
Gruß, Udo
Hallo, nach langem suchen habe ich gefunden das der Stick die Frequenz genau bekommen muss. Problem 1 gelöst. Kann die Rollos nun auch sehen auch prima.
Wir kann ich das Mapping in FHEM anlegen (ich denke mal das es in FHEM ist)?
Du sprichst in Deinem Mapping von Lilly, ist das ein Raum? Vielen Dank !
Carsten
Update: Habe es geschafft. Allerdings habe ich ein neues Problem. ich habe eine falsche Anleitung befolgt (nicht die Progtaste sondern auf und ab). Somit funktioniert meine Remote nicht mehr. Weisst Du wie man das fixen könnte?
Super, dass es jetzt klappt. Zu deinem Problem da würde ich nach der Standard Somfy Anleitung für Remote Fernbedienungen vorgehen.
Hier eine weitere Frage. Hast du eine Programmierung das du z.b. Ein Rollo nur zu 30% herunter fährst? Ich finde es etwas unzulänglich das man in HomeKit as default nur ganz runter oder ganz hoch fahren kann
Hab ich derzeit so gelöst mit 50% über das Homebridge Mapping
CurrentPosition=userposition,minValue=0,maxValue=100,minStep=50
TargetPosition=userposition,minValue=0,maxValue=100,minStep=50,cmds=0:close;;50:my;;100:open
Hallo
Ich kann das Rollo entweder nur öffnen oder schließen. So zwischdurch lässt sich Rollo nicht anhalten.
Ach ja super Anleitung!
Gruß
Bernd
Hallo Bernd,
wenn du die my Taste belegt hast, kannst du den Rollo noch automatisch auf diese Position fahren lassen.
Schau auch mal in den Kommentar von Carsten vom 19. Oktober einen Post über deinem. Mit diesen Einstellungen kannst du den / die Rollos in 10ner Schritten fahren lassen.
Viele Grüße,
Udo
Hi Udo,
mir ist etwas sehr seltsames passiert. Ich kann auf einmal einige Rolladen nicht mehr über FHEM ansteuern. Andere schon. Habe schon probiert einen Reboot, und auch das Gerät näher an die Rolladen zu bringen. Hat nix gebracht.
Überlege nun ob ich ggf einfach die Einträge nochmal aus Fhem löschen sollte und dann neu Anlernen? Wenn Du sonst eine Idee hast bin ich Dir sehr dankbar
Sorry für die späte Rückmeldung. Hast Fehlermeldungen im Logfile?
Hi!
Erst einmal vielen Dank für die tolle Anleitung! Das hat mir sehr geholfen und nun klappt auch alles mit meine Rollläden. Eine Frage habe ich aber noch. Wenn mein pi mal das wlan verliert (vermute jedenfalls das als Ursache) kommt homekit etc. mit dem Status der Rollläden durcheinander und meist hilft nur ein reboot des gesamten pi und einmal hoch / runterfahren klicken der Rollläden. Hast du das auch bzw wie hast du das gelöst?
Das Problem kenne ich und es hat mit dem Rolling Code zu tun. Warum es plötzlich auftritt habe ich bisher noch nicht verstanden. Als Workaround habe ich in FHEM folgendes Attribut bei jedem Rollo gesetzt: autoStoreRollingCode = 1
Danke! Ich hab das Attribut nun gesetzt und werde beobachten. Hast du eine prozentuale Steuerung auch geschafft? Oder nur oben/unten my? Das wär noch ganz cool.
Nein, eine prozentuale Absenkung habe ich leider auch nicht. Wenn du was dazu findest gerne hier posten. Soweit ich weiß geht das aber auch nur mit den IO Motoren von Somfy. Hast du andere Hinweise?
Bisher nicht. Aber ich frage mich ob man das nicht trotzdem umsetzen kann in begrenztem Maß. Die my taste stoppt ja den Rolladen. Vielleicht muss man nur ein paar Befehle kombinieren.
Ich denke das Problem mit der My Taste / Belegung ist, dass diese auch nur einen gespeicherten Zustand kennt. Hast du mal probiert, ob man direkt über Somfy verschiedene Zustände speichern und anfahren kann? Weil wenn es dort nicht geht geht es glaube ich über Signalduino auch nicht?
Ich kann die Taste mit verschiedenen Werten belegen. Aber halt auch immer nur einen aktuell.
Übrigens hatte ich wieder das Problem das die rolläden nicht reagiert haben nach Neustart des PI. Lösung diesmal: in FHEM so oft einen Rollladen ansteuern bis er sich bewegt. Dann gehen die anderen auch. Und in HomeKit musste ich dann zwei mal klicken bis es den Status wiederfand je Rolladen. Oben steht auch Raum Homebridge reagiert nicht
Ich denke das Thema ist im Weiteren etwas für den Entwickler des Moduls. Ich habe leider auch keine andere Lösung.
Ja, vielleicht frag ich da mal nach. Bin dir auf jeden Fall sehr dankbar für deine Tips und Anleitung 🙂 Eine Frage hätt ich sogar noch: Erkennt HomeKit bei dir die Statusänderung des Rolladen wenn du den manuellen Taster nutzt? Im iPhone stand offen obwohl ich über handsender auf 50% fuhr
Hallo, sehr beruhigt die kommentare von LastOne zu lesen. Bedeuted das ich nicht der einzige bin. Es gibt bei mir allerdings leider immer wieder Rolladen die ich aus dem Fhem verliere. Die sich einfach nicht mehr ansteuern lassen. Muss sie wohl nochmal neu programieren.
Das Problem liegt am entsprechenden Somfy /FHEM Modul. Der ENtwickler hat jetzt ein Update raus gebracht, was das Problem hoffentlich löst. Wer mehr wissen möchte gerne hier nachlesen https://forum.fhem.de/index.php?topic=53319.new;topicseen#new
Mich betrifft das ja auch 😉
Hi,
ich habe endlich eines meiner grossen Probleme gelöst. Ich habe einen riesen Fehler gemacht.. Ich habe in FHEM die Hexcodes genommen die ich für meine Rollos gefunden habe. Allerdings waren es nicht die HEXcodes der Rollos sondern von meinen Handsendern. Folge:
– Einige Handsender Funktionieren nicht mehr (nicht ganz so schlimm)
– Rollos hörten immer wieder auf zu funktionieren
Also ganz wichtig HEXcodes zu nutzen die NICHT in irgendeinerweise belegt sind. Ich kann auch sehr empfehlen die Sendelieistung der Signalduino hochzusetzen.
Hast Du das auch mal mit einer Somfy Markise probiert?
Ja, das ist ganz wichtig und steht auch in meiner Anleitung im ersten Satz bei „SOMFY Rolladen in FHEM anlernern“ 😉
Mit einer Markise habe ich es nicht probieren können, da ich keine habe.
Danke für deinen Kommentar und das wichtige Feedback!
Hier noch eine Frage an Dich.
Ich habe in Fhem folgende Konfiguration
„Internals:
ADDRESS 15CA07
DEF 15CA07
FUUID 5f86d22e-f33f-fcf3-4589-bfefbb1536fd1ebb
IODev Signalduino
NAME Persiana_Puerta_Salon
NR 393
STATE open
TYPE SOMFY
move off
CODE:
1 15CA07
READINGS:
2020-10-19 08:59:30 enc_key A6
2020-10-19 08:59:30 exact 0
2020-10-19 08:59:30 position 0
2020-10-19 08:59:30 rolling_code 0016
2020-10-19 08:59:30 state open
2020-10-19 08:59:30 userposition 100
Attributes:
IODev Signalduino
devStateIcon closed:fts_shutter_100 open:fts_shutter_10 my:fts_shutter_50
drive-down-time-to-100 21
drive-down-time-to-close 24
drive-up-time-to-100 3
drive-up-time-to-open 24
eventMap on:ab off:auf go-my:my on:close off:open
genericDeviceType blind
group Persianas
homebridgeMapping clear CurrentPosition=userposition,minValue=0,maxValue=100,minStep=5 TargetPosition=userposition,minValue=0,maxValue=100,minStep=5,cmds=0:close;50:my;100:open
icon fts_shutter_updown
model somfyshutter
room Homekit
siriName Persiana Puerta Salon
userReadings userposition {(ReadingsVal($NAME,“state“,“open“) eq „open“)?100:(ReadingsVal($NAME,“state“,“open“) eq „go-my“)?50:0}
webCmd stop:on:90:80:70:60:50:40:30:20:10:off“
Ich würde gerne mit Siri Shortcuts eine bestimmte Position anfahren. Hast Du das schonmal probiert / Erfahrungen?
Hi,
mit Siri Shortcuts habe ich bisher wenig gespielt, daher keine bis wenig Erfahrung. Funktioniert es bei dir über FHEM mit den o.g. webCmd’S?
Gruß
Udo
Hi,
mit folgenden Attributen kann ich meine Rollos mit Siri bzw. HomeKit auf verschiedene Postionen einstellen.
IODev sduino
autoStoreRolling Code 1
devStateIcon open:fts_shutter_10 10:fts_shutter_10 20:fts_shutter_20 30:fts_shutter_30 40:fts_shutter_40 50:fts_shutter_50 60:fts_shutter_60 70:fts_shutter_70 80:fts_shutter_80 90:fts_shutter_90 down:fts_shutter_100 closed:fts_shutter_100
drive-down-time-to-100 23
drive-down-time-to-close 27
drive-up-time-to-100 4
drive-up-time-to-open 23
eventMap on:ab off:auf go-my:my on:close off:open
genericDeviceType blind
group Rollladen
homebridgeMapping clear CurrentPosition=userposition,minValue=0,maxValue=100,minStep=10 TargetPosition=userposition,invert=1,minValue=0,maxValue=100,minStep=10,cmd=pos
model somfyshutter
room Homekit
siriName Rollo Terrasse
userReadings „userposition {(ReadingsVal($NAME,“state“,“open“) eq „open“)?0:
(ReadingsVal($NAME,“state“,“open“) eq „closed“)?100:
(ReadingsVal($NAME,“state“,“open“) eq „90“)?90:
(ReadingsVal($NAME,“state“,“open“) eq „80“)?80:
(ReadingsVal($NAME,“state“,“open“) eq „70“)?70:
(ReadingsVal($NAME,“state“,“open“) eq „60“)?60:
(ReadingsVal($NAME,“state“,“open“) eq „50“)?50:
(ReadingsVal($NAME,“state“,“open“) eq „40“)?40:
(ReadingsVal($NAME,“state“,“open“) eq „30“)?30:
(ReadingsVal($NAME,“state“,“open“) eq „20“)?20:
(ReadingsVal($NAME,“state“,“open“) eq „10“)?10:100}“
webCmd stop:100:90:80:70:60:50:40:30:20:10:0