Erweiterung CULFW um Somfy/Simu

Begonnen von thdankert, 31 Mai 2014, 14:20:23

Vorheriges Thema - Nächstes Thema

thdankert

#45
Zitat von: postman am 08 Juni 2014, 14:40:38
Eine Frage hab ich noch: Der Devicecode kann also von 000000 bis FFFFFF gehen, ist das richtig?

Gruß Uwe

Hi Uwe,

erstmal danke für das Lob! Es freut mich, wenn mein Code auch bei anderen funktioniert, und nicht nur in unserem Haus :-)

Ich bemühe mich jetzt noch, meine Erweiterung auch in die CULFW offiziell reinzubekommen, und mein Modul in FHEM aufnehmen zu lassen.
Dazu muss ich "nur" noch etwas Doku schreiben, aber vielleicht klappt es im Laufe der nächsten Woche.

Zu deiner Frage:
Ja, der Code geht von 000000 bis FFFFFF - damit ist es ziemlich unwahrscheinlich,
dass man den gleichen wie seine vorhandene Fernbedienung erwischt.
Meine echten FBs fangen z.B. mit 42.... an, und unterscheiden sich nur in der letzten Stelle.

Falls man es doch schafft, und in FHEM den gleichen Code wie den der Fernbedienung nutzt,
geht im schlimmsten Fall nur die Fernbedienung nicht mehr, weil ihr Rollingcode nicht mehr stimmt.
Dann müsste man die wieder neu anlernen.

Grüße,
Thomas

EDIT: Zum Thema CUL 868 + Frequenzwechsel: ich weiß nicht, für wieviele Schreib-Lösch-Zyklen der EEPROM ausgelegt ist, aber ich denke das sollte er aushalten.
Wichtiger wäre mir die Reichweite: mein 868 MHz CUL schafft es nicht mehr, vom Keller aus die Rolläden im Obergeschoss zu bedienen.
Der CUL 433 schafft es :-)
RPI mit FHEM, 2x Stackable CC (868 und 433MHz)

PeMue

Zitat von: thdankert am 08 Juni 2014, 15:35:40
EDIT: Zum Thema CUL 868 + Frequenzwechsel: ich weiß nicht, für wieviele Schreib-Lösch-Zyklen der EEPROM ausgelegt ist, aber ich denke das sollte er aushalten.
Wichtiger wäre mir die Reichweite: mein 868 MHz CUL schafft es nicht mehr, vom Keller aus die Rolläden im Obergeschoss zu bedienen.
Der CUL 433 schafft es :-)
Hallo,

ich dachte, die Intertechno-Funktion schaltet auf 433 MHz um, setzt den Schaltbefehl ab und schaltet wieder auf 868 MHz um, ohne in das EEPROM zu schreiben. Nutzt ihr dieses Feature? In diesem Fall sind die EEPROM Zyklen egal ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

thdankert

Zitat von: PeMue am 08 Juni 2014, 18:45:58
Hallo,

ich dachte, die Intertechno-Funktion schaltet auf 433 MHz um, setzt den Schaltbefehl ab und schaltet wieder auf 868 MHz um, ohne in das EEPROM zu schreiben. Nutzt ihr dieses Feature? In diesem Fall sind die EEPROM Zyklen egal ...

Gruß PeMue

Hallo PeMue,
Ich nutze die gleiche Vorgehensweise wie Intertechno,
d.h. ich setze vorm Senden direkt die Register des CC1101.

Ich dachte, das wird dann auch direkt in den EEPROM geschrieben.
Wenn das nicht geschieht, umso besser!
RPI mit FHEM, 2x Stackable CC (868 und 433MHz)

Puschel74

#48
Hallo,

erstmal auch von mir eine Erfolgsmeldung.
Die Rollläden lassen sich endlich per FHEM ansprechen - HUT AB und DANKE!

Nun aber gleich ein paar Fragen/Anmerkungen.

Die Rollläden lassen sich - wie gesagt ansprechen (ich sage noch nicht bedienen  8) ).

