10_SOMFY.pm - Somfy RTS (und kompatible)

Begonnen von viegener, 12 Mai 2016, 21:06:46

Vorheriges Thema - Nächstes Thema

Spanish

Eine Frage habe ich noch.

Ich habe eine Somfy Markise, diese ist mit einem Sonnen und Windsensor (Somfy) und einem RTS (Somfy gekoppelt). Kann ich diese ebenfalls über den gleichen Mechanismus einbinden? Oder muss ich da noch etwas besonderes beachten?

Auf die Frage nach der Antenne. Kann ich nicht sagen, die Antenne wurde beim Signalduino so mitgeliefert (433Mhz version). Die Erhöhung der Signalstärke und Empfang scheint das Problem zu lösen. Im Moment läuft es alles tadellos.


viegener

Zitat von: Spanish am 14 Oktober 2020, 12:34:57
Eine Frage habe ich noch.

Ich habe eine Somfy Markise, diese ist mit einem Sonnen und Windsensor (Somfy) und einem RTS (Somfy gekoppelt). Kann ich diese ebenfalls über den gleichen Mechanismus einbinden? Oder muss ich da noch etwas besonderes beachten?

Auf die Frage nach der Antenne. Kann ich nicht sagen, die Antenne wurde beim Signalduino so mitgeliefert (433Mhz version). Die Erhöhung der Signalstärke und Empfang scheint das Problem zu lösen. Im Moment läuft es alles tadellos.

Ich habe leider nie einen separaten Wind/Sonnensensor gehabt, deshalb kann ich das nur begrenzt beantworten. Der Wind-/Sonnensensor sendet Kommandos (an das Rollo), diese können natürlich wie die Handsender auch empfangen werden. Da es sich aber nur um einen Sender handelt, lässt sich das nicht wie ein Rollo einbinden.

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

stef1938

#482
Hallo viegener, wäre es möglich oder aus deiner Sicht sinnvoll in die offizielle Version einzubauen, dass bei ,,B0" der Befehl ,,stopp" abgesetzt wird. Bei meiner Telis 4 Mod/Var RTS Pure wird ,,B0" abgesetzt, wenn ich das Rad an der Fernbedienung drehe. Ich stoppe die Jalousien in der Regel mit dem Rad, bzw. bewege minimal die Lamellen damit.
LG, stef

viegener

Zitat von: stef1938 am 03 Januar 2021, 19:05:56
Hallo viegener, wäre es möglich oder aus deiner Sicht sinnvoll in die offizielle Version einzubauen, dass bei ,,B0" der Befehl ,,stopp" abgesetzt wird. Bei meiner Telis 4 Mod/Var RTS Pure wird ,,B0" abgesetzt, wenn ich das Rad an der Fernbedienung drehe. Ich stoppe die Jalousien in der Regel mit dem Rad, bzw. bewege minimal die Lamellen damit.
LG, stef

Ich kann Dir nicht ganz folgen: was meinst du mit "bei B0"?
Also ein zusätzliches Kommando "B0", dass von FHEM als Somfy-Kommando verwendet wird und an den Somfy device gesendet wird?

Dann müsste ich etwas besser verstehen, was dann passiert und wie sich das auf Positionen auswirkt.


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

stef1938

#484
Hallo viegener,
danke für die Antwort.

ich füge mal drei Screenshots bei.

Screenshots FHEM:
Habe den Handsender Telis 4 Mod/Var RTS Pure (mit Drehrad in der Mitte zum Einstellen der Lamellen-Position) in FHEM angelernt, um die Position der Jalousien in FHEM zu erfassen.
Wenn ich das Drehrad bewege erscheint unter "received" der Befehl "B0" und die Lamellen der Jalousien drehen sich (auf oder ab - je nach Bewegung am Drehrad). Wenn die Jalousien am hoch oder runterfahren sind und ich das Drehrad bewege, dann stoppen sie.

Screenshot 10_SOMFY.pm:
Da FHEM den Befehl "B0" nicht kennt und ich die Jalousien mit dem Drehrad stoppe, fährt die Position in FHEM virtuell weiter. Bedeutet: ich stoppe die Jalousien mit dem Drehrad am Handsender bei 50%, FHEM erkennt das "stop" nicht, fährt (virtuell) weiter und zeigt dann als Position letztendlich "offen" bzw. "geschlossen" an, obwohl die Jalousien händisch bereits bei 50% gestoppt wurden.

Mein workaround ist, dass ich in der 10_SOMFY.pm die Zeile "XX" => "z_custom" wie folgt abgeändert habe: "B0" => "stop"
Allerdings funktioniert dann der "normale" Stop-Befehl nicht mehr zuverlässig: Wenn ich über FHEM die Position auf 90% stelle, stoppen die Jalousien nicht bei 90% sondern fahren in Endposition. Nach Neustart funktioniert es ab und an wieder.

Hoffe ich konnte das klar rüberbringen. Ansonsten bitte gerne nachhaken!

LG stef

viegener

Zitat von: stef1938 am 03 Januar 2021, 22:39:53
Hallo viegener,
danke für die Antwort.

ich füge mal drei Screenshots bei.

Screenshots FHEM:
Habe den Handsender Telis 4 Mod/Var RTS Pure (mit Drehrad in der Mitte zum Einstellen der Lamellen-Position) in FHEM angelernt, um die Position der Jalousien in FHEM zu erfassen.
Wenn ich das Drehrad bewege erscheint unter "received" der Befehl "B0" und die Lamellen der Jalousien drehen sich (auf oder ab - je nach Bewegung am Drehrad). Wenn die Jalousien am hoch oder runterfahren sind und ich das Drehrad bewege, dann stoppen sie.

Screenshot 10_SOMFY.pm:
Da FHEM den Befehl "B0" nicht kennt und ich die Jalousien mit dem Drehrad stoppe, fährt die Position in FHEM virtuell weiter. Bedeutet: ich stoppe die Jalousien mit dem Drehrad am Handsender bei 50%, FHEM erkennt das "stop" nicht, fährt (virtuell) weiter und zeigt dann als Position letztendlich "offen" bzw. "geschlossen" an, obwohl die Jalousien händisch bereits bei 50% gestoppt wurden.

Mein workaround ist, dass ich in der 10_SOMFY.pm die Zeile "XX" => "z_custom" wie folgt abgeändert habe: "B0" => "stop"
Allerdings funktioniert dann der "normale" Stop-Befehl nicht mehr zuverlässig: Wenn ich über FHEM die Position auf 90% stelle, stoppen die Jalousien nicht bei 90% sondern fahren in Endposition. Nach Neustart funktioniert es ab und an wieder.

Hoffe ich konnte das klar rüberbringen. Ansonsten bitte gerne nachhaken!

LG stef

OK - das verstehe ich
Also müsste ich wohl folgendes einrichten

1) Empfangener B0 Befehl sollte wie empfangenes Stopp verarbeitet werden
2) Optional: Versenden von B0 ermöglichen

Ich bräuchte vermutlich Deine Hilfe beim Testen (denn ich habe momentan gar kein Somfy-Device mehr)

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

stef1938

Ja sehr gerne helfe ich wo ich kann und teste!

viegener

@stef1938 - Du findest einen neue Version im github repository - diese setzt ein empfangegenes B0 in ein "Stopp" um.

Die Version findest Du hier: https://github.com/viegener/Telegram-fhem/tree/master/Somfy

Lass mich wissen, wenn es fragen gibt. Rückmeldung erwünscht
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

stef1938

Hallo viegener,

hab das neue file eingespielt, vielen Dank!

Wenn ich das Rad drehe, steht jetzt bei parsestate "blind" und bei received "B0". FHEM fährt jedoch nach wie vor (virtuell) weiter.
Somit hat sich bis auf die Anzeige neben parsestate nichts geändert.

LG, stef

viegener

Zitat von: stef1938 am 05 Januar 2021, 12:21:53
Hallo viegener,

hab das neue file eingespielt, vielen Dank!

Wenn ich das Rad drehe, steht jetzt bei parsestate "blind" und bei received "B0". FHEM fährt jedoch nach wie vor (virtuell) weiter.
Somit hat sich bis auf die Anzeige neben parsestate nichts geändert.

LG, stef

