Programmeren van Somfy motoren

Ik heb screens met een Somfy motor. Elke keer als ik er iets mee wil doen ben ik weer vergeten hoe het werkt. Vandaar dat ik het in deze blog opschrijf. Misschien heeft iemand anders er ook nog wat aan. Ik heb vier screens, een remote met 5 kanalen (Telis 4) en ik heb een RFXCom device (USB) waarmee ik vanaf een computer of Raspberry Pi de screens wil bedienen. Ik ga in deze blog alles resetten en vanaf ‘scratch’ instellen. Let op: het volgen van deze uitleg is op eigen risico.

De Basis

Belangrijk is het om een beetje te begrijpen hoe Somfy motoren werken. Elke motor heeft twaalf geheugenplaatsen voor bediening. In mijn geval wil ik elk screen apart kunnen bedienen met kanaal 1 t/m 4 en alle screens tegelijk met kanaal 5 (bij kanaal 5 staan alle vier de lampjes van de telis 4 aan). Hiervoor programmeer ik eerst alle screens één voor één op kanaal 1 t/m 4. Daarna selecteer ik kanaal 5 en programmeer alle screens tegelijk. Screens die je op een bepaald moment niet wilt programmeren, die haal je van de stroom af, bijvoorbeeld door de stekker uit het stopcontact te halen.

De bediening van de Telis 4 gebruikt dus twee geheugenplekken van de motor. Een voor de losse bediening en één voor de groep. Als ik later ook nog de RFXCom wil gebruiken komen daar nog geheugenplaatsen bij, zeker als ik verschillende combinaties van screens wil kunnen aansturen. Bijvoorbeeld screen apart bedienen, alle screens tegelijk, een groepje van twee screens, etc.

Fabrieksinstellingen terugzetten

Als je op een bepaald moment het geheugen van de Somfy motor leeg wilt maken dan volg je deze werkwijze. Let op: ook de richting van de motor en de limieten voor op en neer zijn hiermee gewist en moeten dus opnieuw worden ingesteld. Resetten gaat het handigste per motor, dus één voor één.

  1. Sluit de motor die je wilt resetten aan op de stroom, de rest niet.
  2. Koppel de stroom LOS voor 3 seconden
  3. Zet de stroom weer aan voor 8 seconden
  4. Koppel de stroom weer 3 seconden los
  5. Zet de stroom weer aan, de motor gaat bewegen, laat de motor die beweging afmaken! (behalve als hij te ver naar boven of beneden dreigt te gaan)
  6. Gebruik de punt van een pen en houd de programmeerknop op de achterkant van de telis 4 ingedrukt. Na een paar seconden reageert de motor (gaat kort op en neer). Houd de knop ingedrukt tot de motor weer reageert. Nu is het geheugen leeg.

De motor de eerste keer instellen (Draairichting, limieten en kanaal)

Na het terugzetten van de fabrieksinstellingen moeten verschillende zaken opnieuw worden ingesteld aan de motor. We gebruiken hierbij de Telis 4 remote. Stel dit één voor één in als je meerdere motoren hebt. Laat de motoren die je niet in stelt los van de stroom!

  1. Contact maken met de motor om deze te programmeren. Zet de remote op het kanaal dat de motor gaat bedienen en maak eerst contact met de motor door de Op en Neer knoppen tegelijk in te drukken. De motor reageert door kort op en neer te gaan.
  2. Draairichting motor.  Druk op de Op en Neer knoppen, draait de motor de verkeerde kant op? Houd de MY-knop (dat is de knop tussen Op en Neer in) ingedrukt tot de motor reageert. De richting is nu omgedraaid.
  3. Onderste positie instellen. Druk op de Neer-knop tot de screen onderaan is. De motor beweegt alleen als je de knop indrukt en stopt als je los laat. Pas op dat je niet te ver door gaat.
  4. Bovenste positie instellen. Lees dit stukje eerst helemaal, daarna pas uitvoeren! De motor staat nu in de onderste positie, dit moet je nog bevestigen door gelijktijdig op de MY-knop en de Op-knop te drukken. Als je dit doet wordt de positie vastgelegd en begint de motor direct naar boven te lopen. Als de motor bijna bovenaan is druk je op de MY-knop. De motor stopt. Je kunt nu met de Op-knop de motor voorzichtig verder omhoog doen tot hij bovenaan is. Steeds als je de knop los laat stopt de motor met bewegen. Vanuit de toppositie druk je nu op MY + Neer. De positie is vastgelegd en de motor loopt weer naar beneden. Druk op MY om dit te stoppen.
  5. Posities definitief maken. Houd de MY-knop ingedrukt tot de motor reageert (kort op en neer). De posities zijn nu vastgelegd.
  6. Programmeermodus van de motor stoppen. Druk met de punt van een pen de knop op de achterkant van de remote in. De motor reageert.
  7. Test de instelling. Controleer of de motor goed is ingesteld op dit kanaal.

De motor toevoegen aan een ander kanaal

Stel je hebt nog een andere remote waaraan je de motor wilt toevoegen. Of je wilt de motor toevoegen aan een groepskanaal, een kanaal waarmee je meerdere motoren bedient. In beide gevallen kun je dit zo doen.

  1. Zet de bestaande (oude) remote op het kanaal van de motor. Druk met de punt van een pen de programmeerknop op de achterkant van de remote in tot de motor even op en neer gaat.
  2. Kies het kanaal waar deze motor naar toe moet. Dit kan een andere remote zijn of dezelfde, bijvoorbeeld kanaal 5 op een Telis 4. Druk de programmeerknop in het de pen tot de motor op en neer gaat.
  3. Door stappen 1 en 2 te herhalen kun je meerdere motoren overzetten naar een andere remote of meerdere motoren op één kanaal zetten.

RFXCom instellen op je motoren

Zie hiervoor een andere blog over Domoticz op de Raspberry Pi.

Domoticz project

Ik heb een Raspberry Pi omgetoverd tot een domotica-systeem met Domoticz. De aanleiding was dat ik screens heb van het merk Somfy die met een remote dicht en open kunnen. Maar niet met mij z-wave systeem. Tenminste niet zonder de boel te verbouwen. Met Domoticz kan ik ze nu wel bedienen. Deze pagina geeft een samenvatting van wat ik heb gedaan om het werkend te krijgen.

Domotics installeren op Raspberry Pi (B)

  • Download via https://sourceforge.net/projects/domoticz/files/ de meest recente sdkaart-image en pak uit (gebruik evt 7-zip)
  • Zet deze image met Rufus op een SD-kaart, ik gebruikte een 8 GB Class 10 kaartje.
  • SD kaart daarna in Pi, netwerk-kabel aansluiten, HDMI-kabel aan monitor of TV koppelen en spanning aansluiten. Pi start op. Op monitor zie je ook ergens voorbij komen welk ipadres hij heeft gekregen op je netwerk. Als alternatief kun je na een tijdje via je Ziggo router (of andere router) achterhalen welk ipadres is toegekend door DHCP aan je Pi.

Eerste instellingen

  • Via Putty maak je verbinding met de Pi.
  • Log in met naam “pi” en wachtwoord “raspberry“.
  • Typ: ‘sudo raspi-config’
  • Kies optie 1 “Expand filesystem” om vrije ruimte op de SD kaart toe te voegen aan Domoticz
  • Stel een ander wachtwoord in (Optie 2)
  • Stel je tijdzone in (Optie 4).
    • Kies voor Change Locale (Optie 1), ik liet engels aan staan en vinkte ook nl_NL.UTF-8 UTF-8 aan. Stel de Nederlandse locale ook als standaard in.
    • Kies voor Change timezone (Optie 2), kies Europe en Amsterdam.
  • Kies Finish en reboot: Yes, mocht je in het os komen, gebruik ‘sudo reboot’.
  • Na reboot surf op PC naar het ingestelde ipadres, maar dan met https:// ervoor.
  • Kies Instellingen -> Instellingen en stel de taal in op Dutch, ik heb ook het thema op elemental gezet en de locatie ingesteld (anders kun je niet opslaan met Bewaar instellingen).