Im Log stellt sich das so dar:
Zitat2014.06.08 19:52:49 2: SOMFY set Terrasse_vorne off: YsA2200002AACDEF
2014.06.08 19:52:50 2: SOMFY IODev device didn't answer Ys command correctly:   raw => YsA28A8A8867AA00
Der Rollladen bewegt sich aber.
Als IODEV habe ich meinen geflashten CUL benutzt der auch eingebunden ist.
Internals:
   CMDS       BCFiAZEGMKUYRTVWXefmltux
   CUL1_MSGCNT 441
   CUL1_TIME  2014-06-08 19:57:18
   Clients    :FS20:FHT.*:KS300:USF1000:BS:HMS: :CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: :ESA2000:CUL_IR:CUL_TX:Revolt:IT:UNIRoll: :STACKABLE_CC:CUL_RFR:
   DEF        /dev/ttyACM0@9600 1234
   DeviceName /dev/ttyACM0@9600
   FD         9
   FHTID      1234
   NAME       CUL1
   NR         19
   PARTIAL
   RAWMSG     T0C0400A00036
   RSSI       -47
   STATE      Initialized
   TYPE       CUL
   VERSION    V 1.58 CUL868
   initString X21
   Matchlist:
     1:USF1000  ^81..(04|0c)..0101a001a5ceaa00....
     2:BS       ^81..(04|0c)..0101a001a5cf
     3:FS20     ^81..(04|0c)..0101a001
     4:FHT      ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
     5:KS300    ^810d04..4027a001
     6:CUL_WS   ^K.....
     7:CUL_EM   ^E0.................$
     8:HMS      ^810e04....(1|5|9).a001
     9:CUL_FHTTK ^T[A-F0-9]{8}
     A:CUL_RFR  ^[0-9A-F]{4}U.
     B:CUL_HOERMANN ^R..........
     C:ESA2000  ^S................................$
     D:CUL_IR   ^I............
     E:CUL_TX   ^TX[A-F0-9]{10}
     F:Revolt   ^r......................$
     G:IT       ^i......$
     H:STACKABLE_CC ^\*
     I:UNIRoll  ^[0-9A-F]{5}(B|D|E)
   Readings:
     2014-06-08 19:30:52   cmds             B C F i A Z E G M K U Y R T V W X e f m l t u x
     2014-06-08 19:53:35   raw             YsA3EDEDEE01CC66
     2014-06-08 19:57:18   state           Initialized


Wenn ich nun aber in FHEM auf on (oder off) klicke bewegt sich der Rollladen nur ein kurzes Stück und bleibt dann wieder stehen.
Der Empfänger ist ein Orienta Receiver RTS und ich vermute mal das es an der Rast-Tip / Tip-Rast Programmierung liegt.
Kurzer Druck bewirkt kurzen Fahrbefehl - langer Druck bewirkt andauernden Fahrbefehl.

Wie kann ich nun einen langen Druck eingeben?
Und wie kann ich dem Empfänger dann ein stop schicken?

Die Empfänger lassen sich übrigens recht einfach mit der vorhandenen Fernbedienung in den Programmiermodus versetzt.
Nichts mit umständlich Strom weg - Strom dran - Strom weg.

Grüße

Edith: Das "Bedienphänomen" habe ich aber nur an meinen beiden Orienta Receiver RTS. In der Markise und den beiden Fensterrollläden sind Rohrmotore verbaut die ich schön fahren lassen kann - hier wäre allerdings ein stop-Befehl genial.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

thdankert

Hallo Puschel,

Das hier SOMFY IODev device didn't answer Ys command correctly:   raw => YsA28A8A8867AA00
liegt an mir, ich gebe in der culfw das aus, was tatsächlich gesendet wurde (nach der Verschlüsselung).
Das FHEM-Modul muss ich noch anpassen, so dass diese Meldung nicht mehr auftritt.

Meine Rohrmotoren sind von Simu - kompatibel zu Somfy, aber den Rast-Tip Modus kennen die nicht :-)
Ich vermute da wird ein anderer Befehl gesendet, um das nachzuvollziehen, bräuchte ich aber einen Motor mit Rast-Tip Funktion...

Einen Stopp-Befehl gibt es, wie auf der echten Fernbedienung nochmal "go-my" senden.

Grüße
  Thomas
RPI mit FHEM, 2x Stackable CC (868 und 433MHz)

Puschel74

Hallo,

danke für die Erklärung Thomas.

Einen Motor kann ich dir leider nicht ausbauen und zum testen schicken  ;)
Da würde mir meine bessere Hälfte was erzählen  ::)

Ich werd einfach mal versuchen den Empfänger von Rast-Tip auf Tip-Rast umzuprogrammieren.
Ich will nur hoffen das die original Fernbedienung dann noch gleich funktioniert (vermutlich aber nicht) - aber das kann ich meiner Frau eher noch verkaufen als einen Rollladen ohne Motor  ;D
Wobei ich nicht weiß welche Motoren als Antrieb verbaut sind - wie gesagt, die Empfänger sind Orienta Receiver RTS und von dort seh ich nur ein Kabel das im Rollladen verschwindet und zum Motor führt.
An den beiden Terrassenantrieben muss ich aber auch noch die my-Position programmieren.
Das ist mir heute dank deines Moduls aufgefallen.

