TCM320 als Gerät programmieren

Begonnen von gurkc006, 30 Juli 2019, 13:33:06

Vorheriges Thema - Nächstes Thema

gurkc006

Hallo zusammen,
ich habe einige Fragen zum Thema EnOcean, EEP, subType und wie ich eigene Profile/Devices definieren kann. Es geht um folgendes:
Ich würde gerne für meine Gartenbewässeung und -beleuchtung ein eigenes Steuergerät bauen (mit einem Atmel AVR als CPU). Ich möchte dieses Gerät über EnOcean steuern können. Daher habe ich mir ein TCM320 Modul besorgt und schließe das mit seiner seriellen Schnittstelle an den Atmel AVR an (im Moment noch zum Testen einfach an einen PC mit Terminalprogramm). An das TCM320 kann ich nun verschieden andere EnOcean-Geräte anlernen, z.B. hat das mit einem einfachen Schalter wunderbar funktioniert. Ich bekomme bei jeder Betätigung des Schalters (und Loslassen natürlich auch) auf der seriellen Schnittstelle ein Datenpaket, welches ich dann auswerten kann (ESP2). Zusätzlich habe ich es geschafft, meine FHEM-Installation (Raspberry, FHEM, TCM300-USB-Stick) an der TCM320 anzulernen. Ich habe dazu als Test ein Device in FHEM manuell angelegt (EEP A5-3F-7F). subType habe ich auf "manufProfile" gesetzt, dann hatte ich oben die Möglichkeit ein "teach" zu senden. TCM320 in Lernmodus, Teach vom FHEM-Device gesendet, hat funktioniert. Dann habe ich den subType des Devices auf "raw" umgestellt und konnte nun 4BS-Nachichten an das TCM320 senden. Dort bekam ich dann die Daten auf der Schnittstelle geliefert. Was ich heute Abend noch probieren wollte, ist vom TCM320 eine Nachricht an FHEM zu senden.
Mein eigentliches Problem ist nun, dass ich ja quasi ein Nicht-Standard-Gerät habe, welches auch nie für die Allgemeinheit interessant werden wird. Daher meine Frage: Wie kann ich mir in meiner FHEM-Installation ein EEP/subType (?!?) anlegen, welches ich dann benutzen kann, um über dann vorgegebene set- und get-Befehle meinen Garten zu steuern. Die Befehle, die ich gerne umsetzen würde wären sowas in der Art:
- Licht an/aus/dimmen 0-100%
- Ventile (0-15) an/aus
Wie könnte ich das am besten lösen, so dass bei einem Update von FHEM nicht meine Änderungen/Erweiterungen wieder überschrieben werden?
Viele Grüße
Christian

klaus.schauer

#1
Es gibt dutzende von EEPs, die in Fhem unterstützt werden, Schalten und dimmen ist da die leichteste Disziplin. So sollte es doch wohl möglich sein, etwas passendes zu finden und dann "normgerechte" Telegramme auch in der Eigenentwicklung zu verwenden.Falls nun wider aller Erwartung kein EEP passen sollte, ginge immer noch ein Generic Profile.

gurkc006

Hallo Klaus,
danke für die Antwort. Ich habe mir auf deinen Rat mal das PDF mit den EEPs angeschaut (https://www.enocean-alliance.org/wp-content/uploads/2018/02/EEP268_R3_Feb022018_public.pdf) und bin tatsächlich fündig geworden:
EEP 2D-30-06: Damit könnte ich bis zu 12 Ventile steuern. Das wäre perfekt. Ich habe nun in FHEM mal ein Testdevice angelegt und ihm die EEP D2-30-06 zugeordnet. Ich glaube aber, dass ich einen entsprechenden subType benötige, damit das dann auch mit Leben gefüllt wird, oder? Kann ich da selber was programmieren? Würde da gerne helfen, das umzusetzen, weiß aber leider nicht, wie!
lg
Christian

klaus.schauer

#3
D2-30-xx wird in Fhem nicht unterstützt. Das Profil sehr speziell auf Kopplung zu Wärmezählern und Gateways ausgelegt. Ich plane nicht, dies zu integrieren.

Vielleicht mal mit D2-01-xx versuchen, subType = actuator.01. Dort lassen sich 30 Kanäle direkt ansprechen. Dimmen geht auch.

Ein typisches Device sieht so aus:

DEF        xxxxxxxx
   FUUID      ?
   IODev      TCM_0
   NAME       Steckdose_1
   NR         587
   NTFY_ORDER 50-Steckdose_1
   STATE      off
   TYPE       EnOcean
   READINGS:
     2019-01-26 08:33:35   channel1        off
     2016-06-11 08:28:46   dayNight        day
     2016-06-11 08:28:46   defaultState    off
     2019-01-26 08:33:35   dim             0
     2019-01-26 08:33:35   dim1            0
     2019-01-26 08:33:35   error1          not_supported
     2016-06-21 20:36:59   getParam        2
     2016-06-11 08:28:46   localControl    enabled
     2019-01-26 08:33:35   localControl1   enabled
     2019-01-26 08:33:35   overCurrentOff1 ready
     2016-06-11 08:28:46   overCurrentShutdown off
     2016-06-11 08:28:46   overCurrentShutdownReset not_active
     2019-01-26 08:33:35   powerFailure1   disabled
     2019-01-26 08:33:35   powerFailureDetection1 not_detected
     2016-06-11 08:28:46   rampTime1       0
     2016-06-11 08:28:46   rampTime2       0
     2016-06-11 08:28:46   rampTime3       0
     2019-01-26 08:33:35   state           off
     2016-06-10 06:32:15   teach           UTE teach-in accepted EEP D2-01-0A Manufacturer: ID-RF
     2016-06-11 08:28:46   teachInDev      disabled
Attributes:
   IODev      TCM_0
   comMode    biDir
   defaultChannel 1
   devChannel 1
   eep        D2-01-0A
   icon       message_socket
   manufID    046
   remoteManagement manager
   room       wald1
   subDef     yyyyyyyy
   subType    actuator.01
   teachMethod UTE


Das Device wird per UTE automatisch in Fhem angelernt, sobald der Aktor ein entsprechendes UTE teach-in sendet. Wie das bei deiner Lösung umgesetzt werden soll, kann ich nicht beurteilen. Falls UTE teach-in nicht ohne weiteres umsetzbar ist, würde ich es mit einem 4BS-Profil versuchen. Die lassen sich unidirektional teilweise auch manuell anlegen.

gurkc006

Ok, das sieht interessant aus. Ich werde mal probieren, von meinem TCM320 so ein UTE-TeachIn-Request zu senden und schau mal, ob dann in FHEM was passiert, wenn ich mein IODev vorher in den learnMode versetze. Bin gespannt. Vielen Dank aber schon mal für den Hinweis mit dem EEP D02-01-xx.
lg