Fernotron Steuer-Code an RolloTube von Fa. Rademacher senden

Begonnen von klausdor, 01 Mai 2013, 13:55:17

Vorheriges Thema - Nächstes Thema

Berny

Hallo Sven,

ZitatDie Steuerung klappt i.d.R. auch zufriedenstellen, d.h. in 98 von 100 Fällen fahren die Motoren wie gewünscht. Ab und zu kommt es vor, dass man ein zweites Mal den Befehl senden muss, damit der Motor sich auch bewegt ....

Das scheint mir eine sehr niedrige Quote zu sein. Von meinen 16 Rolläden gehen 15 abends automatisch (d.h. über den Arduino gesteuert) runter. Alle 2-3 Monate bleibt mal einer oben. Ich sende das Signal allerdings 4 mal.

Das das nicht immer zu 100% funktioniert, ist eigentlich zu erwarten. Auch mit der Fernotron Fernbedienung gab es auch mal Aussetzer, und vor allem auch mit dem Sonnensensor von Fernotron. Da dieser über eine Solarzelle betrieben wird, war bei nicht allzu starker Sonneneinstrahlung wohl auch das Funksignal sehr schwach.

Ein Rolladen war davon besonders betroffen, er ging zu 30-50% nicht runter bzw. wieder hoch.

ZitatNur die Rolladen Gruppen wzB. Rollos_EG funktionieren eher bescheiden. Hier habe ich mir versuchsweise mit einem at geholfen aber wirklich besser ist die Situation nicht geworden. Von 4 Rollos im EG fahren in der Regel wenns hoch kommt 2 runter ...

Wie schon oben von Andreas erwähnt haben die Gruppen eigene Signale, diese haben aber dieselbe Struktur wie die Einzelsignale.

Ich habe aber auch schon mit außerhalb der Fernotron definierten Gruppen experimentiert.

Zusätzlich zu den Gruppen die mittels der Fernbedienung definiert wurden, habe ich noch Gruppen nach den Himmelsrichtungen der Fassaden gebildet. Diese werden zur Sonnenschutzsteuerung verwendet. Wenn die Rolläden runter sollen, wird erst ein down Signal gesendet, und dann nach einer gewissen Zeit ein stop Signal (Rolläden sollen ja nicht ganz runter). Dies nacheinander für alle Rolläden.
Wenn die Sonne weg ist sollen aber alle gleichzeitig hoch. Hier hatte ich in der ersten Version einfache alle Signale direkt nacheinander gesendet. Die Folge war, dass jedes mal bestimmte Rolläden nicht hoch gingen. Vertauschen der Reihenfolge brachte auch nichts, es waren dann lediglich andere Rolläden die nicht reagierten. Da sich die Rolläden aber zuverlässig bewegten, wenn man sie einzeln schaltete, habe ich die Signale nicht mehr direkt hintereinander aufgerufen, sondern zwischen jeweils 2 Signalen eine Pause von 500 Mikrosekunden eingelegt (weniger geht auch). Damit funktioniert es wieder zuverlässig.

Hast Du die Einzelsignale für Deine Gruppe direkt nacheinander aufgerufen ? Dann könnte dies die Ursache für die hohe "Ausfallquote" sein.

Grüße

Bernd

MasterOfDisaster

#121
Hallo Miteinander,

ich hab heute auch nen Arduino mit Funk bekommen und mich mal bisschen in das Thema eingearbeitet. (Mikrocontroller sind für mich keine neue Baustelle, da ich damit teils arbeite ;) )

Ich würde mich aber mal freuen, wenn ihr folgendes mit eurem Signal mal testet..
Unterteilt das ganze in zwei Blöcke (so wie Berny das ganze schon beschrieben hat) und nehmt den block, der eindeutig für die Steuerung zuständig ist.
Dort unterteilt das ganze wieder in 2er Blöcke