Danke auch für den Hinweis - Stop = go-my.
Ich meine das zwar versucht zu haben aber ich werd das morgen einfach nochmal ausgiebg testen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

thdankert

Zitat von: Puschel74 am 08 Juni 2014, 21:59:01
Einen Motor kann ich dir leider nicht ausbauen und zum testen schicken  ;)
Da würde mir meine bessere Hälfte was erzählen  ::)

Ich werd einfach mal versuchen den Empfänger von Rast-Tip auf Tip-Rast umzuprogrammieren.
Ich will nur hoffen das die original Fernbedienung dann noch gleich funktioniert (vermutlich aber nicht) - aber das kann ich meiner Frau eher noch verkaufen als einen Rollladen ohne Motor  ;D

Hi Puschel,

mach das lieber nicht, ich will nicht für den schiefen Haussegen verantwortlich sein :-)

Wenn du experimentieren willst, kannst du mal testweise neue Befehle in FHEM-Modul 10_SOMFY.pm einbauen.
In dieser Datei sind ganz oben die verfügbaren Kommandos definiert:
my %codes = (
        "10" => "go-my",    # goto "my" position, or stop the current movement
        "20" => "off",      # go "up"
        "40" => "on",       # go "down"
        "80" => "prog",     # enter programming mode
);


Das sind die mir bisher bekannten - theoretisch sind aber 16 verschiedene möglich.
Nur die erste Ziffer ist relevant, ist in HEX, reicht also von 0-9 und A-F.
Füg einfach mal ein neues Kommando (z.B. "test") hinzu, und wähle eine beliebige Zahl, die noch nicht vergeben ist.

Vielleicht funktioniert einer... den Code zum Setzen der my-Position habe ich noch nicht gefunden, der müsste auch noch dabei sein.

Grüße und viel Spaß beim Testen :-)
RPI mit FHEM, 2x Stackable CC (868 und 433MHz)

Puschel74

Hallo,

ZitatDas sind die mir bisher bekannten - theoretisch sind aber 16 verschiedene möglich.
Super - danke dir.

Werd ich morgen mal machen und berichten - einfach 30,50,60,70,90,A0,B0,C0,D0,E0,F0 eintragen mit testa bis testk.

Ich schätze mal das ich das dann in der Befehlszeile absetzen muss da mir die "Befehle" ja (noch) nicht im Device angeboten werden.

Also einfach ein set <Rollladen_Name> testa um

my %codes = (
        "10" => "go-my",    # goto "my" position, or stop the current movement
        "20" => "off",      # go "up"
        "30" => "testa"   #Versuch1
        "40" => "on",       # go "down"
        "50" => "testb"    #Versuch2
        "60" => "testc"     #Versuch3
        "80" => "prog",     # enter programming mode
        "90" => "testd"     #Versuch4
        "A0" => "teste"     #Versuch5
);

den Code 30 zu senden.

Ich denke mal, wenn ich einen "Programmiercode" gefunden habe, sollte der Antrieb das ja mit einem kurzen hoch/runter quittieren.

Macht es Sinn auch sowas wie 0A zu versuchen?
Wenn ja wäre eine kleine Routine nicht schlecht die das Command einfach hochzählt und die bereits bekannten überspringt.
Wobei ich sicher schneller bin das in %codes zu schreiben als eine Routine zu programmieren  ::)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

thdankert

Hallo,

ZitatIch schätze mal das ich das dann in der Befehlszeile absetzen muss da mir die "Befehle" ja (noch) nicht im Device angeboten werden.
Das musst du gar nicht so umständlich machen, die neuen Befehle tauchen in FHEMWEB mit auf, sobald sie in %codes definiert sind.

Sie werden nur nicht angezeigt, wenn du z.B. set MeinRolladen ? machst, dafür ist eine Liste etwas weiter unten in SOMFY.pm zuständig.

ZitatIch denke mal, wenn ich einen "Programmiercode" gefunden habe, sollte der Antrieb das ja mit einem kurzen hoch/runter quittieren.
Ja, das denke ich auch - meine Rolläden quittieren das setzen der my-position (über die Fernbedienung) auch mit kurz hoch/runter.

ZitatMacht es Sinn auch sowas wie 0A zu versuchen?
Nein, das ist nicht sinnvoll. Das Somfy-Protokoll sieht an dieser Stelle nur den Befehl+Checksumme vor, jeweils eine Ziffer.
Die Checksumme (die zweite Ziffer) kannst du auf irgendwas setzen, das wird in der culfw korrekt berechnet.