Dann muss ich doch besser verstehen, wie Du Somfy verwendest. Hast Du getrennte Devices für Deine Handfernbedienung und die Steuerung aus FHEM?
Wenn nicht, steuerst DU überhaupt aus FHEM oder ist das nur zur Statusinformation?
Wenn doch, müsste es doch regelmässig ein Problem mit auseinanderlaufenden Rollingcodes geben?
In diesem Fall müsste ich hart B0 grundsätzlich umdefinieren als stopp - das gefällt mir nicht so gut
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

stef1938

#490
Hallo viegener,

die Jalousien (z.B. im Bad) steuere ich sowohl über die Handsender als auch über FHEM.

Den Handsender (device Bad_FB) habe ich über autocreate nach FHEM übernommen. Zudem habe ich den Handsender (mit Befehl in FHEM "set Bad prog" und drücken der prog-Taste am Handsender) als neues Gerät in FHEM definiert (device Bad)

Mittels notify wird die Steuerung durch den Handsender (device Bad_FB) mit der Position des FHEM devices (device Bad) abgeglichen.
define notify_Bad_FB notify Bad_FB:parsestate.* set Bad virtual $EVTPART1

Die Anleitung stammt von JWRu
https://forum.fhem.de/index.php/topic,72173.msg818783.html#msg818783

Die zwei devices Bad_FB und Bad haben jeweils einen eigenen Rollingcode.

Güße, stef

viegener

Zitat von: stef1938 am 05 Januar 2021, 13:56:01
Hallo viegener,

die Jalousien (z.B. im Bad) steuere ich sowohl über die Handsender als auch über FHEM.

Den Handsender (device Bad_FB) habe ich über autocreate nach FHEM übernommen. Zudem habe ich den Handsender (mit Befehl in FHEM "set Bad prog" und drücken der prog-Taste am Handsender) als neues Gerät in FHEM definiert (device Bad)

Mittels notify wird die Steuerung durch den Handsender (device Bad_FB) mit der Position des FHEM devices (device Bad) abgeglichen.
define notify_Bad_FB notify Bad_FB:parsestate.* set Bad virtual $EVTPART1

Die Anleitung stammt von JWRu
https://forum.fhem.de/index.php/topic,72173.msg818783.html#msg818783

Die zwei devices Bad_FB und Bad haben jeweils einen eigenen Rollingcode.

Güße, stef

OK - das war urspürnglich so nicht vorgesehen.
Dasselbe lässt sich auch darüber erreichen, dass Du im Attribut "rawDevice" "Bad_FB" die sechsstellige Somfy-Adresse des "Bad" Devices eintragen, dann findet diese Benachrichtigung im Hintergrund statt (ohne notify). Wenn Du das testweise ausprobieren könntest, wäre es toll. Denn der Weg über den notify ist (aus meiner Sicht nicht standardmässig).
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

stef1938

#492
Hallo viegener,

hab das gerade ausprobiert - funktioniert!! Zudem hab ich noch das device auf somfyremote umgestellt.
Siehe auch:
https://forum.fhem.de/index.php/topic,72173.msg1083006.html#msg1083006

Ich bilde mir jedoch ein, dass der Empfang des Handsenders jetzt schlechter ist. Wahrscheinlich täusche ich mich. Werde mal testen.
(Nachtrag) Empfang Handsender liegt daran:
https://forum.fhem.de/index.php/topic,111653.msg1119455.html#msg1119455

@viegener, deine Anpassung funktioniert, danke nochmal!

LG, stef

Schatn

Hallo!

Ich hätte dazu auch eine Frage. Vielleicht kann mir jemand helfen.
Ich habe insgesamt 10 Rollo angelernt und die dazugehörigen Handsender. Das funktioniert alles auch ganz gut.
Nun habe ich aber auch noch 3 Devices erstellt die mehrere Rollo steueren.
Also z.b.: Rollo_Gesamt, dieses Device habe ich an alle Rollo angelernt.
Wenn ich nun mit diesem Device alle Rollo öffne, dann ändert sich aber der Status bei den einzelnen Devices nicht.
Mit rawDevice wie bei den Handsendern kann ich das leider auch nicht angeben.
Gibt es da irgendeine Möglichkeit das den einzelnen Rollos mitzuteilen?
Vielen Dank schon mal.

andies

vermutlich geht das nur über ein notify, d.h. mit der Hand selber programmiert. Wenn du allerdings ein Rollo bewegst, müsste du dann umgekehrt auch bei Rollo_alle ,,unbestimmt" eintragen.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
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