Modul-Entwicklung: Somfy RTS

Begonnen von thdankert, 12 Juli 2014, 21:04:31

Vorheriges Thema - Nächstes Thema

stefanru

Hi,
Also diese Aktoren benutzen leider nur ein Kanal.
Man kann in den Garagentormotor mehrere Fernbedienungen anlernen, aber es bleibt immer eine ein Knopf Bedienung mit all den Nachteilen die du aufzählst.
Die Funkverbindung sollte schon stabil funktionieren um einen Status abgezogen zu lassen. Leider ist es nicht möglich eine 2 Knopf Bedienung für auf und zu, bzw an und aus einzustellen.

Viele Grüße,
Stefan

viegener

Zitat von: stefanru am 11 Januar 2017, 09:58:25
Hi,
Also diese Aktoren benutzen leider nur ein Kanal.
Man kann in den Garagentormotor mehrere Fernbedienungen anlernen, aber es bleibt immer eine ein Knopf Bedienung mit all den Nachteilen die du aufzählst.
Die Funkverbindung sollte schon stabil funktionieren um einen Status abgezogen zu lassen. Leider ist es nicht möglich eine 2 Knopf Bedienung für auf und zu, bzw an und aus einzustellen.

Viele Grüße,
Stefan


Für mich klingt das so, als ob Du mit einem Dummy und einem notify schneller zum Ziel kommst, denn in SOMFY würde ich es auch so realisieren, dass es pro Kanal dann einen Device gäbe und das Problem mit der Statusanzeige würde ich in Somfy auch ungerne realisieren, denn das wäre nicht wirklich gut für instabile Empfangslagen
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

stefanru

Hi viegener,
das ist für mich auch ok.
Hatte ich auch schon mit rumgespielt.
Mir ist aber nicht ganz klar wie ich z.B. ein Dummy mit an und aus, mit einem notify auf an und aus schalten kann, wenn der trigger im notify z.B. immer off ist?
Wie bekomme ich den Toggel hin?
Brauch ich dann im Notify ein if auf den Dummy status?

Danke und viele Grüße,
Stefan

viegener

Zitat von: stefanru am 12 Januar 2017, 21:03:32
Hi viegener,
das ist für mich auch ok.
Hatte ich auch schon mit rumgespielt.
Mir ist aber nicht ganz klar wie ich z.B. ein Dummy mit an und aus, mit einem notify auf an und aus schalten kann, wenn der trigger im notify z.B. immer off ist?
Wie bekomme ich den Toggel hin?
Brauch ich dann im Notify ein if auf den Dummy status?

Danke und viele Grüße,
Stefan

Konzept im Telegrammstil

- Ein Dummy <schalter>, der den Schalter repräsentiert (on / off)
- Ein Notify bei Änderung des States von <schalter>, der den entsprechenden raw Befehl in Somfy absetzt
- Ein Notify, der bei Empfang eines Befehls durch FHEMDuino oder Signalduino - den Status des <schalters> umsetzt
  (also on --> off / off --> on)

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

stefanru

#154
Hmmm,

leider geht es so nicht:
  (also on --> off / off --> on)

Der Schlatvorgang ist ja somfy off --> dummy on und als nächste somfy off -> dummy off.
Der Trigger ist immer die selbe Aktion.
Denke es geht leider nur in etwa so (etwas umständlich und wohl nicht mit notify sondern mit doif):
somfy off -> if dummy on then dummy off elsif dummy on

Oder kennst du etwas besseres?

P.S.: wollte gerade dein GIT change ausprobieren, aber in dem GIT das hier am Anfang beschrieben ist finde ich nix.
https://github.com/thdankert/somfy-rts-fhem

Habs gefunden:
https://github.com/viegener/Telegram-fhem

Warum heißt das Telegram?

fixed enc_key tut perfekt! Vielen Dank!

Danke und Gruß,
Stefan

pataya

Moin,

sobald ich ein Befehl über ein Somfy-Device absetze erscheint keine Meldung als Event.
Ist das so gewollt? Dadurch funktioniert nämlich logischerweise auch kein longpoll.

Gruß

stefanru

Hmmm,

ich habe somfy auch im Tablet UI und der longpoll tut.
Kannst du mir etwas genauer erklären was du meinst?

Gruß,
Stefan

viegener

Zitat von: stefanru am 12 Januar 2017, 21:34:27
Hmmm,

leider geht es so nicht:
  (also on --> off / off --> on)