Daher spielt nur die 1. Ziffer eine Rolle als Kommando, und das ergibt die 16 möglichen Werte.
Aber 00 wäre auch ein mögliches, das kannst du gern testen!

Grüße
RPI mit FHEM, 2x Stackable CC (868 und 433MHz)

postman

Zitat von: thdankert am 08 Juni 2014, 15:35:40
Wichtiger wäre mir die Reichweite: mein 868 MHz CUL schafft es nicht mehr, vom Keller aus die Rolläden im Obergeschoss zu bedienen.
Der CUL 433 schafft es :-)

Hallo Thomas,
ja, das gleiche Problem habe ich auch. Bei mir reicht es nicht einmal bis in das nächste Zimmer  >:(
Ich habe mal versuchsweise meinen Raspi in das Zimmer gebracht, wo der nicht funktionierende Rolli dran ist und siehe da: nun funktioniert der Rolli, der vorher nur funktionierte, wenn ich an der FB zweimal die Prog-Taste gedrückt habe. Ich glaubs kaum: die Entfernung beträgt schlappe sieben Meter.
Also muss doch der 433 Mhz her, ohne wird es nicht richtig funktionieren.

Ach ja, fast vergessen: Wenn der Rolli angelernt ist, funktioniert er auch.
Damit hat sich die von mir gedanklich begonnene Bastellösung für diesen Zweck erledigt.
Gruß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

drdownload

RFXTRX lernt in der neuen Hardware-Revision auch Somfy.
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

Puschel74

Hallo,

danke für den Hinweis - ist hier aber seit 04. Juni schon bekannt  ;)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Puschel74

Hallo,

ich hab heute mal die restlichen Kommandos ausprobiert aber einzig 90 und A0 haben den Rohrmotor in den Anlernmodus versetzt.

Ich habe die Markise ein Stück ausgefahren (nicht in die go-my Position) und dann nacheinander
my %codes = (
"10" => "go-my",    # goto "my" position, or stop the current movement
"20" => "off",      # go "up"
"30" => "testa",    # Versuch 1
"40" => "on",       # go "down"
"50" => "testb",    # Versuch 2
"60" => "testc",    # Versuch 3
"70" => "testd",    # Versuch 4
"80" => "prog",     # enter programming mode
"90" => "teste",    # Versuch 5
"A0" => "testf",    # Versuch 6
"B0" => "testg",    # Versuch 7
"C0" => "testh",    # Versuch 8
"D0" => "testi",    # Versuch 9
"E0" => "testj",    # Versuch 10
"F0" => "testk",    # Versuch 11
"00" => "testl",    # Versuch 12
);

diese Codes durchprobiert.
Nach jedem Versuch habe ich die Markise über FHEM ein Stück verfahren und mit go-my wieder gestoppt.

Wie gesagt - einzig teste (90) und testf (A0) haben die Markise dazu bewegen können ein Stück aus- und wieder ein zu fahren.
Also die Bereitschaft zur Programmierung signalisiert.
Ich habe NICHT! versucht etwas an zu lernen sondern habe dann einfach die Markise wieder ein Stück raus gefahren und mit dem näcshten Code weiter gemacht.

Bei den Orienta Receiver habe ich mir diese beiden Codes erstmal gespart.
Ich werde schauen das ich im Laufe der Woche oder nächstes Wochenende dazu komme einen mal von Rast-Tip auf Tip-Rast um zu programmieren.
Dann werde ich wieder weiter schauen ob diese beiden Rollläden dann per FHEM verfahren werden können.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Puschel74

Hallo,

so - ich habe soeben einen Orienta Receiver RTS von Rast/Tip auf Tip/Rast umgestellt - und dann wieder zurück.

Auch das umstellen konnte den Rollladen nicht dazu bewegen nach einem Klick auf off (oder on) in FHEM den Rollladen dauerhaft zu verfahren.
Er ist wieder nur ein Stück gefahren und hat dann wieder gestoppt.
Nur auf der Fernbedienung musste ich zum runterfahren lange die "Runter-Taste" drücken.
Was ich in FHEM ja schwer machen kann  :(

Wenn jemand eine Idee hat was ich noch versuchen kann - immer her damit.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

postman

Hallo Puschel,
ich weiss nicht ob das funktioniert, vielleicht mache ich da nen Denkfehler.
Gibt es so etwas wie nen Schieberegler im FHEM, der solange er angeklickt (bedient) wird, ein Dauersignal sendet?
Vielleicht geht ja so etwas

Gruß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...