Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
hi, im Anhang - zeile 351 fängt den Modus ab und ruft dann einen entsprechenden Befehl auf, der die passende Antwort sendet.
Du müsstest also sehen, welche Anlernanfrage gesendet wird und daraufhin die passende Anlernantwort generieren und senden.
CO_WR_LEARNMODE = 0x23 # Function: Enables or disables learn mode of Controller.
CO_RD_LEARNMODE = 0x24 # Function: Reads the learn-mode state of Controller.
Anscheinend unterstützt der TCM310 auf dem IBB Cape den 'learn mode' nicht. Beim Aufruf im interactive mode kommt: enocean: Write LearnMode returned code = WRONG PARAM
Aber leider klappt das anlernen mittels UTE bei mir aber nicht. Ich habe mal quick and dirty die _process_packet_type_radio() Funktion etwas angepasst. Laut EnOcean_Equipment_Profiles_EEP_v2.6.6 Kapitel 3.6 kommt ein Paket mit RORG D4, auf das ich mit einem weiteren Paket D4 innerhalb von 500ms antworten muss.
Ich halte es für unwahrscheinlich, dass Du zu langsam antwortest, ich glaube das sleep kannst Du Dir sparen. Du kannst ja im Log ausgeben lassen, wenn send_radio_packet gesendet wird, dann siehst Du, ob es innerhalb von 550ms gesendet wurde.
Ich hatte am Anfang Fehler in dem Zusammensetzen der Antwort, die letzte DB wird meiner Erinnerung nach an erster Position gesendet.
Ich habe auch nachgerechnet, wie die Bits in Hexadezimal umgerechnet aussehen, um die Fehler zu finden.
Deine DB 6 is 91 = 100100001 meiner Meinung nach könnte es auch binär 10011000 sein = 98 in hex (ich weiß aber auch nicht genau wie 6.3-6.0 = 1 zu interpretieren ist, ggf. probierst Du es mal mit 98)
ohne Offset hab ich schon probiert. Kein Unterschied. Das mit Choice 'D4' sollte laut Doku auch passen. Um mal die Zeit aus dem Spiel zu nehmen:
Die Antwort kommt innerhalb von ~157ms. Hab die Zeit wenn die Pakete reinkommen und wenn ich meins raus schicke mal ausgegeben. Müsste also genügend Marge sein.
Ich glaube aber ich habe bei den FHEM Jungs was gefunden - die Destination ID muss vermutlich mit rein, es darf kein Broadcast Paket sein.
Erste Markierung: das Empfangene Paket
Zweite Markierung - für mein Verständnis das gesendete Paket: choice D4 und 91 für das DB6, dann DB5-DB0 Echo. Was dann kommt muss ich jetzt mal nachschauen. Hinten kommt jedoch die ID vom ursprünglichen Sender, der ursprüngliche Sender hatte das als Broadcast ausgeführt (FFFFFFFF am Ende, 2 Bytes vor Schluss).
Ich vermelde hiermit Erfolg :-) Kann den PSC234 über UTE einlernen und mittels D2-01-09 ansteuern. Der Code ist zwar noch nicht wirklich zu gebrauchen aber proof-of-principle ist erbracht.
Der Unterschied zu der bisherigen Implementierung liegt darin das die Pakete adressiert werden müssen. Das gibt das Plugin für mein Verständnis so bisher nicht her.
Edit: Kann mir jemand sagen ob ich meinen enocean Ordner auch einzeln umhängen kann im git? Oder muss ich den kompletten Plugin Ordner von SmarthomeNG umhängen um dann auf den dev Branch zu wechseln?
Sehr schön - freut mich, dass es geklappt hat. Mein Lösung ist auch noch dirty und müsste auch noch angepasst / erweitert werden, um sie auf die Allgemeinheit loszulassen.
In Summe finde ich die Enocean Dokumentation recht verwirrend, wenn sie bei jedem Vorgang ein Beispiel hinzugefügt hätten, würde das viel Arbeit ersparen.
Ja, die Doku ist manchmal etwas schwer verständlich. Beispiele wären schön.. Ich kämpfe mal etwas mit Github um dann die Arbeit für alle nutzbar zu haben falls Interesse besteht.
Hab mal ne Funktion gemacht die einen "Learn mode" aktiviert bei dem automatisch auf die UTE Anfrage geantwortet wird...und diese gleich als Pull Request bei Github eingestellt.
Ich versuche, einen Peha Empfänger D 451 FU-EBI PF O.T. über UTE einzulernen und anzubinden. Er meldet sich über D2-01-07, was nach Enocean Spec auch Sinn macht. Das Einlernen klappt mit dem Plugin aus V1.3 leider noch nicht, Analyse ist im Gange.
In __init.__.py und eep_parser.py kann ich auch keinen Eintrag zu D2-01 finden. Könntest du bitte deinen Code und deine zugehörige Item-Definition posten.
kannst Du dazu noch etwas genauer drauf eingehen ("Und nein, null ist keine gültige Base ID Actuatoren. Diese ist nämlich für das Gateway reserviert. ")?
Wie ist das dann zu verstehen?
Beispiel:
Ich habe 3 gleiche Aktuatoren, die alle einzeln angesteuert werden sollen.
Ich habe die Aktuatoren wie folgt eingelernt:
akt1: BASE ID +0
akt2: BASE ID +1
akt3: BASE ID +2
Funktioniert alles perfekt.
Was meinst Du genau dass die BASE ID für das Gateway reserviert ist?
Ich meinte, in der Enocean Spec stand, dass ID=0 für das Gatway reserviert ist. Es entspricht dann ja der BaseID des Tx Chips. Wenn es bei Dir funktioniert, scheint BaseID +0 auch eine gültige Sendeadresse zu sein. Wir können dann gerne den Default Wert im WebIf ändern. Gerne einen Pullrequest stellen (aber einzeln )
Ich glaube da ist ein kleines Missverständnis im Spiel.
Die BASE ID muss immer mit 0 enden das stimmt, aber beim Senden eines Telegramms benötigt man die SENDER ID und die ist [BASE ID + OFFSET].
Und eine gültige SENDER ID kann auch mit der 0 enden --> offset = 0.
Hier noch mal der Link das findest Du auch den Screenshot https://www.enocean.com/en/knowledge..._is_a_base_id/
hab mir heute mal das enocean Webif angeschaut Umstellung auf default value = "0", wäre nicht das Problem.
Nur habe ich dabei festgestellt dass beim Abschicken der Lernroutine es massiv Fehler hagelt beim CSS Inspector (Firefox F12 Taste drücken).
Kann Sich das mal jemand anschauen, ich kenne mich da leider nicht aus...
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar