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

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

Vorheriges Thema - Nächstes Thema

Dr. Smag

Hallo Zusammen,
ich freue mich Euch nun endlich das Siro-Modul  für die motorisierte Ansteuerung von Innensichtschutzrollos für FHEM bereitzustellen, welches vorerst als erste Public-beta-Version zum Testen bereitsteht, bevor es im SVN aufgenommen wird.

Einleitung

Aus eigenem Interesse bin ich auf die Motoren der Fa. Siro gestoßen, da ich seit längerem eine Möglichkeit suchte, meine Innenrollos zu motorisieren. Als Kinoenthusiast suchte ich schon länger eine Lösung meine Fenster automatisch zu verdunkeln, wenn der Heimkino-Beamer eingeschaltet wird. Da fertige E-Rollo-Systeme sündhaft teuer und vor allem nicht modular sind (Stoffe oder Motoren können nicht einfach ausgetauscht werden), war die Suche sehr mühselig. Letztendlich stieß ich hier im FHEM-Forum auf die Akku-Funk-Rohrmotoren der Fa. Siro (https://www.siro-antrieb.de). Ohne zu zögern bestellte ich einen Testmotor und war von Anfang an begeistert. Das geniale an diesen Motoren ist, dass schon bestehende, also fertig montierte Rollos, weiterhin verwendet werden können, indem das Spring- oder Kettensystem aus dem Rohr herausgezogen wird und stattdessen der Antriebsmotor in die Welle eingesetzt wird. Dieses System verschwindet nahezu komplett mit Akku und Antrieb in dem Rohr. Endlagen für oben und unten und sogar eine Favoritenposition werden im Rollo abgespeichert, sodass das Rollo niemals über die Endlagen darüber hinaus fährt. Die Fa. Siro bietet schon Akku-Funk -Motoren ab einem Innenrohrdurchmesser von nur 16mm an und liefert auch schon die richtige Durchmesser-Adaptierung vormontiert mit. Eine Akkuladung hält etwa ½ Jahr bei einer täglichen Auf- und Abfahrt. Laden lässt sich der Motor mit einer einfachen Steckverbindung, ohne das Rollo abbauen zu müssen. Eine Steuerung der Rollos konnte bis dato nur über die hauseigenen Fernbedienungen bedient werden, da es keine Bridge oder andere Steuermöglichkeiten zur Automatisierung gab. Die erste Idee war eine FB per Relais anzusteuern, was aber keine elegante Lösung auf Dauer sein konnte. Also bestellte ich aus den Staaten einen ,,Spectrum-Analyzer", mit dem ich die CODES mitschnitt und dekodierte. Die ersten Experimente mit einem CUL-Stick der Fa. Busware musste ich leider verwerfen, da ich das WakeUp-Signal nicht emulieren konnte. Auf der Suche nach einer anderen Lösung stieß ich auf die CUL-Alternative ,,SIGNALduino", welches auf Arduino basiert und eine Alternative zum Busware-CUL darstellt. Getestet wurde ein selbstgebauter Arduino nano, ein Radino und ein SIGNALESP mit einer CC1101 433MHz Transceivereinheit. Sollte diesbezüglich jemand Fragen haben, stehe ich gerne zur Verfügung. Die User ,,det" und ,,Byte09" waren die ersten Betatester der Alpha-Versionen. Seither hat der User ,,Byte09" mit großem Eigeninteresse an der Entwicklung des Moduls mitgewirkt, weshalb ich mich dahingehend besonders für sein Engagement bedanken möchte.
Mittlerweile habe ich 6 Siro-Motoren im privaten Einsatz und erfreue mich jeden Tag an die Erleichterung der täglichen Bedienung.

Hardwarekompatibilität (Motoren)

Derzeit werden die LE-Serie-Motoren der Fa. Siro durch das nun neue FHEM-Modul unterstützt (Links am Ende):


  • ERB15-LE (Durchmesser: 15,4mm) (die neuste Motorversion, ladbar mit herkömmlichen Micro-USB-Kabel, jedoch lassen diese sich nicht mit den jetzigen Solarpanels laden)
  • ERB16-LE (Durchmesser: 17mm)
  • ERB25-LE (Durchmesser: 25mm)
Weitere Motoren der Fa. Siro (anderes Protokoll) werden aller Voraussicht in Kürze ebenfalls mit aufgenommen.

Hardwarekompatibilität (Transceiver)

Zur Ansteuerung der Rollomotoren wird derzeit ein SIGNALduino benötigt. Dazu ist es dringend notwendig, dass der aktuelle Entwicklerstand (Dev) eingesetzt wird. Folgende Hardwarevarianten wurden erfolgreich getestet:


  • Arduino Nano mit CC1101 433MHz Transceiver mit SIGNALduino-Firmware (>= V 3.3.1-dev)
    (USB-Selbstbau-Variante)
  • Radino mit CC1101 433MHz Transceiver mit SIGNALduino-Firmware (>= V 3.3.1-dev)
    (Fertig konfektionierter USB-Stick, welcher demnächst wohl auch bei der Fa. Siro erhältlich sein wird)
  • SIGNALESP mit CC1101 433MHz Transceiver mit SIGNALduino-Firmware (>= V 3.3.1-dev)
    (WLAN-Transceiver, welcher z.B. in entfernten Räumen genutzt werden kann)

Softwaremodul(e)

Benötigt wird natürlich das Siro-Modul  ,,98_Siro.pm" und eine erweiterte Version der ,,00_SIGNALduino.pm", welche noch nicht im SVN sind und manuell eingespielt werden müssen, bis der User ,,Sidey" es mit aufgenommen hat und das Siro-Modul von Euch getestet wurde. Download-Links der Module sind am Ende aufgeführt und werden kontinuierlich weiterentwickelt.

Im FHEM-SVN-Repository enthalten.

Modulvorbereitungen

Nachdem die Module ,,98_Siro.pm" und ,,00_SIGNALduino.pm" eingespielt worden sind, sollte das SIGNALduino-Modul mit folgendem Befehl neu eingelesen werden:

reload 00_SIGNALduino.pm

Das SIGNALduino-Gerät (hier ,,mySIGNALduino") sollte im state: ,,opened" angezeigt werden.

Nun im mySIGNALduino den manchesterMC mit folgendem Befehl deaktivieren:

set mySIGNALduino disableMessagetype manchesterMC

Da der SIGNALduino sehr viele Protokolle mitbringt, kann es zu Fehlinterpretationen der Funkbefehle kommen, weshalb wir dem Gerät mySIGNALduino das Attribut whitelist_IDs auf den Siro-Code: 72 einschränken.

attr mySIGNALduino whitelist_IDs 72

Bei Bedarf kann das jeder selbst verfeinern. Sollte eine physische Fernbedienung der Fa. Siro vorhanden sein, sollten im ,,Event-Monitor" empfangene Befehle schon angezeigt werden.

Moduldokumentation

Um ein Rollo anzusteuern wird keine physische Siro-Fernbedienung benötigt, da das FHEM-Modul eine Fernbedienung vollständig emulieren kann (inkl. dem Pairing). Ist eine physische Fernbedienung vorhanden und ein autocreate aktiv, kann auch der bestehende Code der Fernbedienung übernommen werden, ohne dass die Rollos neu ,,gepaired" werden müssen.

Define

Ein Siro-Device kann wie folgt angelegt werden:

define <name> Siro <id><channel>

Bsp.: define Siro1 Siro AB00FC1

Das Gerät wird mit einer "selbst angelernten" Identifikation angesprochen, welche aus 8 Hex-Zeichen besteht. Die ersten 7 Stellen entsprechen der Geräte-ID gefolgt von einem 1-stelligen Kanal. Im vorangegangenen Beispiel ist die ID: AB00FC und der Kanal: 1 eingestellt worden. Somit können mit 1-F insgs. 15 Kanäle vergeben werden. Der Kanal 0 entspricht analog zur FB einer Ausnahme, dass "alle" Rollos (Kanal: 1-F) gefahren werden.

Der Motor kennt im Werkszustand keinerlei Fernbedienungen und kann auf eine oder mehrere Fernbedienungen angelernt werden. Somit bringt die Fernbedienung werksseitig eine fest programmierte ID mit, die sich der Motor behält. Testweise konnte ich einem Rollo mind. 20 ID's beibringen. Wie viele möglich sind, müsste noch ermittelt werden.
Somit bleibt einem selbst überlassen, ob man die ID einer echten FB nutzen will (die ID der sendeden FB sieht man im Event-Monitor) oder eine selbst ausgedachte ID dem Motor im Programmiermodus über FHEM beibringt.

Anschließend muss zwingend das Attribut IODev auf den angeschlossenen Transceiver mySIGNALduino gesetzt werden.
Ab diesem Zeitpunkt sollte das Rollo mit on/off/stop/fav angesteuert werden können (Also alle hardwareseitigen Befehle). Sollte es Probleme geben, indem die Endlagen nicht eingestellt werden können, weil z.B. der Fav-Befehl nicht erkannt wird, muss noch das Attribut "SignalLongStopRepeats" entsprechend gesetzt werden (siehe weiter unten).
Werden zusätzlich die Laufzeiten in den Attributen time_to_close, time_to_open und time_down_to_favorite angegeben, kann auch eine prozentuale Angabe als Position benutzt werden. Dabei versucht das Modul die Position des Rollos zu berechnen und zum geeigneten Zeitpunkt das Rollo zu stoppen. Es ist zu beachten, dass das natürlich eine reine Softwarelösung ist und es zu Fehlberechnungen kommen kann. Ein Anfahrt auf on, fav oder off synchronisiert die Positionsanfahrt wieder.

Set

Die Set-Syntax lautet wie folgt:

set <name> <value> [<position>]

Folgende ,,Value"-Aktionen sind möglich:

  • on
  • off
  • close
  • open
  • fav
  • stop
  • position (0-100) (Nur möglich, wenn auch die Laufzeiten des Rollos als Attribut angelegt wurden)
  • prog
  • prog_stop
  • set_favorit
  • state
Beispiele:

set Siro1 100
set Siro1 position 100
set Siro1 on
set Siro1 close

fährt das Rollo komplett herunter (100%)

set Siro1 0
set Siro position 0
set Siro1 off
set Siro open

set Siro1 off fährt das Rollo komplett hoch (0%)

set Siro1 position 40
set Siro1 40

fährt das Rollo zur angegebenen Position (40%)

set Siro1 fav
fährt das Rollo in die hardwaremässig programmierte Mittelposition

set Siro1 stop
stoppt die Fahrt

set Siro1 set_favorite
programmiert den aktuellen Rollostand als Hardwaremittelposition und parametriesiert das Attribut "time_down_to_favorite" mit der aktuellen berechneten Laufzeit neu.

set Siro1 prog
entspricht der "P2" Taste der Fernbedienung. Das Modul wird in den Programmiermodus versetzt (3 Min.). Wie das Rollo programmiert oder auch mit den Endlagen eingestellt wird, bitte der Bedienungsanleitung der Fa. Siro entnehmen. Das würde hier den Rahmen der Doku sprengen.

Get
N/A. Da es sich um ein unidirektionales Protokoll (der Motor ist ein reiner Empfänger) handelt, stellt das Endgerät keinerlei Daten zum Auslesen zur Verfügung.

Attribute

IODev

Das IODev muss das physische Gerät zum Senden und Empfangen der Signale enthalten. Derzeit wird ein SIGNALduino (Arduino nano, Radino, SignalESP etc.) unterstützt. Ohne der Angabe des "Sende- und Empfangsmodul" "IODev" ist keine Funktion möglich.

channel (seit V1.09 nicht mehr vorhanden)

Beinhaltet den Kanal, den das Modul zum Senden und Empfangen nutzt. Dieser wird ggf. beim Anlegen des Devices bereits gesetzt.
channel_send_mode_1
Beinhaltet den Kanal, der vom Modul im "operation_mode 1" zum Senden genutzt wird. Dieses Attribut wird "operation_mode 0" nicht genutzt

SignalLongStopRepeats
Diese Einstellung enthält sozusagen die Anzahl der Stopp-Befehle, die gesendet werden, um in die Favouritenposition zu fahren.
Der Befehl fav wird auch in der Endlagenprogrammierung genutzt.

Folgende Einstellungen für die folgenden Modelle benutzen (das ist sozusagen die Länge Fav-Taste (Anzahl der Stopp-Befehle). Wird dies nicht vorab eingestellt, gibt es schon Probleme bei der Endlageneinstellung:
ERB15LE: 45
ERB16LE: 15
ERB25LE: 40

operation_mode

Mode 0
Dies ist der Standardmodus. In diesem Modus nutz das Modul nur den Kanal, der von der Fernbedienung oder vom Attribut "channel" vorgegeben ist. Hier kann es durch von FHEM verpasste Signale, Timingproblemen etc. im schlechtesten Fall zu falschen States und Positionsreadings kommen. Diese werden bei Anfahrt einer Endposition wieder synchronisiert.

Mode 1
Erweiterter Modus. In diesem Modus nutzt das Modul zwei Kanäle. Den Standardkanal "channel" zum Empfangen der Fernbedienung. Dieser sollte nicht mehr durch das Rollo selbst empfangen werden. Und den "channel_send_mode_1", zum Senden an den Rollomotor. Hierzu ist eine Umkonfigurierung des Motors erforderlich. Dieser Modus ist in Bezug auf die Darstellung der States "deutlich sicherer", da ein Verpassen eines Signals durch FHEM nicht dazu führt, dass falsche Positionen angezeigt werden. Das Rollo fährt nur dann, wenn FHEM das Signal empfangen hat und an den Motor weiterreicht. Eine Anleitung zur Konfiguration des Motors folgt.

time_down_to_favorite

beinhaltet die Fahrtzeit in Sekunden, die das Rollo von der 0% Position bis zur Hardware-Favoriten-Mittelposition benötigt. Diese Zeit muss manuell gemessen werden und eingetragen werden. Ohne dieses Attribut ist das Modul nur eingeschränkt funktionsfähig.

time_to_close

beinhaltet die Fahrtzeit in Sekunden, die das Rollo von der 0% Position bis zur 100% Position benötigt. Diese Zeit muss manuell gemessen werden und eingetragen werden. Ohne dieses Attribut ist das Modul nur eingeschränkt funktionsfähig.

time_to_open

beinhaltet die Fahrtzeit in Sekunden, die das Rollo von der 100% Position bis zur 0% Position benötigt. Diese Zeit muss manuell gemessen werden und eingetragen werden. Ohne dieses Attribut ist das Modul nur eingeschränkt funktionsfähig.

prog_fav_sequence

beinhaltet die Kommandosequenz zum Programmieren der Harware-Favoritenposition
debug_mode [0:1]
Im Mode 1 werden zusätzliche Readings zur Fehlerbehebung angelegt, in denen die Ausgabe aller Modulelemente ausgegeben werden. Kommandos werden NICHT physisch gesendet.

Info

Die Attribute webcmd und devStateIcon werden beim Anlegen des Devices einmalig gesetzt und im auch im Betrieb an den jeweiligen Mode des Devices angepasst. Die Anpassung dieser Inhalte geschieht nur solange, bis diese durch den Nutzer geändert wurden. Danach erfolgt keine automatische Anpassung mehr.

Ein vollständig eingetragenes Siro-Device könnte bspw. so aussehen:

define Siro1 Siro AB00FC1
attr Siro1 IODev mySIGNALduino
attr Siro1 SignalRepeats 9
attr Siro1 SignalLongStopRepeats 15
attr Siro1 devStateIcon {my $icon = ReadingsVal('Siro1','state', 0);;$icon = (int($icon/10)*10);; return '.*:fts_shutter_1w_'.$icon}
attr Siro1 down_limit_mode_1 100
attr Siro1 operation_mode 0
attr Siro1 prog_fav_sequence prog,2,stop,2,stop
attr Siro1 room Siro
attr Siro1 time_down_to_favorite 7.8
attr Siro1 time_to_close 13
attr Siro1 time_to_open 13.5
attr Siro1 webCmd prog:stop:on:off:fav


Danksagung

Ein besonderer Dank geht an

  • die SIGNALduino-Entwickler (Sidey, Ralf9 und Butzek's), die eine großartige Leistung gebracht haben,
  • Rudolf Koenig, dem Betreiber und Gründer des FHEM-Projekts, welcher wirklich in Lichtgeschwindigkeit die Mails beantwortet,
  • Byte09, welcher das Siro-Modul aktiv weiterentwickelte
  • und Hr. Hoelters der Fa. Siro, welcher immer hilfsbereit zur Seite stand.

Links:
https://www.siro-antrieb.de/produkte/akku-rohrmotor/
https://www.siro-antrieb.de/der-allrounder-fuer-alles/
https://www.siro-antrieb.de/shop-kategorie/elektronische-antriebe/

https://wiki.fhem.de/wiki/SIGNALduino

http://www.biest.de/siro/98_Siro.pm
http://www.biest.de/siro/00_SIGNALduino.pm
Das Siro-Protokoll wurde im 00_SIGNALduino.pm in der DEV 3.3.1 mit aufgenommen. Die Timings wurden nochmals optimiert.
https://forum.fhem.de/index.php/topic,58397.msg693023.html#msg693023

Hinweis:
Lasst euch bei Siro-Motoren als FHEM-User registrieren, da es immer mal wieder spannende Neuigkeiten und Rabatte geben wird.

Und nun wünsche ich Euch mit diesem Modul viel Spaß.

Ergänzungen: Wie das Rollo gepairt wird und die Endlageneinstellungen getätigt werden, kann in diesem Thread unter folgendem Post weitergelesen werden:
https://forum.fhem.de/index.php/topic,77167.msg725476.html#msg725476

Zusätzlich hat Markus M. im Post: https://forum.fhem.de/index.php/topic,77167.msg821362.html#msg821362
weitere Einstellmöglichkeiten (Geschwindigkeit einstellen, Dot-Modus) herausbekommen (vielen Dank dafür).

Geschwindigkeit einstellen:

  • Schneller : STOP und AUF Taste zusammen 2s halten, bis der Motor sich kurz bewegt
  • Langsamer : STOP und AB Taste zusammen 2s halten, bis der Motor sich kurz bewegt

Dot Mode an/aus (Fahrt dann nur bei langem Tastendruck, ansonsten nur ein kleiner Schritt)

  • P2 drücken, bis der Motor sich kurz bewegt
  • AUF drücken, bis der Motor sich kurz bewegt
  • AB drücken, bis der Motor sich kurz bewegt
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...

Invers

Schön, dass es nun geklappt hat. Vielen Dank.
Ich durte ja bereits testen und habe da noch einige Erkenntnisse:

Zitatset Siro1 on
set Siro1 close

fährt das Rollo komplett hoch (0%)

Das halte ich aber für eine unglückliche Lösung.
On heisst eigentlich ja immer aktiv. Hier ist es umgekehrt.
Bewnötigt man denn on und off überhaupt?
Die sind/werden doch schon im Rollo festgelegt.
On und off wären also eigentlich gar nicht erforderlich und könnten durch 100%(geschlossen, also 100 Prfozent sichtbar) und 0 (offen, also Rollo nicht sichtbar) komplett abgelöst werden, was auch die Nutzung des Modfuls erleichtern würde, hauptsächlich jedoch intuitiver macht.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Byte09

guten morgen invers,

du kannst das im attr webcmd ändern:

stop:open:close:fav:position
stop:0:100:fav:position

.....wird vom modul beides erkannt.

somit geht auch:

set Siro1 open
set Siro1 close


gruss Byte09

volschin

 Cool das es geklappt hat. Da werde ich mir gleich mal einen Signalduino beschaffen.
Intel NUC+Ubuntu 22.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 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

pc1246

Moin
Schoen das es geklappt hat.
Einige Fragen bleiben, trotz des ausfuehrlichen Posts offen:
- Woher bekomme ich die 7stellige ID, ist die auf dem Motor aufgedruckt, oder durch autocreate ersichtlich?
- Wie bringe ich dem Motor ohne Ferbedienung die End- und Favoritenpositionen bei?
- Die Beschreibung channel ist nicht mehr konsistent, da der Kanal ja jetzt beim Anlegen des Devices vergeben wird!?
- Was kann/macht down_limit_mode?

Danke und Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

Byte09



Zitat von: pc1246 am 27 September 2017, 07:17:16
Moin
Schoen das es geklappt hat.
Einige Fragen bleiben, trotz des ausfuehrlichen Posts offen:
- Woher bekomme ich die 7stellige ID, ist die auf dem Motor aufgedruckt, oder durch autocreate ersichtlich?
- Wie bringe ich dem Motor ohne Ferbedienung die End- und Favoritenpositionen bei?
- Die Beschreibung channel ist nicht mehr konsistent, da der Kanal ja jetzt beim Anlegen des Devices vergeben wird!?
- Was kann/macht down_limit_mode?

Danke und Gruss Christoph

Die id wird über das auto create festgelegt. Alternativ ( keine fb vorhanden kann eine eigene id gewählt werden und am Motor angelernt werden .

Das Modul hat eine "set prog" Funktion , diese entspricht der p2 taste der fb. Somit dann gleiches vorgehen wie mit der fb zum einstellen der endlagen

Das down limit attr greift nir , wenn das Device im Mode 1 betrieben wird. Dazu schreibe ich heute abend noch etwas .... bin auf der Arbeit.

Gruss Byte09

Gesendet von meinem SM-G900F mit Tapatalk


Dr. Smag

Sobald neue Fragen aufkommen, werde ich es in der obigen Doku erweitern bzw. korrigieren.

Zitatset Siro1 on
    set Siro1 close

    fährt das Rollo komplett hoch (0%)


Das halte ich aber für eine unglückliche Lösung.
On heisst eigentlich ja immer aktiv. Hier ist es umgekehrt.

Invers: Du hast recht. Im Normalzustand ist es auch andersherum. Es war ein Doku-Fehler. Ich habe es in der Doku korrigiert.

Zitat
- Woher bekomme ich die 7stellige ID, ist die auf dem Motor aufgedruckt, oder durch autocreate ersichtlich?
Diese bringt die FB mit. Der Motor hat einen internen Speicher, der sich seine FB's merkt. Pairst du über FHEM, kannst du Dir eine ID ausdenken.

Zitat- Wie bringe ich dem Motor ohne Ferbedienung die End- und Favoritenpositionen bei?
Genauso, wie du es mit einer "echten" FB machen würdest (Tastenkombinationen an der FB), welche in der Doku der Fa. Siro beschrieben sind. Da das Modul alle Tasten der FB mitbringt, kannst du das sozusagen emulieren. Im Modul steht das "prog" für die "P2-Taste" an der physischen FB.

- Die Beschreibung channel ist nicht mehr konsistent, da der Kanal ja jetzt beim Anlegen des Devices vergeben wird!?
- Was kann/macht down_limit_mode?

An dem channel wird noch gearbeitet, da channel 0 eine besondere Bedeutung hat (alle Rollos der ID zu fahren). Selbstverständlich kannst du durch das Ändern der ID auch jederzeit den Kanal ändern. down_limit_mode wird dir Byte09 erklären, da es aus seiner Ideenreichkiste entstanden ist. :)


pc1246: Ich habe die Doku oben entsprechend erweitert.
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...

volschin

Also ich weiß nicht, ob ich heute einen schlechten Tag hatte, aber das initiale Flashen des gestern eingetroffenen Radino hat mich echt Nerven gekostet. Ich habe nach Lesen der Seiten nicht hinbekommen, manuell die 2x Reset zu drücken und dann avrdude zu starten.

Es geht aber auch leichter:
https://nicholaskell.wordpress.com/tag/leonardo/

Wer unter Windows flashen will:

$port=new-Object System.IO.Ports.SerialPort COM6,1200,None,8,one
$port.open()
$port.close()


COM6 durch den eigenen Port ersetzen.

Radino läuft jetzt erstmal mit Siro-Anbindung geht es morgen weiter.  >:(
Intel NUC+Ubuntu 22.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 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Dr. Smag

RADINO

Zitat von: volschin am 01 Oktober 2017, 19:53:11
... aber das initiale Flashen des gestern eingetroffenen Radino hat mich echt Nerven gekostet. Ich habe nach Lesen der Seiten nicht hinbekommen, manuell die 2x Reset zu drücken und dann avrdude zu starten....

Mich hat es auch viele Nerven gekostet. Einfach mal hier fragen oder mir eine PM schicken.

Man muss wissen, dass sich der Radino unterschiedlich ausgibt. Je nachdem ob er im Betriebs-oder im Flash-Modus ist.
Drückt man die Reset-Taste 2x hintereinander, ist er nur wenige Sekunden als "usb-In-Circuit_radino_CC1101-if00" erreichbar.
Da muss man direkt den Flash-Befehl ausführen.

Im Betriebsmodus heißt er: "usb-Unknown_radino_CC1101-if00"

Das finde ich eigentlich ganz gut, da kein Programm oder Virus den einfach umprogrammieren könnte.

In Windows kann man das auch ganz gut im Gerätemanager nachvollziehen, wie er im kurzzeitigen Flashmodus einen anderen COM-Port zugewiesen bekommt.

Unter Linux kann man die ID bzw. den Namen des angeschlossenen Radino's mit folgendem Befehl ermitteln:
ls -l /dev/serial/by-id

Um über FHEM überhaupt flashen zu können, muss natürlich erstmal avrdude installiert sein:
sudo apt-get install avrdude

In FHEM legt man ein SIGNALduino an. Das könnte etwa so aussehen:

define mySIGNALduino SIGNALduino /dev/serial/by-id/usb-In-Circuit_radino_CC1101-if00@57600
attr mySIGNALduino flashCommand avrdude -v -patmega32u4 -cavr109 -P [PORT] -b [BAUDRATE] -D -Uflash:w:[HEXFILE]:i 2>[LOGFILE]
attr mySIGNALduino hardware nano328
attr mySIGNALduino hexFile /opt/fhem/FHEM/firmware/SIGNALDuino_radinoCC1101.hex


In den Attributen sind auch schon das richtige Flashkommando und die Auswahl der Firmware enthalten.

Nun im Modul "mySignalduino" flashen (vorher 2x die RST-Taste drücken).
set flash aufrufen

Anschließend nun auf den neuen Namen der DEF-Definition setzen, da er sich nach dem Flashen neu identifiziert.

DEF
/dev/serial/by-id/usb-Unknown_radino_CC1101-if00@57600


mySIGNALduino sollte im STATE nun "opened" anzeigen
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...

Dr. Smag

Das Siro-Protokoll wurde im 00_SIGNALduino.pm in der DEV 3.3.1 mit aufgenommen
https://forum.fhem.de/index.php/topic,58397.msg693023.html#msg693023

Die Timings wurden nochmals optimiert.

Danke an Ralf und Sidey.
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...

volschin

Ich habe gestern meine 4 Rollos angebunden, zwei davon laufen zufriedenstellend, zwei rucken nur, obwohl die Repeats auf 9 stehen.
Ich weiß mir da grad keinen Rat mehr. Es ist sicher keine Sache des Funkempfangs, denn der Raspi mit dem Radino stand fast daneben.

Es sind meine beiden ein paar Monate älteren Motoren.

@Dr. Smag: was heißt das mit der Timingverbesserung genau? Soll jetzt nicht mehr die im ersten Beitrag verlinkte Datei genommen werden? Löst dies evtl. Mein Problem?
Intel NUC+Ubuntu 22.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 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Byte09

hi volschin,

was heisst denn " sie rucken nur ".

kannst du bitte mal eines der betroffenen devices auf verbose5 stellen . dann einmal "on" kurz warten und "stop" befehl senden .
den log dann bitte mal posten.

dann einmal stop auf der fernbedienung drücken ( für bertroffenes device ) . auch den log bitte mal zeigen.

und ein list des bertoffenen devicec wäre gut.

gruss Byte09

PS: bleib bitte erstmal bei den dateien aus dem ersten beitrag

volschin

Rucken meint, sie machen einen Minischritt, wie der kurze Druck auf der Fernbedienung.
Ich werde das mit dem verbose mal testen.
Intel NUC+Ubuntu 22.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 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Byte09

Zitat von: volschin am 03 Oktober 2017, 09:19:45
Rucken meint, sie machen einen Minischritt, wie der kurze Druck auf der Fernbedienung.
Ich werde das mit dem verbose mal testen.

ok, muss jetzt mal nachhaken. machen sie diesen minischritt bei druck auf fernbedienung im ganz normalen betriebsmodus bei dir ( kein programmiermodus etc. ) ?  das mache meine nicht .... und würde ggf. schon einiges erklären !

byte09

volschin

Grade nochmal getestet, Du hast recht.
Die älteren machen einen Minischritt bei kurzem Druck und einen hoch und runter bei langem Druck. Ich habe Doppelrollos und das war mir bei der Positionierung der durchsichtigen und undurchsichtigen Bereiche wichtig.

Das erklärt aber das unterschiedliche Verhalten. Jetzt muss ich nochmal meine Konfigurationsanleitung suchen.  ;)
Intel NUC+Ubuntu 22.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 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)