Domotics een vast ipadres geven

  • Log in op Domotics met Putty.
  • Typ: ‘sudo nano /etc/dhcpcd.conf’
  • Typ ergens aan het begin:
    interface eth0
    static ip_address=192.168.1.4 # << change to an ip address in your network
    static routers=192.168.1.1 # << change to your gateway
    static domain_name_servers=8.8.8.8   # << or change to your DNS

Operating System updaten

Log in met Putty en typ: ‘sudo apt-get update’
Daarna: ‘sudo apt-get upgrade’

RFXCom (RFXtrx433E) installeren op Domoticz

Wat je moet weten is dat de RFXCom verschillende protocollen kan uitzenden, bijvoorbeeld voor Klik-aan-klik-uit en dus ook Somfy (RFY protocol). De module kan ook verschillende protocollen ontvangen, maar daarvoor moet het naar al die protocollen ‘luisteren’. Dat kost tijd dus kun je aangeven welke protocollen je wilt gaan ontvangen. Hoe minder je er aanklikt, hoe sneller en beter ze werken. Instellen welke protocollen je wilt beluisteren kan met het programma RFXmgr, zie http://www.rfxcom.com/Downloads, maar kan ook via Domoticz.

Ik heb een en ander eerst ingesteld via de PC. Ik heb bijvoorbeeld de firmware geupdated en een aantal commando’s ingesteld om de screens te bedienen. Daarna heb ik de RFXCom aan de Pi gekoppeld en op Domoticz ingesteld.

Firmware RFXtrx433E updaten

  • Op de PC heb ik daarvoor het programma RFXFlash.exe gedownload via deze pagina.
  • In de Domoticz UserGuide hoofdstuk 2 staat een tabel welke protocollen met welke firmwares werken. Je hebt Type 1, type 2, ext en ext2. Voor de 433E versie van RFXCom heb je Ext of Ext2 nodig.
  • De RFXCom was gekoppeld aan een USB-poort, de software heeft het over COM 3. Maar het werkt.

Somfy screens instellen op RFXCom

Zie pagina 35 van de manual. Het principe is:

  • Stel de software in op een vrije ID en unitcode.
  • Koppel alle screens los van de stroom behalve die je wilt bedienen.
  • Druk op de originele afstandsbediening ongeveer 2 seconden op de Program-knop
  • De screens die nog aan staan reageren door even op en neer te gaan. Deze screens zijn nu ontvankelijk voor een nieuwe “Baas”.
  • Stuur nu een Program-commando met de RFXcom software. De gekozen combinatie die je nu uitzendt wordt in het geheugen van de screen toegevoegd. Maximaal 12 per screen.
  • Nu kan dus de remote èn de RFXcom de screen bedienen.
  • Als je meerdere screens met één commando wilt bedienen, bv allemaal tegelijk op of neer, dan kan dat ook. Zie voor een uitleg dit verhaal.

RFXCom koppelen aan Domoticz

  • Ga met je browser naar je Domoticz (ipadres in browser)
  • Kies Instellingen en Hardware.
  • Kies RFXCOM – RFXtrx433 USB 433.92MHz Transceiver, stel een naam in (bv RFXCom) en kies een USB poort bij seriele poort.
  • De RFXCom staat nu in de hardwarelijst. Met modus instellen kun je bovengenoemde protocollen beperken. Zorg dat alles wat je niet gaat gebruiken (ontvangstmodus) uitgevinkt staat.
  • Klik op Schakelaars en klik op Handmatig. Voeg een apparaat toe van het schakelaar-type ‘Blinds’, protocol RFY, ID instellen zoals eerder gekoppeld. Mocht je hier niet uitkomen, gebruik dan de RFXmgr (op je pc) om een List remotes commando te geven (tabblad RFY).