Neues Modul: 98_Siro.pm (Ansteuerung von motorisierten Innensichtschutzrollos)

Begonnen von Dr. Smag, 27 September 2017, 00:14:49

Vorheriges Thema - Nächstes Thema

Raven

Danke Danke Danke für die großartige Unterstützung.  ;)

Ich war gestern (zu) lange unterwegs und kam nicht zu neuen Versuchen.
Bin sehr zuversichtlich, denn ich hatte in meinen letzten Versuchen tags zuvor auch den Eindruck, ich müßte 5 x zusätzlich Stoppen bis die Quittierung kommt.

Ich probiere es heute abend. Melde mich.
Proxmox-Prod/Dev: Homematic i.V.m. VCCU (HMLan, HM-MOD-RPI-PCB), Philips Hue, Viessmann (optolink)
Fritzbox 7590

Raven

Ein Traum! Beim ERB15LE die Endposition mit 5 x Stoppen bestätigen klappt hervoragend! Nochmals Danke!

Darf ich noch eine Frage zu der Favoriten-Position stellen?  :o
Zunächst HW-mäßig versucht:
- Position angefahren -> Prog, 2 x Stop (wird auch alles bestätigt) Nur kann ich die Position mit "fav" nicht anfahren; d.h. überhaupt keine Reaktion.
- danach time_to_close / time_to_open eingestellt und erneut versucht die Favoriten-Position neu zu speichern und danach anzufahren; auch hier keine Position.

Dann sah ich "set XYZ set_favorite"; aber auch hier kein Anfahren der Position.
Hier interpretiere ich den Befehl so, daß er immer zuvor die etwaige Favoriten-Position löscht und dann wieder neu setzt.

operation_mode = 0

Übersehe hier noch was beim HW-mäßigen setzen der FAV Position?
Proxmox-Prod/Dev: Homematic i.V.m. VCCU (HMLan, HM-MOD-RPI-PCB), Philips Hue, Viessmann (optolink)
Fritzbox 7590

Byte09

Hi Raven,

mit dem hardwarefavorit ist das etwas twiggy .

grundsätzlich :

setzen der Position mit set NAME set favorit. Da das Modul nicht wirklich wissen kann, ob eine Position gesetzt ist oder nicht , geht das Modul davon aus, das KEINE position gesetzt ist , wenn das ATTR time_down_favorite nicht gesetzt ist . Falls dieses nicht gesetzt ist, lässt sich die position über set fav zwar anfahren, er zeigt die posizion dann aber immer mit 50% an.

wichtig ist da ganze aus folgendem grund. die befehle zum setzen der position und zum löschen der position sind gleich, d.H eine neue position kann nur dann gesetzt werden, wenn bisher keine position gespeichert ist ( motorseitig ) .

das heisst , das modul sendet den gleichen befehl 2mal , wenn das attr time-down_to_favorite gesetzte ist um die alte positionzu löschen und eine neue zu setzen. ist das attr nicht gesetzt , geht das modul davon aus, das keine position gesetzt ist und somit auch nicht gelöscht werden muss. folglich wird der befehl nur einmal gesendet.

das heisst , wenn die favposition gesetzt wird , und das nicht mit der funktion set NAME set favorite , muss das attr time_down_to_favorite manuell auch gesetzt werden, ansonsten wird ein späterer Versuch die position mit set NAME set favorite immer scheitern.

wenn die hardware favposition mit dem vorgesehenen befeht set NAME set favorite gesetzt wird, wird die Zeit zum anfahren der position automitisch berechnet und auch das attr set time_down_to_favorite automatisch gesetzt .

wenn dieses einmal "asynchron" ist , musst du dass manuell wieder "syncronisieren" , d.H wenn beim ausführen von set fav keine position angefahren wird, darf das attr time_down _to_fav auch nicht vorhanden sein ( ggf. manuell löschen ) . wird eine position angefahren und da attr ist nicht gesetzt musst du es manuell setzen , die zeit ist erstmal egal , da diese neu berechnet wird, wenn du die position neu über das modul setzt .

jetzt das problem: die im modul ( attr ) hinterlegte programmiersequenz (prog,2,stop,2,stop ) zum setzen/löschen der favoritenposition ist auf den ERB16 LE-S ausgelegt und ich weiss nicht , ob sich diese von deinem motor unterscheidet ( die anleitung deines motors macht mich da leider auch nicht wirklich schlauer) . zwar kann diese sequenz in entsprechendem attr geändert werden , voraussetzung ist jedoch sie zu kennen . Auch eine ggf. erforderliche Anpasung des Moduls wäre im Grunde kein problem, ist aber ohne den entsprechendem Motor zu haben ebenfalls kaum möglich ( ggf. werde ich mir aber in absehbarer zeit einen solchen Motor bestellen um das mal zu testen und evtl. anzupassen )

ggf. kann Dr. Smag hier helfen und das mal probieren, ich glaube er hat diesen Motor.

gruss Byte09

Dr. Smag

Das Problem mit der Hardware-Favouritenanfahrt beim ERB15LE kann ich bestätigen.

Mit der FB funktioniert es, mit FHEM nicht.

Der ERB15LE verlangt wohl mehr Stopp-Befehle. Die Favouritenanfahrt ist ja nichts anderes, als ein mehrfach, hintereinander folgender Stopp-Befehl. Der muss aber so schnell hintereinanderfolgen, dass er nicht manuell, wie beim Endlageneinstellen durchgeführt werden kann. Dazu muss das Modul angepasst werden. Dazu wird es in Kürze einen Fix geben.

Wird der Befehl 3x direkt in einer Zeile hintereinander ausgeführt, bspw. mit
set Siro7 fav; set Siro7 fav; set Siro7 fav;
funktioniert es.

Die genaue Anzahl werde ich noch ermitteln. Wie mal angedacht, könnten wir als Attribut ein Motormodell auswählen, damit der User damit nichts zu tun hat.
RPi1,2,3,HMLAN,HM,CC-RT-DN,HM-TC-IT-WM-W-EU,HM-LC-SW2-PB-FM,HM-LC-Sw1PBU-FM,HM-LC-Dim1TPBU-FM,HM-SEC-RHS,HM-SEC-KEY-S,HM-SEC-S,C, HM-OU-LED16,HM-ES-PMSw1-Pl,HM-RC-Dis-H-x-EU,HM-LC-SW4-DR,HM-RC-8,HM-OU-CFM-TW,HM-SEC-WDS, HM-PB-2-WM55,HM-Sen-MDIR-O,HM-Dis-WM55,HM-Dis-EP-WM55,HM-ES-PMSw1-Pl-DN-R1...

Raven

Ein GROSSES DANKESCHÖN Byte09 & Dr. Smag für die ausführlichen und sehr gut nachvollziehbaren Erklärungen!

Basierend auf Byte09s Rückmeldung wollte ich gerade nochmals testen, sah dann aber die Bestätigung des Problems beim ERB15LE.

Bin echt überrascht, daß es mit der im Handbuch erwähnten herkömmlichen Kombi (prog  - stop - stop) tatsächlich nicht fkt. weil ja die Quittierungen kommen. Um so schöner, daß dies bereits von Dr. Smag erkannt wurde ! Wirklich erstaunlich wie schnell ihr dahinter kommt!
Ich wäre nie drauf gekommen, daß es mit "set Siro7 fav; set Siro7 fav; set Siro7 fav;" fkt. könnte.

Grüsse mike
Proxmox-Prod/Dev: Homematic i.V.m. VCCU (HMLan, HM-MOD-RPI-PCB), Philips Hue, Viessmann (optolink)
Fritzbox 7590

volschin

Das mit dem Motormodell finde ich gut. Ich habe bei mir derzeit sowieso ein Attribut model angelegt, was in HomeKit eingespeist wird. Da z.B. steht ERB16LE drin, ist aber sonst funktionslos.
Intel NUC+Ubuntu 24.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7690, Echo Dots+Show8, HomeBridge

Dr. Smag

Also, ich und Byte09 haben mal gerade telef. Wird das Attribut SignalLongStopRepeats auf 45 oder höher gesetzt, klappts auch mit dem ERB15LE und der Favouritenanfahrt. Das derzeitige Modul lässt nur eine Auswahl bis 20 zu.

Es gibt gleich einen Quickfix des Moduls, welches gleich Byte09 einstellt, und sozusagen ab morgen verfügbar ist.

Die Doku im ersten Post werde ich dementsprechend anpassen.
RPi1,2,3,HMLAN,HM,CC-RT-DN,HM-TC-IT-WM-W-EU,HM-LC-SW2-PB-FM,HM-LC-Sw1PBU-FM,HM-LC-Dim1TPBU-FM,HM-SEC-RHS,HM-SEC-KEY-S,HM-SEC-S,C, HM-OU-LED16,HM-ES-PMSw1-Pl,HM-RC-Dis-H-x-EU,HM-LC-SW4-DR,HM-RC-8,HM-OU-CFM-TW,HM-SEC-WDS, HM-PB-2-WM55,HM-Sen-MDIR-O,HM-Dis-WM55,HM-Dis-EP-WM55,HM-ES-PMSw1-Pl-DN-R1...

Byte09

so,

Dr. Smag und ich haben eben mal telefoniert. wir konnten das Problem eingrenzen und das modul daraufhin recht schnell ( temporäre Lösung ) anpassen. Die geänderte Version wird ab morgen mit dem Update verteilt.

Zudem setze ich diese Version schonmal hier als Anhang rein.

Nach update des Moduls muss das Attribut "SignalLongStopRepeats" auf 45 gesetzt werden , dann sollte die Favoritenanfahrt möglich sein.

Gruss Byte09

@Raven, gib uns doch bitte eine kurze Rückmeldung , ob es funktioniert.

... ups,da wars du schneller @Dr Smag  :)

Raven

Was soll ich sagen? Ich ziehe meinen Hut vor Eurer tollen Unterstützung, Einsatz und Expertise!
Läuft nun alles (nach mehreren erfolgreichen Testfahrten aus diversen Startpositonen) super geschmeidig!

Danke Danke Danke. mike
Proxmox-Prod/Dev: Homematic i.V.m. VCCU (HMLan, HM-MOD-RPI-PCB), Philips Hue, Viessmann (optolink)
Fritzbox 7590

ThomasGHH

Guten Tag,
ich versuche meinen ersten Siro-Antrieb zum Laufen zu bringen, allerdings bin ich dabei bisher gescheitert. Meine Konfiguration:
- FHEM auf Raspberry
- Signalduino auf Basis Nano
- Siro ERB15
Ich habe keine Siro Fernbedienung, versuche also das Paaren aus dem FHEM UI heraus. Was ich schon versucht habe:

  • Einmal Prog, dann On
  • Zweimal hintereinander Prog, dann On
  • Andere Hex-Id
  • Beim ERB lange auf die Anlerntaste gedrückt, bis er dreimal sich bewegt hat, um alle Pairings zu löschen
  • Die Variablen time_to_close, time_to_open, time_down_to_favourite mit Werten belegt, weil ich Logfile eine Warnung bekommen habe
  • Näher am Signalduino dran, und weiter weg
  • Die neueste 98_Siro.pm eingespielt (die gestern hier gepostet wurde)
Hat aber alles nix geholfen. Beim On-Befehl bekomme ich dann ein "no action" Reading. Und ich kann den Antrieb nicht ansteuern.
Habe den Signalduino auch mal auf Verbose=5 gesetzt. Ich kann zwar nicht alles interpretieren, aber er scheint die Befehle vom Siro zu bekommen und zu verarbeiten. Merkwürdig ist allenfalls eine häufige PERL Warnung "Argument "???" isn't numeric in division (/)", die bekomme ich aber auch sonst manchmal, muss also nichts mit dem Signalduino oder Siro zu tun haben.

Ich hatte hier im Thread gesehen dass jemand so einen ähnlichen Fehler hatte, was da stand habe ich versucht nachzustellen.

Hat jemand eine Idee was ich falsch mache? Geht das Paaren grundsätzlich auch ohne Fernbedienung?
Gruss, Thomas

Byte09

hi ThomasGHH,


wenn du den motor auf eine id anlernen willst , musst du ja bereits ein device in fhem angelegt haben ?!. zeig mir bitte mal ein list von deinem angelegten siro device .

gruss Byte09

nachtrag : das modul wirft hier und da manchmal noch eine perlwarnung aus, wir sind daran das in den griff zu kriegen. es handelt sich aber lediglich um warnungen , die die funktion nicht beeinflussen.

ThomasGHH

Hallo Byte09,
das List sieht so aus:
defmod SiroAZ1 Siro ABFCA002
attr SiroAZ1 IODev SignalDuinoNano
attr SiroAZ1 SignalLongStopRepeats 15
attr SiroAZ1 SignalRepeats 8
attr SiroAZ1 devStateIcon {return '.*:fts_shutter_1w_'.(int($state/10)*10)}
attr SiroAZ1 down_auto_stop 0
attr SiroAZ1 down_limit_mode_1 100
attr SiroAZ1 invers_position 0
attr SiroAZ1 operation_mode 0
attr SiroAZ1 prog_fav_sequence prog,2,stop,2,stop
attr SiroAZ1 room Arbeitszimmer
attr SiroAZ1 time_down_to_favorite 1
attr SiroAZ1 time_to_close 2
attr SiroAZ1 time_to_open 2
attr SiroAZ1 webCmd stop:on:off:fav:position

setstate SiroAZ1 2017-12-03 08:57:30 .aktMsg on 100 1512287161.99285
setstate SiroAZ1 2017-12-03 08:57:30 .lastMsg prog  1512287156.36471
setstate SiroAZ1 2017-12-03 08:57:30 .lastProg 1512287336.34926
setstate SiroAZ1 2017-12-03 08:57:30 .lastparse
setstate SiroAZ1 2017-12-03 08:57:30 .lastparse_stop stop 1512223896.45092
setstate SiroAZ1 2017-12-03 08:57:30 .parse_aborted 0
setstate SiroAZ1 2017-12-03 08:57:30 .positionsave 0
setstate SiroAZ1 2017-12-03 08:57:30 .positiontimer 5.6
setstate SiroAZ1 2017-12-03 08:59:19 action no action
setstate SiroAZ1 2017-12-03 08:59:16 prog_mode 176

Gruss Thomas

Byte09


Byte09

habe es gerade nachgespielt, ohne probleme.

die richtige variante ( und die einzige ) ist diese :

alernknopf des motors drücken bis er einmal bestätigt. dann aus fhem 2 mal prog und dann on . wichtig ist , das der motor jede aktion aus fhem bestätigt. tut er das ?   ..... falls nicht ist das problem woanders zu suchen und nicht im siromodul .

gruss Byte09


Byte09

... ansonsten gib mir doch bitte auch noch ein list des IOdev. aber bitte ein 'echtes' list , keine rawdefinition.

gruss Byte09