Der Schlatvorgang ist ja somfy off --> dummy on und als nächste somfy off -> dummy off.
Der Trigger ist immer die selbe Aktion.
Denke es geht leider nur in etwa so (etwas umständlich und wohl nicht mit notify sondern mit doif):
somfy off -> if dummy on then dummy off elsif dummy on

Oder kennst du etwas besseres?

P.S.: wollte gerade dein GIT change ausprobieren, aber in dem GIT das hier am Anfang beschrieben ist finde ich nix.
https://github.com/thdankert/somfy-rts-fhem

Habs gefunden:
https://github.com/viegener/Telegram-fhem

Warum heißt das Telegram?

fixed enc_key tut perfekt! Vielen Dank!

Danke und Gruß,
Stefan

Schön dass es geht!

Eigentlich ist dies hier nicht der richtige Thread, als ich das Modul übernommen habe habe ich einen neuen Thread erstellt.

Telegram heisst es, weil das mein Sammelrepository für alle meine FHEM-Module ist (und telegram das erste war)
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

pataya

Zitat von: stefanru am 20 Januar 2017, 21:24:49
ich habe somfy auch im Tablet UI und der longpoll tut.
Kannst du mir etwas genauer erklären was du meinst?
Habe jetzt zum testen ein frischen FHEM aufgesetzt. Ein Somfy Device und ein Dummy angelegt:
define dummy1 dummy
attr dummy1 webCmd wert1:wert2:wert3

define rollo_test SOMFY 000001

Im Event monitor werden allerdings nur die Events vom Dummy angezeigt:
2017-01-20 23:43:58 dummy dummy1 wert1
2017-01-20 23:43:59 dummy dummy1 wert2
2017-01-20 23:43:59 dummy dummy1 wert3


Ein "set rollo_test on|off|stop" gibt keine Ausgabe im Monitor (auf dem Produktivsystem reagieren die angelernten Rollläden natürlich).
Dadurch das keine Events entstehen kann longpoll natürlich auch in FTUI nicht funktionieren. Das Widget holt sich erst mit Aktualisierung der Seite den aktuellen state.

stefanru

Also bei meinem Somfy device gibt es state und postition.
Außerdem benutze ich kein dummy im Tablet UI.

So diehts im Tablet UI für den Status aus. Direkt am Somfy device.
<div data-type="symbol"
                         data-device="EG.RolloBuero"
                         data-icons='["oa-fts_window_2w","oa-fts_shutter_100","oa-fts_window_2w","oa-fts_shutter_100","oa-fts_shutter","oa-fts_shutter_10","oa-fts_shutter_20","oa-fts_shutter_30","oa-fts_shutter_40","oa-fts_shutter_50","oa-fts_shutter_60","oa-fts_shutter_70","oa-fts_shutter_80","oa-fts_shutter_90","oa-fts_shutter_100"]'
                         data-states='["open","closed","[0-9]","1[0-9]","2[0-9]","3[0-9]","4[0-9]","5[0-9]","6[0-9]","7[0-9]","8[0-9]","9[0-9]","100"]'
data-colors='["green","red","white","white","white","white","white","white","white","white","white","white","white"]'
                         data-background-icon=" "></div>


Das device im FHEM:
defmod EG.RolloBuero SOMFY 000001
attr EG.RolloBuero userattr SOMFY SOMFY_map structexclude
attr EG.RolloBuero IODev mapleCUL433
attr EG.RolloBuero SOMFY EG.AlleRollos
attr EG.RolloBuero alias Rollo Büro
attr EG.RolloBuero cmdIcon offen:fts_shutter_up geschlossen:fts_shutter_down stop:rc_STOP go-my:fts_shutter_manual lüftung:vent_ventilation_level_manual_m pos:fts_shutterupdown
attr EG.RolloBuero devStateIcon 100:fts_shutter_100 up:fts_window_2w@green open:fts_window_2w@green down:fts_shutter_100@black closed:fts_shutter_100@black 1\d.*:fts_shutter_10 2\d.*:fts_shutter_20 3\d.*:fts_shutter_30 4\d.*:fts_shutter_40 5\d.*:fts_shutter_50 6\d.*:fts_shutter_60 7\d.*:fts_shutter_70 8\d.*:fts_shutter_80 9\d.*:fts_shutter_90
attr EG.RolloBuero drive-down-time-to-100 13.00
attr EG.RolloBuero drive-down-time-to-close 16.80
attr EG.RolloBuero drive-up-time-to-100 3.60
attr EG.RolloBuero drive-up-time-to-open 18.00
attr EG.RolloBuero eventMap /off:offen/on:geschlossen/pos 100:lüftung/pos 90:Dämmerung/pos 80:Sonnenschutz/go-my:go-my/
attr EG.RolloBuero group EG.Rollos
attr EG.RolloBuero room SOMFY
attr EG.RolloBuero webCmd offen:stop:geschlossen:go-my:lüftung:pos