also  zum Beispiel:
5,
1,2,3,1,2,3,1,4,4,1
5,
1,2,3,1,2,3,1,2,3,2

nun subtrahiert die einzelnen Zahlen voneinander...
ich bekomme da immer

0,0,0,0,0,0,2,1,-1 oder
0,0,0,0,0,0,2,-3,1 ...

Des weiteren sind bei mir die erste 3 Ziffern vom ersten Doppel-Steuerblock identisch ;) Egal ob ich nun die Rollade
1-1, 2-1 oder aber 6-1 schalte, die ersten 3 Ziffern für die Rollade "1" einer beliebigen Gruppe ergibt immer "3,3,1". Dabei ist egal ob ich die hoch, runder oder stop als Command nehme ... faszinierend
Die 7 Ziffern dahinter ändern sich leider bei mir bei jedem drücken des Tasters jedoch sind von den 7 nachfolgenden Ziffern immer 4 identisch und die letzten unterschiedlich :D

des weiteren bekomme ich wenn ich die Zeilen aufsummiere (bei 1,2,3,1,2,3,1,4,4,1 = 1+2+3+1+2+3+1+4+4+1 immer 22,24 oder 26 wobei meistens 26 (das dürfte aber daran liegen, dass die für einen Block bestimmt ist ;) ) aber wenn man für die ersten 3 Ziffern schon eine feste Zahl bekommt für die jeweilige Rollade, und weiß, dass die letzten 3 immer mit der nachfolgenden eine bestimmte summe ergeben, dann werden die Möglichkeiten schon deutlich weniger :D)

EDIT:
Okay, also ich habe für die letzten 3 Ziffern genau 6 Möglichkeiten bei mir ;) (für den ersten der beiden Blöcke) diese 6 Möglichkeiten ziehen sich bei mir auch komplett durch. Der zweite der beiden Blöcke lässt sich somit auch berechnen ;)  in wie weit das ganze mit dem Code der Fernsteuerung zu tun hat kann ich noch nicht beurteilen ;) aber ich denke der erste block bleibt gleich und der zweite lässt sich berechnen :D


MasterOfDisaster

Und nochmal ...

Hab noch was raus gefunden ;) und zwar kann man den zweiten Block zum Teil generieren :D

Dieser besteht aus einem Steuercode (3 Zeichen) einem Gruppen-Code (4 Zeichen) und einem abschließenden Code ;)
Bei mir gibt es genau 3 Steuercodes, welche auf alle Gruppen angewendet werden. Danach kommt der Gruppencode (ich bezeichne ihn einfach mal so) und am Ende kommt ein Abschließender Code, den ich nicht näher titulieren kann. Diesen kann man durch Berechnung  des vorherigen Inhalts dargestellt werden. (wenn ich die vorherigen zusammenrechne und auf eine gerade zahl komme, dann lauten die letzten 3,1,2 .. wenn es eine ungerade zahl ist, dann lauten die letzten 3,3,1.. also füllen immer so auf, dass man auf eine gerade Anzahl kommt.) Da die ersten vorgegeben sind und die letzten nur diese beiden Zahlen annehmen können, kann man die dazwischen denke ich auch berechnen ... ich melde mich sobald ich da was neues hab

MasterOfDisaster

So Leute ... wieder Neuigkeiten von meiner Funk-Front :D

Ich habe heute morgen heraus gefunden, dass die letzten beiden Blöcke (es sind immer Doppelblöcke bei mir, bei denen 2 bis auf die letzten 3 identisch sind) auch nicht ganz unbestimmt ist ;)
Der letzte block scheint sich aus den beiden doppelblöcken davor zu berechnen.

Also ich fasse zusammen. Die ersten 3 Doppelblöcke sind der immer gleichbleibende Code der Fernbedienung. Das ist klar. Dann kommen 3 Doppelblöcke welche das Signal übertragen, auf welche ich nun nochmal eingehen möchte.

1 - Steuerblock:
Ziffern 1-3: Bestimmung des Devices innerhalb der Gruppe. Ziffern 4-7 noch unbekannt und random. Ziffern 8-10 lassen sich aus den vorherigen Daten Berechnen. So ergeben die letzten 3 Ziffern immer eine ungerade Zahl wenn die Summe der vorherigen Ziffern ungerade ist und eine Gerade Zahl wenn die Summe der vorherigen Ziffern gerade ist. Die nächste Zeile des Doppelblocks ist identisch bis auf die letzten 3 Ziffern. Die haben hier jedoch nur eine Möglichkeit. Ich denke das könnte eine art Checkcode sein (mir fällt der name gerade nicht ein...)

2 - Steuerblock:
Dieser ist komplett bestimmt. Die ersten 3 Ziffern geben die Aktion an (Rauf/Runter/Stop), die Ziffern 4-7 die Gruppe die angesprochen werden soll. Die Ziffern 8-10 sind wie im ersten Steuerblock berechenbar

3- Steuerblock:
Oh wunder oh wunder. Dieser block ist auch nicht komplett unregelmäßig (aber noch ziemlich). Dieser scheint sich aus den vorherigen Blöcken zu generieren. So sind die ersten 3 Ziffern immer gleich wenn ich eine identische Aktion bei einem identischen Gerät mache (egal aus welcher Gruppe). Einfach mal testen.. Das erste Gerät der Gruppe 1 hoch fahren und dann das erste Gerät der Gruppe 2 hoch fahren. Die ersten 3 Ziffern des letzten Steuerblocks sind identisch ;) es muss also eine Möglichkeit geben mit den beiden ersten Steuerblöcken den letzten zu Berechnen.

Jedoch denke ich, dass es nicht mit den angezeigten Zahlen funktionieren wird. Ich denke das ganze sollte mal in Binär umgewandelt werden abhängig von den Signalen. Da wir ja nen high und nen low Pegel haben sollte man daraus ja eine binäre Zahl berechnen können. Vielleicht kommt man dann weiter ;).  Und wenn die letzten Ziffern des Codes verstanden sind kann man diesen Vielleicht auch an hand der HEX zahl in der FB berechnen. Wer weiß wer weiß :D

Gruß
Patrick

Samsi

#124
Hi,

ich hatte mir vor einem Jahr auch mal die Zahlen in verschiedene Blöcke aufgeteilt. Darunter war auch der mit 312/331:

6314 3143 331
5243 3143 312
5414 3143 312

Die Berechnung 312/331 durch die Fettgendruckten Ziffern scheint bei mir auch genauso zu sein.

3143 ist bei mir die 1 Gruppe

6314 1433 331
5243 1433 312

1433 ist bei mir die 2. Gruppe


Für hoch runter Stop habe ich allerdings immer 4 gleiche Ziffern:
Hoch: 6314
Stop: 5243
Runter: 5414

Getestet habe ich insgesamt 8 Rolläden und auf alle 8 trifft das zu.


Im übrigen komm direkt nach der 331/312 noch mal genau der gleiche Block, nur mit 122/141:

6 314 3143 122
5 243 3143 141
5 414 3143 141



EDIT:

Dann wären da noch die Devices:

1. Device: 6331
2. 5431
3. 6141
4. 5241
5.6312
Alle: 6333

Das gilt sowohl für die erste und 2. Gruppe.
Wäre mal interessant, ob Ihr da dieselben werte habt oder andere (also abhängig vom Code der FB).
FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

MasterOfDisaster

Hi Samsi,

Zitat3143 ist bei mir die 1 Gruppe

6314 1433 331
5243 1433 312

1433 ist bei mir die 2. Gruppe

Sicher, dass du dich nicht mit der Gruppe 1 und der Gruppe 2 vertan hast ?
Bei mir ist die Gruppe 1: 1433 und die Gruppe 2 dann 3143. Die Gruppe 3 geht mit 1243 weiter


Zitat
Für hoch runter Stop habe ich allerdings immer 4 gleiche Ziffern:
Hoch: 6314
Stop: 5243
Runter: 5414
Bei mir sieht auch der Block identisch aus oO (ich habe nur jeweils die 5 und die 6 weggelassen. Wenn man sich die Beschaffenheit des Codes als Übertragung anschaut scheint es für mich ein "Pause" Block zu sein ;) die 5 und die 6 kommen ja auch nur genau an dieser stelle vor)


ZitatDann wären da noch die Devices:

1. Device: 6331
2. 5431
3. 6141
4. 5241
5.6312
Alle: 6333

Auch diese Daten sind mit meinen Daten identisch oO


Jetzt bleibt nur noch der letzte Block ;)
Schau doch mal bitte, ob du bei der 1 Gruppe, alle Rolläden hoch fahren auch im Letzten Code "6,1,4,3" hast :D dann wären die Codes, die die Fernbedienung sendet bei allen Geräten identisch und unterscheiden sich nur im ersten Block ;)

Ich denke wir könnten es zusammen Schaffen den Code komplett zu Zerlegen :D

Gruß
Patrick

Samsi

Ja,

die Gruppen hatte ich versehentlich vertauscht.

Gruppe 1 Alle Hoch sieht bei mir so aus:

41224316 1224122222-1

Gruppe 2 Alle Hoch:
22224126 12222222415

6143 habe ich gar nicht .


FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

MasterOfDisaster

#127
Sorry, die blöcke versteh ich nicht :D

Sind es
6 122 4122222 für 1 Alle Hoch und
6 122 2222241 für 2 Alle Hoch

Dann wären bei dir ja auch die ersten 4 Ziffern (incl. der 6) identisch und würden sich aus den beiden vorherigen Codes berechnen ;) das ganze dann abhängig von dem Code der Fernbedienung


EDIT:
Wenn jemand eine Fernbedienung hätte, die man ändern könnte vom Code her und dieser dann immer die erste Rollade hoch fahren würde, dann könnten wir vielleicht ein Muster erkennen ... so wird es schwer :D


Samsi

Ja, genau so.

Du kannst übrigens den Code der Programmierzentrale 2411 beliebig ändern (ohne das du alle Motoren neu anlernen musst) und mit dem Sniffer aufzeichnen. Wenn Du den Code zurückstellst kannst Du wieder ganz normal deine Rollos bedienen.

Der Alte code steht im Batteriefach, wird Dir beim Ändern aber auch angezeigt.

Ich hatte das mal testweise gemacht mit einfachen codes 000000 und FFFFFF, konnte daraus aber keine Erkenntnisse gewinnen.

Zum ändern des codes:  G+E Gedrückt halten und die Batterie einlegen

FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

MasterOfDisaster

Hallo Samsi,

ich habe leider die 2410. Könntest du mit bitte einen Gefallen tuen und einmal den Fernteuerungscode:

AF D0 3B eingeben (hab ich mir gerade ausgedacht)... der obere Bereich müsste wie folgt aussehen (x = undefiniert)

X,
2,2,2,X,1,4,1,X,X,X,
X,
2,2,2,X,1,4,1,X,X,X,
X,
3,3,3,X,4,1,2,X,X,X,
X,
3,3,3,X,4,1,2,X,X,X,
X,
2,4,1,X,2,4,3,X,X,X,
X,
2,4,1,X,2,4,3,X,X,X


Wenn das passt, dann raste ich aus :D ... konnte mit meiner Technik meinen Fernsteuerungscode gerade rechen ;)

Samsi

Hi,

ich habe derzeit keinen Empfänger dafür. Aber wie wäre es, wenn Du mal AAAAAA,FFFFFF,000000 und AAAFFF berechnest? Die Ergebnisse stehen ja auf Seite 2 schon.

