Einlernen Becker Rolladen N01 (RemoteManagement?) [gelöst]

Begonnen von Qowy, 28 November 2020, 15:35:25

Vorheriges Thema - Nächstes Thema

Qowy

Hi,
ich habe (mehr oder weniger zu Testzwecken für die Zunkunft) einen Becker R8-17-N01.

Ich kann ihn in Betrieb nehmen und mit einem Normalen Taster (F6-03-01 bzw F6-02-01) ohne Probleme in Betrieb nehmen.
Tasteremulation über FHEM würde also vermutlich auch Ohne Probleme gehen.

Laut Bedienungsanleitung (z.B. https://docplayer.org/194276570-P-r-modell-n01-montage-und-betriebsanleitung-rollladenantrieb-mit-integriertem-funktransceiver.html Seite 21) wird auch das Profil D2-05-02 unterstützt.

Problem 1:
Ich höre überhaupt nichts vom Motor als Rückmeldung (es kann natürlich sein dass er garnicht bidirektional ist, weiß jemand ob D2-05-02 Rückmeldungen vorsieht?) Edit: "Reply Position and Angle" ist eigentlich vorgesehen, also entweder nicht implementiert oder folgendes:
Könnte auch sein, dass rückmeldungen nur an ein gekoppeltes gatway gesendet werden.

Problem 2:
Ich habe keine Ahnung wie ich FHEM als D2-05-02 anlernen soll.
"set xxx teach" scheint bei subtype blindsCtrl.00 nicht zu funktionieren?

Alternativ dachte ich, dass ich per remote Management und remoteLinkTable die absende Adresse von FHEM einlerne, hier bekomme ich aber einen Fehler "TCM FGW14_USB Packet Type not supported"
Kann der Ektako FTD14 das nicht weil es ESP3 benötigt? Brauche ich also einen USB300?

Schonmal vielen Dank!

klaus.schauer

Zitat von: Qowy am 28 November 2020, 15:35:25
Kann der Ektako FTD14 das nicht weil es ESP3 benötigt? Brauche ich also einen USB300?
Genau, es geht nur mit einem ESP3-Transceiver, wie USB300.

Qowy

#2
Also ich habe nochmal etwas recherchiert.
D2-05-02 verwendet laut EEP UTE. Es scheint aber so, wenn ich in den code schaue, dass UTE für blindsCtrl.00 garnicht implementiert ist, kann das sein?
Ich werde jetzt mal den Code von valveCtrl.00 übernehmen und anpassen und schauen, ob ich dadurch weiter komme.

Was mit hierbei noch nicht ganz klar ist was jetzt der Unterschie ziwschen $techInReq "in" und "out" ist (zumal es auch noch "inout" gibt in der "EnOcean_sndUTE") dass der andere eine Antwort schicken soll, sollte doch aus responseRequest klar sein?
Oder gibt es Geräte die ich darüber auffordere sich bei mir einzulernen, aber ich mich nicht bei ihnen?
EDIT ich ziehe diese Teil-Frage zurück, out in ist keine richtungsangabe sondern ein Set / unset  :D

Qowy

OK nächster Schritt teachin "erfolgreich" implementiert.

Jetzt bekomme ich wieder "TCM FGW14_USB unknown RORG mapping for D4"
Soweit verständlich schließlich sagt 00_TCM.pm auch :

# translate the RORG to ORG
      my %rorgmap = ("F6"=>"05",
                     "D5"=>"06",
                     "A5"=>"07",
                    );
      if($rorgmap{$rorg}) {
        $rorg = $rorgmap{$rorg};
      } else {
        Log3 $name, 1, "TCM $name unknown RORG mapping for $rorg";
      }


Ich finde aber nirgends dass das mit ESP2 nicht gehen sollte?
Alle dokumentation die ich finde sagt immer die RORG ist für ESP2 und ESP3 D4 das würde man doch nicht schreiben, wenn es mit ESP2 nicht gehen würde.

Irgendwelche Ideen?

klaus.schauer

Ganz einfach ESP3 Transceiver einsetzen und die Forschungsaktivitäten werden überflüssig.

Qowy

Naja zumindest die Implementierung für  blindsCtrl.00 brauchts trotzdem ;)

Aber ja ein USB300 ist auch schon auf dem weg.
Gibts eine irgendetwas zu beachten wenn man 2 TCM hat. Welches Gerät welches verwendet uns so?

klaus.schauer

Zitat von: Qowy am 29 November 2020, 16:46:06
Naja zumindest die Implementierung für  blindsCtrl.00 brauchts trotzdem ;)
Wieso erschließt sich mir nicht, hab es schließlich selbst gestickt (blindsCtrl.00 ist Teilmenge von blindsCtrl.01):

Internals:
   DEF        ?
   FUUID      ?
   IODev      TCM_0
   LASTInputDev TCM_0
   MSGCNT     1758
   NAME       Rollo_Terrasse
   NR         827
   NTFY_ORDER 50-Rollo_Terrasse
   STATE      closed
   TCM_0_DestinationID FFFFFFFF
   TCM_0_MSGCNT 1758
   TCM_0_PacketType 1
   TCM_0_RSSI -74
   TCM_0_ReceivingQuality excellent
   TCM_0_RepeatingCounter 1
   TCM_0_SubTelNum 6
   TCM_0_TIME 2020-11-29 17:03:08
   TYPE       EnOcean
   .attraggr:
   .attrminint:
   READINGS:
     2020-11-29 17:03:08   anglePos        0
     2020-11-29 17:03:08   anglePos01      0
     2020-11-09 14:06:48   anglePos02      unknown
     2020-09-22 12:44:14   anglePos03      0
     2020-09-22 12:43:48   anglePos04      0
     2020-11-29 17:03:08   block01         unlock
     2020-11-09 14:06:48   block02         unlock
     2020-09-22 12:44:14   block03         unlock
     2020-09-22 12:43:48   block04         unlock
     2020-11-29 17:03:08   endPosition01   closed
     2020-11-09 14:06:48   endPosition02   unknown
     2020-09-22 12:44:14   endPosition03   open
     2020-09-22 12:43:48   endPosition04   open
     2020-11-29 17:03:08   position        100
     2020-11-29 17:03:08   position01      100
     2020-11-09 14:06:48   position02      unknown
     2020-09-22 12:44:14   position03      0
     2020-09-22 12:43:48   position04      0
     2020-11-29 17:03:08   state           closed
     2020-04-14 19:33:20   teach           UTE teach-in accepted EEP D2-05-01 Manufacturer: AWAG Elektrotechnik AG (Omnio)
   helper:
Attributes:
   IODev      TCM_0
   alarmAction opens:opens:opens:opens
   angleTime  0:0:0:0
   comMode    biDir
   devChannel 255
   devStateIcon open:fts_shutter_10 closed:fts_shutter_100
   eep        D2-05-01
   icon       fts_shutter
   manufID    005
   room       wald1
   shutTime   20:25:30:35
   subDef     ?
   subType    blindsCtrl.01
   teachMethod UTE
   webCmd     opens:stop:closes:position


Qowy

Mein problem war das "teachIn" ein unbekannter Befehl war.
Taucht der auf, wenn man teachMethod manuell auf "UTE" stellt?

Ich konnte auch in der 10_EnOcean nichts finden, was "EnOcean_sndUTE" aufruft, außer wenn es manuell als Befehl bei einem subType hinzuprogrammiert wurde.

klaus.schauer

Eltako-Anwender - insbesondere mit RS485-Bus Anschaltung - sind es gewohnt, nahezu alle Devices manuell anzulegen. Geräte anderer Hersteller verwenden dagegen die automatischen Verfahren UTE, 4BS-TeachIn, SmartAck, SecureTeachIn usw.