setstate EG.RolloBuero open
setstate EG.RolloBuero 2017-01-21 12:06:06 enc_key AF
setstate EG.RolloBuero 2017-01-21 12:06:24 exact 0
setstate EG.RolloBuero 2017-01-21 12:06:07 parsestate off
setstate EG.RolloBuero 2017-01-21 12:06:24 position 0
setstate EG.RolloBuero 2017-01-21 12:06:06 rolling_code 016F
setstate EG.RolloBuero 2017-01-21 12:06:24 state open


Das funktioniert bei mir einwandfrei mit SOMFY.

Gruß,
Stefan
            

pataya

Danke für die Antwort.

Den Dummy habe ich nur zum  testen von longpoll verwendet.
Habe Dein Device mal übertragen und damit klappt es. Danach noch etwas rumprobiert und rausgefunden, dass die Attribute:
attr rollo_test drive-down-time-to-100 5.00
attr rollo_test drive-down-time-to-close 6.00
attr rollo_test drive-up-time-to-100 5.00
attr rollo_test drive-up-time-to-open 6.00

gesetzt sein müssen. Sonst gibt es kein Event vom Somfy-Device. Ist das so gewollt?
Ich wollte mich eh mal an die Laufzeiten setzen und eintragen, aber aktuell wurde das eben noch nicht realisiert.

stefanru

Hi pataya,

ob das so gewollt ist kann ich nicht sagen,
Aber ohne eine Zeit kann er natürlich auch nicht sagen wo der Rollo ist da die Komunikation ja nur unidoirektional ist.
Der Rolladen meldet ja nicht wo er ist.

Gruß,
Stefan

stefanru

Hi viegener,

könntest du irgendwann den fixed_enckey ins repository einchecken?
Nervt immer nach jedem Update wieder die Somfy.pm auszutauschen.
Es funktioniert super damit und nochmals vielen Dank!

Apropos wo finde ich den Telegram Thread?

Gruß,
Stefan

pataya

Zitat von: stefanru
Der Rolladen meldet ja nicht wo er ist.
Schon richtig, allerdings sollte ein auf/zu genügen. Der Befehl wird ja schließlich ausgeführt und auch der state wird aktualisiert. Nur wird dafür eben kein Event erzeugt.
Sei es drum, werde die Zeiten ja eh bald eintragen 8)

Zitat von: stefanruNervt immer nach jedem Update wieder die Somfy.pm auszutauschen.
Solang deine Änderung noch nicht eingecheckt ist, kannst du das Modul vom Update ausschließen:
attr global exclude_from_update 10_SOMFY.pm

andies

Guten Tag, kompletter Neuling hier. Ich versuche gerade, meine Somfy Rolladen anzulernen (ich habe einen Telis 1 RTS Handsender und einen Rolladenmotor Oximo RTS 20/17). Ich habe den Handsender in Programmiermodus gebracht und dann
Internals

ADDRESS 000001
CFGFN CUL_MSGCNT 4
CUL_RAWMSG YsA34F0003010000
CUL_TIME 2017-01-24 13:40:07
DEF 000001
IODev CUL
LASTInputDev CUL
MSGCNT 4
NAME RolladenTerasse
NR 53
STATE open
TYPE SOMFY move off
Readings

enc_key A5
2017-01-24 13:40:52 exact 0
2017-01-24 13:40:52 parsestate off
2017-01-24 13:40:53 position 0
2017-01-24 13:40:52 rolling_code 0005
2017-01-24 13:40:52 state open

2017-01-24 13:40:52 attr RolladenTerasse

Attributes
IODev CUL
verbose 0

dies hier umgesetzt. Ich finde weder einen Eintrag im Logfile noch bewegt sich der Rolladen. Leider steht im Wiki nicht mehr, als ich bisher umsetzen konnte. Kann mir jemand freundlicherweise weiterhelfen? Ich will doch nur die Rolladen via FHEM ansteuern...
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann