10_SOMFY.pm - Somfy RTS (und kompatible)

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

Vorheriges Thema - Nächstes Thema

wing350

Vor einiger Zeit gab es hier den Vorschlag einer Änderung in der 10_Somfy.pm bezüglich der Länge der Datentelegramme.

ZitatAntw:10_SOMFY.pm - Somfy RTS (und kompatible)
« Antwort #156 am: 10 Februar 2018, 11:27:50 »
Dies sieht nach der selben Fernbedienung (Telis 6 Chronis RTS) aus die auch MogRuith hat.
Bei dieser hat die MC-Nachricht eine Datenlänge von 20 Ziffern.
Bei Deiner sieht die MC-Nachricht so aus:
Code: [Auswählen]
MC;LL=-1246;LH=1293;SL=-592;SH=660;D=81CDCDCBB7DEDD84001D;C=631;L=80;
Nach den 14 Ziffern der normalen Somfy Nachricht folgen noch 6 weitere (84001D).
Die empfangene Nachricht enthält eine Wiederholung.

Damit diese MC-Nachricht verarbeitet werden kann, ist in der 10_SOMFY.pm in der Zeiie 489 eine Anpassung notwendig.
Code: [Auswählen]

$ret = "Somfy RTS message format error (length)! :".$encData.":" if (length($encData) != 14);
muss durch die folgenden 2 Zeilen ersetzt werden

Code: [Auswählen]

my $lengthEncData = length($encData);
$ret = "Somfy RTS message format error (length)! $encData (" . $lengthEncData ."), length should be 14 or 20" if ($lengthEncData != 14 &&  $lengthEncData != 20);

Danach ist ein fhem Neustart oder ein "reload 10_SOMFY.pm" erforderlich.

Mit dem A meine ich die erste Ziffer bei den Daten der MC-Nachricht:
MC;LL=-1299;LH=1287;SL=-644;SH=618;D=A5BDA7953C1399;C=641;L=56;

Du kannst mal schauen ob bei dieser Fernbedienung sich die erste Ziffer ändert.

Gruß Ralf
« Letzte Änderung: 01 Februar 2019, 19:12:41 von Ralf9 »

Dies Änderung funktioniert auch problemlos, wurde aber anscheinend nie ins Modul eingepflegt.
Nach dem letzen Update musste ich die Änderung wieder händisch vornehmen. Wäre es nicht möglich, das dauerhaft einzubinden?

Gruß Reimer


FHEM auf Ubuntu VM/QNAP, FHEM-Native, CUL868, RFTRX433 und Jeelink auf RPi über ser2net an VM angebunden, PCA301/LaCrosse-Gateway (WLAN), FHTs, FS20-Aktoren, FBDECT, div. HM- und HMIP-Komponenten, Raspberrymatic VM auf QNAP, Signalduino für Somfy, optolink-WLAN für Viessmann, div. Shelly

Ellert

Dafür gibt es das Attribut exclude_from_update.

wing350

Nette Antwort, aber

das beschriebene Problem gilt ja generell für einige Somfy Fernbedienungen und ist kein Einzelfall.
Warum sollte man die Änderungen dann nicht auch dauerhaft einpflegen?

Das Argument könnte man ja sonst auf jede Form von Weiterentwicklungen oder Verbesserungen anwenden. Wäre doch aber eigentlich nicht im Sinne eines sich stetig weiterentwickelnden Systems, oder?
FHEM auf Ubuntu VM/QNAP, FHEM-Native, CUL868, RFTRX433 und Jeelink auf RPi über ser2net an VM angebunden, PCA301/LaCrosse-Gateway (WLAN), FHTs, FS20-Aktoren, FBDECT, div. HM- und HMIP-Komponenten, Raspberrymatic VM auf QNAP, Signalduino für Somfy, optolink-WLAN für Viessmann, div. Shelly

Ellert

Zitat von: wing350 am 06 März 2020, 10:57:21
Nach dem letzen Update musste ich die Änderung wieder händisch vornehmen. Wäre es nicht möglich, das dauerhaft einzubinden?
Die Frage habe ich so verstanden, dass Du verhindern möchtest, dass die von Dir eingepflegten Änderungen Bestand haben, dazu reicht das Attribut.

viegener

Zitat von: wing350 am 06 März 2020, 13:28:25
Nette Antwort, aber

das beschriebene Problem gilt ja generell für einige Somfy Fernbedienungen und ist kein Einzelfall.
Warum sollte man die Änderungen dann nicht auch dauerhaft einpflegen?

Das Argument könnte man ja sonst auf jede Form von Weiterentwicklungen oder Verbesserungen anwenden. Wäre doch aber eigentlich nicht im Sinne eines sich stetig weiterentwickelnden Systems, oder?

Ich bin für das Modul verantwortlich und kann die Änderungen auch übernehmen, denn es ist wirklich schon länger nichts passiert. Kann aber leider überhaupt nicht mehr testen, denn ich habe keinerlei SOMFY-Systeme mehr in der neuen Wohnung. Wenn Du bereit bist es zu testen kann cih Dir ja ein neues Modul zur Verfügung stellen und Du gibst mir Deine Testergebnisse zurück?

Anmerkung: Die FHEM-Entwicklung findet in der manchmal knappen Freizeit von vielen Leuten statt und da sind produktive Beiträge willkommen (andere weniger).
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

Auf github

https://github.com/viegener/Telegram-fhem/tree/master/Somfy

findet sich eine neue Version zum Testen

Änderungen:
- disable für Somfy devices ist möglich
- Längen von 20 Zeichen (Signalduino) für Somfy-Fernbedienungen werden verarbeitet (Danke für den Input dazu)

Wenn alles gut geht, kann ich das auch ins update übernehmen
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

Hat schon jemand die neue Version getestet? Gibt es Rückmeldungen?

Wie angemerkt: Ich habe momentan keine Somfy-HW um zu testen
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Steigerbalett

Hallo Johannes,
sorry hab es jetzt erst gelesen. Ich werde Sie gleich mal testen.
Sieht bis auf geringe Abweichungen (ca. Zeile 500) rum aus wie die ich mal zusammenkopiert habe. Da hab ich noch stehen:    my $lengthEncData = length($encData);
    $ret = "Somfy RTS message format error (length)! $encData (" . $lengthEncData ."), length should be 14 or 20" if ($lengthEncData != 14 &&  $lengthEncData != 20);
    $ret = "Somfy RTS message format error! :".$encData.":" if ( ( ! $ret ) && ($encData !~ m/[0-9A-F]{14}/) );
Aber das ist ja eher ein kosmetischer Unterschied.
Und (ca. Zeile 1200 + 1230) rum hab ich noch stehen:                Log3($name,1,"SOMFY_CalcCurrentPos: $name move wrong $move - set to 4POS");
$newPos = $pos;
Da ich keine Ahnung hab ob das einen Unterschied macht, teste ich Deine Version jetzt mal und gebe Dir Rückmeldung.
Vielen Dank schon mal fürs weiterentwickeln.

Steigerbalett

So, erstes Testergebnis:
mit Deiner Version wird die Position nicht mehr visualisiert/übermittelt.
Ich habe jetzt bei mir in Deiner Version den Code wieder mit eingebaut:
ZitatUnd (ca. Zeile 1200 + 1230) rum hab ich noch stehen:Log3($name,1,"SOMFY_CalcCurrentPos: $name move wrong $move - set to 4POS");
$newPos = $pos;
Da ich keine Ahnung hab ob das einen Unterschied macht ...
Und damit spielt es bisher ohne Probleme und die Position wird auch korrekt angezeigt.
Die Verbundenen Fernbedienungen checke ich sobald der Rest hier aufgewacht ist :-)
Evtl. könnte man dann auch gleich noch den Changelog am Anfang irgendwie aufräumen. Ich teste mal weiter und mach Dir dann einen Pullrequest auf Github.


viegener

@Steigerbalett: Die beiden Veränderungen können eigentlich keinen Unterschied machen, denn diese Zeilen werden nur aufgerufen wenn falsche Kommandos gesendet wurden. Dazu müsste sich dann auch immer ein Eintrag im Log finden. Insofern verstehe ich das Testergebnis nicht:

Was meinst Du "Position nicht mehr visualisiert/übermittelt"?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Steigerbalett

 Ich hab von Perl leider null Ahnung,
aber die Position wurde im GUI nicht mehr aktualisiert – zumindest bei meinen kurzen Tests.
Nachdem ich das wieder reinkopiert habe wurden die Änderungen im Statusicon und im Slider wieder angezeigt - sorry, dass ich nicht mehr dazu beitragen kann.
Soll ich Deine Version nochmal testen? Hab die halt relativ schnell verworfen.
Grad läuft bei mir die Patch1 Version zum testen.


viegener

Zitat von: Steigerbalett am 31 März 2020, 12:11:23
Ich hab von Perl leider null Ahnung,
aber die Position wurde im GUI nicht mehr aktualisiert – zumindest bei meinen kurzen Tests.
Nachdem ich das wieder reinkopiert habe wurden die Änderungen im Statusicon und im Slider wieder angezeigt - sorry, dass ich nicht mehr dazu beitragen kann.
Soll ich Deine Version nochmal testen? Hab die halt relativ schnell verworfen.
Grad läuft bei mir die Patch1 Version zum testen.



Ich denke das würde Sinn machen - wenn das die einzigen UNterschiede sind und keine log-Nachrichten auftauchen, dann hat es an etwas anderem gelegen (Caching issue / kein FHEM-Neustart)?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Steigerbalett

OK tut,
keine Ahnung warum das beim ersten Test nicht wollte.
Sorry.

hyper2910

Hallo, in Zeiten von Corona hat man ja Zeit.

Weiss jemand ob der Somfy Axroll Funktorsteuerung Rts kompatibel mit dem Modul ist, da das anlernen ja ein wenig anders funktioniert.

Danke im voraus
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

hyper2910

so, habe es.

Ich musste nach dem Prog einmal On drücken und schon hat er das ganze sauber erkannt.

Meine Frage ist noch ob das Modul mitbekommt, wenn das Tor fährt, z.b. über einen Handsender und den Status richtig wiedergibt!
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,