Bei diesen Verfahren legen die Fhem TeachIn-Routinen alle notwendigen Attribute beim Anlernen an. Da ist ein manueller Eingriff nicht notwendig. Im Gegenteil es funktioniert nicht manuell. Die Anlernprozeduren sind im EnOcean- und TCM-Modul vorhanden, aber sicherlich nur nachvollziehbar, wenn man sich vorher die EnOcean-Spezifikationen dazu verinnerlicht. Die Verfahrenslogik ist teilweise trickreich, da oft mehrere EnOcean-Protokolle ineinander greifen. Deren Beschreibung ist zudem oft über viele Spezifikationsdokumente verteilt.

Qowy

Ach das einlernen von Sensoren läuft eigentlich auch schön automatisch.
Funkaktoren hatte ich bis jetzt nicht viele.

Wenn ich es richtig verstehe, kann es sein dass mein Motor RORG D4 Lern Telegramme verschickt, ich sie aber nie zu Gesicht bekomme weil das ESP2 Interface nichts mit ihnen anfangen kann?
Ich konnte aus der Enocean EEP nicht wirklich herauslesen ob beim UTE der Aktor oder der "Master" das erste UTE Telegramm senden muss. Letzteres scheint in fhem im Moment nicht zu gehen, für Ersteres wüsste ich nicht wie ich es am Aktor auslöse.

Ich stelle jetzt also nochmal konkret die Frage die ich seit 3 Beiträgen stelle.

Ist es Absicht dass der Befehl"set xxxx teachIn" für blindsControl.00 unbekannter Befehl zurück liefert (Weil das UTE eigentlich vom Aktor kommen sollte)? Das ist ja erst mal völlig unabhängig vom verwendeten TCM

Bzw. könnten wir allgemein mal klarstellen, wie der Prozess ein Gerät mit EEP D2-05-02 Einzulernen im Optimalfall ausschauen sollte. (Bzw, wie es aus Erfahrung gemacht wurde; Insbesondere wenn das Gerät keinen "Lern Telegramm Senden" Knopf hat)

Danke :)

Ansonsten warte ich für weitere Versuche dann mal auf meinen USB300

klaus.schauer

Zitat von: Qowy am 30 November 2020, 08:47:59
Wenn ich es richtig verstehe, kann es sein dass mein Motor RORG D4 Lern Telegramme verschickt, ich sie aber nie zu Gesicht bekomme weil das ESP2 Interface nichts mit ihnen anfangen kann?
ja
Zitat
Ich konnte aus der Enocean EEP nicht wirklich herauslesen ob beim UTE der Aktor oder der "Master" das erste UTE Telegramm senden muss. Letzteres scheint in fhem im Moment nicht zu gehen, für Ersteres wüsste ich nicht wie ich es am Aktor auslöse.
Der Aktor sendet das UTE-TeachIn. Ob das der Becker Aktor macht, kann ich nicht sagen. Hat sich mir persönlich noch nicht vorgestellt! Die anderen die ich kenne, sind ganz brav.
Zitat
Ich stelle jetzt also nochmal konkret die Frage die ich seit 3 Beiträgen stelle.

Ist es Absicht dass der Befehl"set xxxx teachIn" für blindsControl.00 unbekannter Befehl zurück liefert (Weil das UTE eigentlich vom Aktor kommen sollte)? Das ist ja erst mal völlig unabhängig vom verwendeten TCM

Bzw. könnten wir allgemein mal klarstellen, wie der Prozess ein Gerät mit EEP D2-05-02 Einzulernen im Optimalfall ausschauen sollte. (Bzw, wie es aus Erfahrung gemacht wurde; Insbesondere wenn das Gerät keinen "Lern Telegramm Senden" Knopf hat)
Wer sollte hier verpflichtet sein, zu allem und jedem zu antworten? Irrglauben, der sich festgesetzt hat, ist schwer zu widerlegen. Immer schön ruhig bleiben.

UTE TeachIn-Befehle für das Profil blindsControl.00 sind nicht vorhanden, da sie (bisher) nicht benötigt werden. Also gibt es eine Fehlermeldung, wenn man es trotzdem versucht. Ist doch irgendwie logisch oder?

Also am TCM300 Transceiver set <device> teach <t/s> aktivieren und am Aktor das Senden einen teachIn-Telegramms veranlassen. Falls es keinen TeachIn-Knopf gibt, gibt es doch bestimmt eine Anleitung oder eine Becker-Hotline.

Für tiefergehende Beschreibungen zu den EnOcean-Protokollen gibt es eine Vielzahl von Dokumentationen von EnOcean selbst. Da wird man fündig. Ist aber für einen Einsteiger recht mühsam.

Qowy

#11
Ich bin ganz ruhig keine Sorge :), und auch sehr dankbar für jede Hilfe, ich wollte nur nochmal verdeutlichen was eigentlich meine Kernfrage war, damit wir uns nicht irgendwann in 10 Diskussionen verheddern.
Und ja meine Fragen sind häufig mal etwas technischer, aber das liegt eben auch daran, dass ich regelmäßig die ganzen EnOcen Dokumentationen durchschaue die Pakete mitschneide/decodiere um zu schauen was passiert etc.
Meine Entsprechen Erkenntnisse teile ich ja auch immer gerne in Form von Code wenn ich mal wieder ein Neues EnOcean/Eltako Gerät zum Laufen gebracht habe.
Wenn ich es einfach gewollt hätte, hätte ich einfach der Rohrmotor von Eltako genommen, der genauso wie ihre Aktoren funktioniert, aber ich wollte eben mal Testen wie es um die Kompatibilität der neuen Becker N01 Motoren bestellt ist. Für mich und für andere.

ZitatDer Aktor sendet das UTE-TeachIn. Ob das der Becker Aktor macht, kann ich nicht sagen. Hat sich mir persönlich noch nicht vorgestellt! Die anderen die ich kenne, sind ganz brav.
So ein ungezogener Aktor aber auch ;). Dann warten wir mal ab ob meiner sich mit einem TechIn Meldet, sobald ich den entsprechenden TCM habe.

ZitatUTE TeachIn-Befehle für das Profil blindsControl.00 sind nicht vorhanden, da sie (bisher) nicht benötigt werden. Also gibt es eine Fehlermeldung, wenn man es trotzdem versucht. Ist doch irgendwie logisch oder?

Natürlich ist das logisch, ich schließe für mich nur immer nicht aus, dass ich unfähig bin bei den <14000 Zeilen Code das richtige zu finden.

Edit: Der Becker Kundenservice war etwas unhilfreich. Man könne nichts zu den Lerntelegrammen sagen, man hat die Kompatibilität auf das Opus System von Jäger-Direkt abgestimmt ich solle doch bei denen als Gateway Hersteller fragen. Ich sehe hier wird die EnOcean Kompatibilität groß geschrieben :D


Qowy

#12
So Rückmeldung für alle Interresierten und Google Finder

Es geht um einen Becker R8-17-N01 bzw Allgemein die Serie N01 von Becker-Antriebe GmbH welcher die EEP D2-05-02 unterstützt.
Es wird ein ESP3 TCM benötigt in meinem Fall habe ich ein USB300 an einem RPi3.

Soweit ich es sehen kann, sendet der Antrieb nie ein UTE Telegramm obwohl das bei D2-05-02 eigentlich vorgesehen ist. Weder beim ersten einschalten, noch beim Manuellen versetzen in den Lern Modus wird eine entsprechendes RORG D4 Telegramm gesendet.
Auf ein von fhem gesendetes D4 UTE Telegramm (nach hinzufügen des Befehls techIn zu blindsCtrl.XX) kommt ebenfalls keine Antwort.
RemoteManagment sagt auch, dass remoteTeach nicht unterstützt wird.
Das einzige was gesendet wird ist ein D1 als Manufacturer communication mit der Manuif ID 06C und als Nutzdaten entweder 0x500 oder 0x501.

