10_SOMFY.pm - Somfy RTS (und kompatible)

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

Vorheriges Thema - Nächstes Thema

Ralf9

Hallo viegener,

kannst Du diese änderungen der 10_SOMFY.pm bitte ins SVN bringen

Gruß Ralf

Zitat von: Ralf9 am 04 Januar 2024, 20:27:06Hallo viegener,

ich habe in der 10_SOMFY.pm ein paar Änderungen vorgenommen (siehe Anlage)
- ich habe meine Version des 00_SIGNALduino.pm in 00_SIGNALduinoAdv.pm umbenannt
https://forum.fhem.de/index.php?topic=134268.0
dadurch sind Anpassungen in der 10_SOMFY.pm notwendig

- ich habe die Hilfe erweitert, damit bei der Attributauswahl die Beschreibung des ausgewählten Attributs angezeigt wird

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

viegener

Zitat von: Ralf9 am 12 April 2024, 20:32:55Hallo viegener,

kannst Du diese änderungen der 10_SOMFY.pm bitte ins SVN bringen

Gruß Ralf


Änderungen sind im SVN - ich konnte allerdings nur rudimentär testen, da ich ja aktuell keine SOMFY devices habe
Danke fürs Pflegen
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

LastOne

Ich steh hier grad aufm schlauch, ich hoffe es kann mir jemand helfen. Ich meine ich konnte früher auch aus FHEM einen "PROG" befehl senden um ggf wieder ne FB anzulernen (ich ziehe meine Somfy Lösung gerade um). Aber irgendwie klappt das grad nicht.

set Rollo_Terrasse prog

Führt aber nicht dazu, das der Rolladen "winkt". Jemand ne Idee?

Elektrolurch

Richtige Reihenfolge?
Zuerst an der FB die prog-Taste drücken, bis der Rolladen kurz zuckt, dann den Befehl von fehm aus senden.
Musste ich vor kurzem auch mal nach 10 Jahren wieder durchführen und hatte schon vergessen, wie es geht.
configDB und Windows befreite Zone!

LastOne

Ich will ja ne anderer FB anlernen, also muss ich doch FHEM, wo es läuft, erst mit Prog versehen?

Elektrolurch

Erste Noah laden im Programmiermodus versetzen, so wie es oben beschrieben hat und dann den Vorgang bei FHM mit Prock starten so wie es oben beschrieben hab
configDB und Windows befreite Zone!

thymjan

Nochmal eine Frage zur Rückantwort des Rolladens  ::)
Eigentlich wurde schon alles gesagt, aber so ganz habe ich es immer noch nicht begriffen...

Habe nach dieser Anleitung https://wiki.fhem.de/wiki/Somfy_via_SIGNALduino meine Rollläden angelernt.
Funktioniert. Zeiten ausgemessen, eingetragen. Im Rollladendevice in FHEM läuft die Animation mit dem "echten" Rolladen synchron.

Erst dann habe ich meinen SIGNALduino auf 433.420 MHz umgestellt.

Jetzt wurden einige SOMFY-Devices per autocreate angelegt. Ich versuche nun die Geräte zuzuordnen, aber das gelingt mir nicht.
Zum Teil wurden wohl auch Geräte von den Nachbarn entdeckt :o

Drei Typen konnte ich ausmachen. Ich interpretiere wie folgt:
  • Fernbedienungen mit den Readings IODdev, enc_key, z.T. received (z.B. F0) und rolling_code
  • Rollladenaktoren mit den Readings IODdev, enc_key, exact, parse state, position, received, rolling_code und state
  • Sensoren mit den Readings IODev, enc_key, parsestate (wind_sun_9), received (90) und rolling_code

Wenn ich jetzt von meinen manuell angelegten SOMFY-Devices die Rollläden steuere, würde ich erwarten, dass die Rollladen-Aktoren das quittieren. Da sehe ich aber nichts bei den autocreate-Devices. Woran könnte das liegen?

Welche Informationen kann ich von den Fernbedienungen beziehen? Welche Taste gedrückt wurde (hoch, stop, runter)?
Und meine Vorstellung, dass sich bei Betätigen einer Taste der Fernbedienung das StateIcon des manuell angelegten SOMFY-Devices synchron bewegt, ist das umsetzbar?

Ich habe ja jetzt für ein System 3 Adressen, oder?
1. Die selbst festgelegte Adresse des manuell angelegten SOMFY-Devices, die ich per prog mit dem Rollladen verbunden habe
2. Die Adresse der FB (oder ist das für jede Taste eine eigene Adresse)? Hier attr model somfyremote gesetzt
3. Die Adresse des Rolladen-Aktors

Liege ich mit diesen Annahmen richtig?

Und dann müsste ich - sobald ich Fernbedienungs-Device und manuell angelegtes SOMFY-Device zuordnen konnte - bei der entsprechenden Fernbedienung in das Attribut rawDevice die Adresse des manuell angelegten SOMFY-Devices eintragen. Richtig?



thymjan


stef1938

Hallo zusammen,

wisst ihr eine Möglchkeit, wie ich

beim Befehl
set *SomfyRollo* manual anstelle der vorgegebenen Auswahl (0 - 100 in 10er-Schritten, 200, on, off) auch jede Zahl zwischen 0 und 100 eingeben kann? Ich bräuchte im Speziellen die Zahlen von 95 bis 99.

Vielen Dank für eure Hilfe!

LG Stef

andies

Ich würde versuchen direkt den Code zu ändern. Bei meinem Screenshot wäre das Zeile 85, unten in ,,translations" müssen dann aber auch zwei Zeilen für 95 und 98 hinzugefügt werden.
Nach dem Ändern das Modul neu einlesen (geht mit reload).
FHEM 6.3 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

stef1938

#580
Hallo viegener,

die Fuktion inverse ist genau die, welche mir hilft. Allerdings funktioniert damit der Befehl set manual nicht mehr. Der Befehl set Wohnzimmer_Fenster_Sued manual 10 ergibt die Fehlermeldung SOMFY_set: 100 must be between 0 and 100 or on/off for manual
Hast du vielleicht eine Lösung?
Vielen Dank!

LG Stef

Zitat von: viegener am 17 Oktober 2016, 23:36:29Es gibt eine neue Version des Somfy-Moduls in github, diese enthält eine erste Version einer umgedrehten Positionslogik, wie in diesem Thread andiskutiert:

https://forum.fhem.de/index.php/topic,24158.msg501349.html#msg501349

Es gibt dazu ein spezielles Attribut aufnehmen ([tt]positionInverse[/tt] mit dem Wert 1 wird die neue Logik eingeschaltet). Dann würde zwar intern weiter mit den Werten 0 bis 100/200 gerechnet, aber die externen Readings würden umgerechnet sodass dann:

Jetziger Wert 0 --> Neu: 100
Jetzt 100 --> Neu: 10
Jetzt 200 --> Neu: 0

Also ist dann 10 der Rolladen unten und 0 wäre geschlossen. Damit wäre das auch in derselben Richtung wie bei Homematic?

Die Umrechnung wird nur gemacht, wenn das Attribut gesetzt ist, so dass sich für existierende Nutzer nichts ändern muss.



stef1938

#581
Hallo andies,

vielen Dank, das sollte klappen!

Habe in line 749 einfach die 98 im code ergänzt:

if($cmd eq 'manual') {
    $mode = 'virtual';   # manual is virtual setting - no command to be sent
                return "SOMFY_set: No manual position given"  if(!defined($arg1));
                return  "SOMFY_set: $arg1 must be between 0 and 100 or on/off for manual " if($arg1 !~ /^(on|off|200|150|98|[1-9]?0)$/ );

LG Stef