Und wenn Du die Berechnung nennst, könnte ich auch meinen eigenen Code nachrechnen.
FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

MasterOfDisaster

Woho ... also mit den Codes von Seite 3 Klappt das ganze  :o

Samsi, du hast ne PN

homeboy

hallo zusammen,

nachdem ich nun Signale hoch runter stop aufgefangen habe, gibt es bei mir noch Probleme mein 433MHz_ArduinoDev in FHEM einzubinden.
Immer wenn ich "attr 433MHz_ArduinoDev class 433MHz_ArduinoClass" eingebe kommt als Fehlermeldung......

ECMDDevice 433MHz_ArduinoDev error: unknown class 433MHz_ArduinoClass (I/O device is 433MhzTransmitter)

Jemand eine Ahnung ??


Vielen Dank

atmelfreak

Zitat von: hoods am 10 Juli 2016, 18:34:29
Hallo zusammen,

ich nutze nun seit einigen Monaten einen signalduino (Arduino nano + Sender + Empfänger) angeschlossen mittels usb an den Pi2. Vorteil gegenüber ECMD, ich kann direkt in FHEM mittels raw Modus über sduino die Zahlenkolonnen für AUF/AB/Stop an den Rohrmotor senden. Meine 9 Rolladen Motoren lassen sich damit über FHEM steuern, egal ob über Android App oder WebIF. Die Steuerung klappt i.d.R. auch zufriedenstellen, d.h. in 98 von 100 Fällen fahren die Motoren wie gewünscht. Ab und zu kommt es vor, dass man ein zweites Mal den Befehl senden muss, damit der Motor sich auch bewegt .... tatsächliche Ursache bisher unbekannt .... aber es ist ja schliesslich fernab von jeglichem Standard und damit erstmal ok.

Über einen Dummy übergebe ich den gewünschten Steuerbefehl und der notify sendet den raw Befehl.

define Rollo_EG_Kueche.notify notify Rollo_EG_Kueche.* {\
my $Rollo=Value("Rollo_EG_Kueche");;\
if ($Rollo eq "Auf") {fhem("set sduino raw SR;;;;R=2;;;;P0=450;;;;P1=890;;;;P2=-345;;;;P3=-780;;;;P4=-3030;;;;D=412...303030;;;;")};;\
if ($Rollo eq "Zu") {fhem("set sduino raw SR;;;;R=2;;;;P0=450;;;;P1=890;;;;P2=-345;;;;P3=-780;;;;P4=-3030;;;;D=412...21203120;;;;")};;\
if ($Rollo eq "Stop") {fhem("set sduino raw SR;;;;R=2;;;;P0=450;;;;P1=890;;;;P2=-345;;;;P3=-780;;;;P4=-3030;;;;D=412...1203120;;;;")};; }


define Rollo_EG_Kueche dummy
attr Rollo_EG_Kueche userattr Etage Etage_map room_map structexclude
attr Rollo_EG_Kueche alias Rollo Küche
attr Rollo_EG_Kueche devStateIcon Auf:fts_shutter_10:Stop Stop:fts_shutter_50:Zu Zu:fts_shutter_100:Auf
attr Rollo_EG_Kueche eventMap 0:Auf 100:Zu 60:Stop
attr Rollo_EG_Kueche room 8_Rollaeden
attr Rollo_EG_Kueche webCmd Auf:Stop:Zu