Es werden aber immer auch ohne irgendwelches Techin D2(-05-02) CMD 0x4 Status Telegramme gesendet.

Ich habe den Motor jetzt über Remote Management eingelernt.


define Rollo_Name Enocean IDIDIDID D2-05-02
attr Rollo_Name remoteManagement manager
attr Rollo_Name remoteEEP D2-05-02
attr Rollo_Name comMode biDir
attr Rollo_Name defaultChannel 1
attr Rollo_Name devChannel 0
attr Rollo_Name remoteID IDIDIDID
attr Rollo_Name remoteManufID 06C
attr Rollo_Name remoteCode CodeAusDerAnleitung
attr Rollo_Name subDef eineFreieID

set Rollo_Name remoteUnlock
attr Rollo_Name remoteCode NeuerCode
set Rollo_Name remoteSetCode #Nicht sicher ob das hier notwendig ist, die Anleitung weißt aber explizit darauf hin dass die Funktionen sonst eingeschränkt sind.

set Rollo_Name remoteLinkTable in 00 EureSubDef D2-05-02 00
set Rollo_Name remoteLinkTable out 00 IdDesUSB300 D2-05-02 00 #vermutlich nicht benötigt, da enocean ja broadcast basiert ist

set set Rollo_Name remoteApplyChanges linkTable #ging auch vorher, aber kann eigentlich nicht schaden


Damit sollte dann eigentlich alles gehen. Es kann sein das alle remote commands nur 5Minuten nach Spannungsversorgung funktionieren.


Ich möchte noch darauf hinweisen, dass in der commandref immer von "set <Device> remote management" statt "set <Device> remoteManagement manager" die Rede ist. Das sollte man mal anpassen.

klaus.schauer

#13
- Schade dass es immer mehr Anbieter gibt, die die EnOcean-Standardverfahren nicht verwenden. Da baut sich dann jeder seine eigene kleine Welt.
- Schön dass jemand nun die Remote Management-Funktionen nutzbringend eingesetzt hat. Bisher hatte ich dazu keine Erfolgsberichte, Respekt.
- Die commandref passe ich natürlich an, aber wo genau? Ich finde die fehlerhafte Stelle auf Anhieb nicht.

Qowy

- Ich bin da noch nicht mal so weit Absicht zu unterstellen, vielleicht ist es einfach wirklich nur nicht dokumentiert und hat ganz komische Bedingungen fürs Teach in. Wenn man sich offensichtlich die Mühe gemacht hat ReMan und ReCom zu implementieren kann es ja eigentlich am UTE Teach in nicht gescheitert sein. Man wirbt ja auch mit der Enocean Kompatibilität und druckt die EEP groß im Katalog ab (Nicht wie bei manch anderen Herstellern die nicht mal wirklich verraten was sie da übertragen)

- Auf jeden Fall vielen Dank für die ReMan Implementierung, sonst wäre es wohl nur mit Dolphin Advanced gegangen. Als nächstes werde ich mit mal die Repeaterfunktion des Motors testen und schauen ob ich vielleicht ein paar Geräte über die ReMan Repeater Filter ausschließen kann. Dann wäre der Motor meinem Eltako repeater schonmal überlegen, und allein von der Position her super als Brücke zwischen Haus und Außenbereich/Garage

- Relativ am anfang unter der Überschrift Remote Management:

Zitat

The remote manager function must be activated for the desired device by


    attr <remote device name> remote manager

ZitatTo administrate a remote device whose Remote ID must be known. The Remote ID can be determined as follows:


    attr <name> remote manager
    power-up the remote device