define Rollos_Erdgeschoss.notify notify Rollos_Erdgeschoss.* {\
my $Rollos=Value("Rollos_Erdgeschoss");;\
if ($Rollos eq "Auf") {fhem("set Rollo_EG_Wohnzimmer_Links Auf ;; define at_tmp1 at +00:00:02 set Rollo_EG_Wohnzimmer_Rechts Auf ;; define at_tmp2 at +00:00:04 set Rollo_EG_Esszimmer Auf ;; define at_tmp3 at +00:00:06 set Rollo_EG_Kueche Auf")};;\
if ($Rollos eq "Zu") {fhem("set Rollo_EG_Wohnzimmer_Links Zu ;; define at_tmp1 at +00:00:02 set Rollo_EG_Wohnzimmer_Rechts Zu ;; define at_tmp2 at +00:00:04 set Rollo_EG_Esszimmer Zu ;; define at_tmp3 at +00:00:06 set Rollo_EG_Kueche Zu")};;\
if ($Rollos eq "Stop") {fhem("set Rollo_EG_Wohnzimmer_Links Stop ;; define at_tmp1 at +00:00:02 set Rollo_EG_Wohnzimmer_Rechts Stop ;; define at_tmp2 at +00:00:04 set Rollo_EG_Esszimmer Stop ;; define at_tmp3 at +00:00:06 set Rollo_EG_Kueche Stop")};;}


define Rollos_Erdgeschoss dummy
attr Rollos_Erdgeschoss alias Rollos EG
attr Rollos_Erdgeschoss devStateIcon Auf:fts_shutter_10:Stop Stop:fts_shutter_50:Zu Zu:fts_shutter_100:Auf
attr Rollos_Erdgeschoss room 8_Rollaeden
attr Rollos_Erdgeschoss webCmd Auf:Stop:Zu


Nur die Rolladen Gruppen wzB. Rollos_EG funktionieren eher bescheiden. Hier habe ich mir versuchsweise mit einem at geholfen aber wirklich besser ist die Situation nicht geworden. Von 4 Rollos im EG fahren in der Regel wenns hoch kommt 2 runter ...

Wie zuverlässig läuft die Integration des Fernotron Systems bei euch, welches Setup nutzt ihr?
Und hat jemand evt. einen Tipp zu meinem Problem mit den Gruppen?

Viele Grüße,
Sven
Hallo Sven,

ich bin gerade über Deinen Beitrag hier gestolpert. Ich möchte auch gerne meine  Fernotron Rollläden über SIGNALduino steuern. Leider bekomme ich es nicht ans Laufen. Was ich bisher versucht habe:

  • Mit dem Arduino Nano und dem Sketch Fernotron2411RFSniffer.ino die Codes mitgeschnitten
  • Das Senden der Codes über Fernotron.ino funktioniert.
  • Gemäß Wiki das Gerät sduino vom Typ SINALduino hinzugefügt und die neueste Firmware (V 3.3.1-dev) installiert.
  • Codes mit ferno2sign.py umgewandelt
Test mit set sduino raw SR;;R=2;;P0=450;;P1=890;;P2=-345;;P3=-780;;P4=-3030;;D=412121212121212021203021212121212121203031204121203120312031212020412120312031203120312040303030303030303121204030303030303030303030412120303121203031212041212030312120303030304031203120312121212030403120312031212120312041212031203031203121204121203120303120303030;;

Leider keine Reaktion...  Hast Du eine Idee, was ich hier falsch mache?

Viele Grüße
Frank

klausdor

Hallo zusammen,

bin im April 2017  auch mit dabei. Teile liegen schon alle parat. Aber ich habe noch null Ahnung...

Allerdings - als Ersteller dieses Threads - möchte ich mal meinen Dank an alle Kundigen hier aussprechen!

Die Analyse hat nach 2 Jahren derartig gut an Fahrt aufgenommen und das Ergebnis ist wirklich klasse.

Wenn ich es dann auch bei mir geschafft habe, schreib ich mal eine Kurzanleitung zusammen.



Grüße
Klaus
-------------------------------
Raspi2 mit V6.1; HMLAN; CUL868; ESA1000WZ-LED am Q3BA; FHT80TF-2; HM-CC-RT-DN und andere HM-Komponenten; 3x DECT200; xTrend9200_enigma2; Z-Wave als Versuch mit Einbaukomponenten hinter dem Schalter...