Enocean Steuerung mit Eltako, Schwabenhaus

Hallo liebes Forum,

ähnlich wie HeikoR in seinem Thread Enocean Steuerung mit Eltako stehe ich vor der Herausforderung, all das in Home Assistant einzufügen. Da ich gefühlt weniger Ahnung habe als HeikoR möchte ich hier nach Unterstützung fragen - gerne auch gegen einen Obulus für die wahrscheinlich notwendige Intensiv-Betreuung/-Beratung.
Primär geht es mir erstmal um die Integration der Rollos. Diese sind via FSB14 geschaltet - siehe Screenshot. Die Steuerung erfolgt über GIRA Enocean Taster. Von meinem Hausbauer habe ich damals eine Datei für PCT14 erhalten, über die ich die meisten Informationen soweit vorliegen habe.


Am Raspberry ist ein USB300 mit der ID 05A1 ECDA angeschlossen.

MQTT Mosquito und das Addon EnOcean MQTT (dev), sind installiert. Ob richtig konfiguriert kann ich nur hoffen.

Wenn ich mir nun den Beitrag von HeikoR durchlese, bekomme ich bei dem letzten Beitrag nur Fragezeichen im Kopf (Custom Components?! Shutter Cards?! dummy script?! virt_ar_unified script?!)

Ich halte mich für IT-affin genug, dass ich es nach einem gemeinsamen Versuch/Vorstellung selber hinkriege, die anderen Rollos zu integrieren.

Würde sich jemand meiner erbarmen und mich hierbei unterstützen?

Viele Grüße,
Hubi

Bist du irre, du bekommst hier jede Unterstützung für lau, du kannst wenn wir dir helfen können gerne was an WWF oder sonst wen spenden wenn du am Ende Luftsprünge machst und dir versehentlich dabei das Geld aus den Taschen fällt :smile: Wir sind hier ja nicht bei MyHammer …

Zum Prinzip:
Taster → FAM14 → FSB14 → Rolladen
Was du nun machen kannst ist folgendes:
a) du kannst dir mit dem EnOcean Addon den Taster in HA anzeigen lassen was da gedrückt wird und was sich in Folge tut.
b) du kannst dir einen virtuellen Taster bauen der dann parallel zum Taster mit dem FAM kommuniziert

Machen wirs mal einfach:

a) einen vorhandenen Taster in HA integrieren (dann muss folgendes in die mapping Datei vom Addon

[gira_4way_1]
address         = 0xFEE50F9C
rorg            = 0xF6
func            = 0x02
type            = 0x01

wobei in der ersten Zeile der Name steht wie du den Taster nennen willst. Also. z.B. “esszimmer”
Zweite Zeile die Adresse des Tasters. Du baust ist aus (dumm) oder du nimmst dein Smartphone, installierst dort das EnOcean Tool (gibts auf der EnOcean Website), schaltest NFC ein und hälst dein Phone vor den verbauten Taster. Fertig. Dann nimmst du die letzten 8 mit nem “0x” davor und bist mit der 2ten Zeile direkt fertig.
Die restlichen 3 Zeilen kannst du so lassen, im schlimmsten Fall hat dir dein Häuslebauer keine Doppeltasterwippen verbaut die Elektronik dahinter ist immer die gleiche.

b) einen virtuellen Taster erstellen mit dem du was aus HA heraus bedienen kannst

[virt_ar_esszimmer]
address         = 0xFFFFFFFF
rorg            = 0xF6
func            = 0x02
type            = 0x01
sender          = 0xFFB62B01
virtual         = 1

Erste Zeile der Name den du dir wünschst
Zweite Zeile ist immer 0xFFFFFFFF denn es ist ja kein “physikaler Taster”
3,4,5 analog oben
Sender. Das ist die Nummer deines EnOcean Sticks + x … wenn du es dir einfach machen willst einfach immer eins hochzählen also keinesfalls mehrere Einträge mit identischer Nummer.
und die letzte Zeile “virtual = 1” nicht vergessen

c) Diesen virtuellen Taster muss deine EnOcean Steuerung natürlich kennen. Dazu brauchst du die PCT14 Software von Eltako und musst deine Installation auslesen (über USB am FAM14) und dann mit der Software nach virtuellen Tastendrücken scannen.
Und dann musst du in Home Asssitant halt einmal den virtuellen Taster auslösen.
Einstellungen>Geräte und Dienste>MQTT>
dort den virtuellen Taster auswählen und im Selector dann eine Tastenoption auswählen.
Der EnOcean Stick sollte kurz blinken weil er was gesendet hat und in der PCT14 Software sollte ein Tastendruck von einem bis dato unbekannten Taster erkannt worden sein.
Den kannst du dort ebenfalls mit einem Namen versehen und ihn dann per drag’n’drop einem FSB14 also einem Rolladen zuordnen.
FAM14 und FSBs updaten mit der PCT Software, PCT Software schliessen. Fertig.

Der Rest also das script und die Buttons sind am Ende HA interne Kosmetik. Kann man so machen wie ich es gemacht habe mit shutter card und custom:button-card, muss man aber nicht.

Frag weiter wenn dir das nicht hilft, ich würde dir empfehlen Schritt für Schritt zu machen.
Also erstmal Punkt a) … einen vorhandenen physikalischen Taster so einbinden das du in HA visualisieren kann ob er gedrückt wird und falls ja welcher Tastendruck es war.

Halo Justone,

vielen vielen Dank für diese Hilfe - Freut mich gerade wirklich sehr! Wenn die Sache hier durch ist, werde ich jemand anderes eine Freude machen.

Tatsächlich habe ich schon die ersten Rückfragen zu deiner Antwort:

  • Die Mapping Datei vom Addon ist wo zu finden? Ich konnte in der Wiki vom Addon nichts dazu finden. Wenn sie selber anzulegen ist - wie muss sie aussehen? (Dateiformat?)

  • Auf meinem USB300 ist eine ID angegeben, allerdings endet sie nicht mit einer Zahl, sondern einem Buchstaben. Bedeutet das, ich muss den Buchstaben entsprechend erhöhen? In diversen Beispielen sehe ich immer nur Zahlen.

  • Den virtuellen Taster aus b) lege ich in welcher Datei an? In enoceanmqtt.devices?

Huch verdampt ich hatte “mapping” geschrieben, meinte aber natürlich “devices”. Die mapping sollte dort liegen wo auch die devices Datei liegt. Falls du gar keine mapping Datei hast wäre das fatal. Die installiert das AddOn aber eigentlich mit.
Wo die liegt sollte ja im addOn Konfiguration stehen, also wo sie liegen müsste.
Default ist glaube ich immer noch der /config/ Ordner wenn MAK das nicht geändert hat.
ich selbst hab mir den Krams in einen “e2m” Unterordner gepackt damit der /config/ nicht komplett zugemüllt wird und dort halt log, mapping und devices reingelegt.
Die neuste findest du meistens unter HA_enoceanmqtt/enoceanmqtt/overlays/ auf github vom Entwickler.

Da kannst du ja mal reinschauen, dort sind alle bisher unterstützten Devices, also die EEP telegramme hinterlegt. Am besten natürlich mit nem Editor der es dir erlaubt die defintionen zu und auszuklappen denn da kannst du dan auch gut prüfen was welche Art von Device am Ende in HA liefert.
Auch gut nachzulesen unter EEP-Viewer

Zur ID ist ne HEX Zahl, also einfach hochzählen. Du kannst auch Lücken lassen, also mit der ID vom Stick 0x05A1ECDA kannst du dann auch für deine virtuellen Geräte mit 0x05A1ECE0 oder E1 beginnen. ist am Ende für’s Hirn einfacher wenn man sagt ich habe 9 Rolläden die IDs von 01 bis 09 habne und nicht von 0B bis 03 gehen :smile:

Und ja anlegen in der devices Datei erkennst du wenn du dir beide mappung und devices mal im Editor anschaust.

Ich bin leider noch nicht dazu gekommen, mich wieder dem Thema zu widmen. Ich melde mich, sobald Frau, Kind, Haus & Co es wieder zulassen! :slight_smile:

Hi @justone, hallo Community,

herzlichen Dank für Deine Mühe und Anleitung… ich konnte bisher schon das meiste realisieren. Allerdings strauchele ich bei einer Sache. Was habe ich und was ist mein Problem?

  • Ich habe eine klassischen Eltako-Installation mit FAM14 und diverse Aktoren, Dimmern sowie physischen Tastern (Doppelwippe)
  • Ich kann alles wunderbar steuern, sowohl mit den virtuellen Tastern als auch mit dem physischen. Soweit sogut.
  • Was ich allerdings nicht hinbekomme ist der korrekte Status im HA, wenn ich das Licht mit dem physischen Schalter an- bzw. ausschalte. Es tut sich im HA nix.

Ich habe nun gelesen, dass die Info bez. des physischen Tasters in die mapping-Datei muss. Bist Du Dir da sicher? Ich habe nun wirklich alle Stellen probiert, aber ich bekommen den Status einfach nicht korrekt angezeigt. Hast Du eine Idee für mich? Also meine Frage wäre, wo genau dieser Eintrag hier hinsoll, damit es klappt:

[Taster Flur KS7]
address = 0xFExxxx47 (< Das ist die ID meines Tasters)
rorg = 0xf6
func = 0x02
type = 0x01

Und sagen wir mal, Du bringst mich auf die richtige Spur, dann stelle sich eine weitere Frage: das ist ja nun ein Doppeltaster. Wie weiß denn HA, ob ich die linke oder die rechte Taste gedrückt habe…???

Ich sage schon mal herzlichen Dank und hoffe sehr, dass Du mir helfen kannst… Wenn Du weitere Infos brauchst, um Licht ins Dunkel zu bringen, immer her damit…

LG, Danke und Euch allen einen schönen Abend.
Lutz

Guten Morgen zusammen,

manchmal muss man Dinge einfach liegen lassen, um sie zu verstehen. Gestern Abend kam der Klick bei mir… Für alle, die ggf. den gleichen Knoten im Kopf haben, hier einmal das Grundprinzip für die Nutzung von Enocean mittels des Add-Ons in HA:

  • Grundidee ist, dass man mittels des USB300 Sticks Enocean Befehle an den Bus absetzt. Die Installation des MQTT-Brokers sowie des Add-Ons und deren korrekte Konfig setze ich mal voraus, auf der GitHub-Seite des Add-Ons ist das ja passend beschrieben
  • Die virtuellen Taster erhalten eine virtuelle ID, die geschicketer Weise die letzten beiden Ziffern der ID des USB-Sticks hochzählt. Wenn also der Stick z.B. FFE43A00 als ID hat, dann bekommt der erste Schalter die ID FFE43A01, der zweite die FFE43A02 usw.
  • Die virutellen Taster werden in der Device-Config-Datei des Add-Ons hinterlegt, wie oben beschrieben
  • Diese virtuellen Taster IDs kannst Du mittels PCT14 dann den Aktoren und deren Kanälen als Richtungsschalter zuweisen, wie Du es gerne möchtest. Damit reagiert der Aktor eben auf den Befehl des Schalters. Das ist etwas mühsam, aber funktioniert dann wunderbar
  • Damit man den Status korrekt erhält, muss man nun noch den Status der Rückmeldung des Aktors einfangen. So kann man auch z.B. parallel physische Schalter verwenden, HA zieht dann den Status mit einer kleinen Verzögerung nach. Das geschieht mittels des folgenden Eintrags (Beispiel) in der Devices-Datei des Add-Ons. Hier lag auch mein Missverständnis, denn das muss nicht in die Mappings-Datei des Add-Ons, sondern in die Device-Datei!

[gira_4way_1]
address = 0xFEE50F9C
rorg = 0xF6
func = 0x02
type = 0x01

Wichtig ist dabei, dass die Adresse die des Aktors/Kanals ist, der überwacht werden soll. Es ist etwas verwirrend, dass hier als EEP-Profil ein Taster genutzt wird, aber das liefert der Aktor zurück, daher funktioniert das auch so

  • Dann muss man sich nur noch einen Schalter in HA anlegen und schon funktioniert das Ganze… Ich bin persönlich sehr begeistert

Viel Spass beim Basteln :slight_smile:

LG
Lutz

Hallo zusammen,

vielen Dank erstmal für die hilfreichen Tipps hier im Forum.
Ich bin vor kurzem von IOBroker + Homee auf HomeAssistant umgestiegen.

Seit ein paar Tagen versuche ich Enocean einzurichten und habe es nach einigen Problemen auch geschafft, dass sich meine Lichter über HA schalten lassen.

Meine Virtuellen Schalter habe ich folgendermaßen angelegt:

[virt_aktor_a]
address         = 0xFFFFFFFF
rorg            = 0xF6
func            = 0x02
type            = 0x01
sender          = 0xFFxxxx81
virtual         = 1

Dieser wird mir in MQTT als Gerät angezeigt und ich habe mit AO, AI, BO, und BI jeweils einen anderen Kanal von meinem Eltako F4SR14-LED im PCT14 angelernt.
Heißt, ich muss AO auswählen um anzuschalten, einen anderen Wert wählen und wieder AO zum ausschalten.

Wobei ich mir jetzt nicht sicher bin ist, wie ich einen Schalter baue, der mir auch den Status zurückgibt.

@LDI, du schreibst dass man nochmals einen Schalter in der Device-Datei anlegen muss:

[gira_4way_1] 
address = 0xFEE50F9C 
rorg = 0xF6 
func = 0x02
type = 0x01

Woher genau bekomme ich diese Adresse meiner Aktoren?

Und zum eigentlichen Schalter: Verwendest du diesen Code in der configuration.yaml Datei?

switch:
  - platform: template                                                                                                                                                                                                                                        
     switches:
      porch_light:                                                                                                                                                                                                                                                        
        friendly_name: Porch power
        value_template: "{{ is_state('binary_sensor.e2m_relay_state_porch_bo_pressed', 'on') }}"
        turn_on:
          - service: select.select_option
            data:
              option: AO
            target:
              entity_id: select.e2m_relay_porchlight_action
        turn_off:
          - service: select.select_option
            data:
              option: AI
            target:
              entity_id: select.e2m_relay_porchlight_action

LG Kevin

Hallo Kevin,
du kannst die ID entweder aus der Wibutler-App auslesen falls du die hast. Oder du nimmst die Adresse von der FAM14 und rechnest die Adresse des Aktors mit dazu.
Sprich: Wenn deine FAM14 die Adresse hat 0xFFFFFF80. und der Autor hat die Adresse 1-4. Dann hat der Status vom Kanal 1 = 0xFFFFFF81. Der vom Kanal 2 = 0xFFFFFF82 usw

Das Template passt dann. Musst halt in dem Schalter genau diesen Status anpassen (value_template) und die Entity zum steuern (entity_id)

Grüße
Steffen

Edit: noch ein kleiner Hinweis. Das Template muss natürlich kein Switch sein. Kann auch ein Light sein.

1 „Gefällt mir“

Hallo Steffen,

vielen Dank für die Tipps!

Die Schalter funktionieren und der Status wird richtig erkannt.

LG Kevin

Ich lese schon seit einiger Zeit begeistert mit, da es genau auch mein Problem ist, die Enocean-Schalter einzubinden

Bisher konnte ich die Schalter virtuell anlegen, diese funktionieren auch.
Allerdings, wenn der Schalter angezeigt wird, wundert mich zum einen, er ist an. Allerdings steht “Aus” dabei.

Ich bekomme es auch nicht hin, dass der Status von physischen Schalter angezeigt wird.

Hier der Auszug aus der enoceanmqtt.device

#physischer Schalter
[relay/buero_p]
address         = 0x002???9C
rorg            = 0xF6
func            = 0x02
type            = 0x01

#virtueller Schalter
[relay/buero_v]
address         = 0xFFFFFFFF 
rorg            = 0xF6 
func            = 0x02
type            = 0x01
sender          = 0xFF9???01  
virtual         = 1 

#Rückmeldung vom Schalter
[realay_state/buero]
address         = 0x002???9C
rorg            = 0xF6
func            = 0x02
type            = 0x01

Hier noch der Auszug aus der configuraten yaml:

switch:
  - platform: template
    switches:
      buero_licht:                                                                                                                                                                                                                                                      
        friendly_name: buero licht
        value_template: "{{ is_state('e2m_realay_state_buero_BO_pressed', 'on') }}"
        turn_on:
          - service: select.select_option
            data:
              option: BO
            target:
              entity_id: select.e2m_schalter_buero_v_action
        turn_off:
          - service: select.select_option
            data:
              option: BI
            target:
              entity_id: select.e2m_schalter_buero_v_action

Vielen Dank schon für eure Unterstützung!

Hallo Markus,

vermutlich hast du die falsche Adresse bei #Rückmeldung vom Schalter angegeben.

Hier musst du nicht die Adresse vom Wandtaster eintragen, sondern die vom Schaltrelais-Kanal (bei mir im Schaltschrank ein F4SR14-LED).

Ich hoffe ich konnte helfen, bin aber auch erst neu in das Thema eingestiegen.

LG Kevin

Hallo Kev42

danke, allerdings weiß ich nicht wie man auf die Adresse kommt, glaube ich hab da den falschen Ansatz oder so. :frowning:

Wie müsste ich es dann zählen, bei dir hat es geklappt oder??
Sehe vom FAM die Base-ID FFA0xx80 und hier die Position.
Der Schalter von dem anderen Post ist abgebildet.

Schon mal vielen Dank!

Hallo Markus,

die Adressen sind links im TCP14 in Dezimal angegeben. Bei dir sind das 1-27. Diese musst du einfach von Dezimal in Hexadezimal umrechnen und hoch zählen. Im Internet gibt es Rechner dafür. (https://bin-dez-hex-umrechner.de)

Heißt du hast deine Base ID FFA0xx80 + den Kanal.

In deinem Bild hast du die Adresse 15 ausgewählt. Kanal 2 von diesem Relais wäre 16.
Dezimal 15 = Hex F
Dieser hat dann die Adresse FFA0xx8F

Bei der Adresse 22 wären es 16. Dieser Kanal hat dann die Adresse FFA0xx96.


Eine Alternative zum TCP14 ist auch die Rückmeldung im Enocean MQTT Protokoll anzusehen.

Wenn die Adresse noch nicht als Gerät zugeordnet ist, kommt eine Meldung.
z.B.:
2023-11-19 18:37:00,726 INFO: unknown sensor: FF:A0:xx:8F

Das ist die Rückmeldung von dem Kanal.

LG Kevin

Hallo Kevin,

danke für deine ausführliche Antwort.

Jetzt ist mir auch klar, wie sich die Rückmeldeadresse zusammen setzt. :slight_smile:
Gibt auch noch das Programm “Dolphin View” hier erhält man die Adressen auch zurück und muss nicht immer rechnen, wobei es kein Fehler ist, wenn man weiß wie es funktioniert. :wink:

Leider habe ich immer noch das Problem mit der Rückmeldung.

Habe zur eigenen Übersichtlichkeit die Namen in der Device-Datei geändert:

#physischer Schalter
[schalter_buero_p]
address         = 0x002E2B9C
rorg            = 0xF6
func            = 0x02
type            = 0x01

#virtueller Schalter
[schalter_buero_v]
address         = 0xFFFFFFFF 
rorg            = 0xF6 
func            = 0x02
type            = 0x01
sender          = 0xFF92A901  
virtual         = 1 

#Rückmeldung vom Schalter
[rueckmeldung_buero]
address         = 0xFFA06090
rorg            = 0xF6
func            = 0x02
type            = 0x01

Hier die configuration.yaml

switch:
  - platform: template
    switches:
      buero_licht:                                                                                                                                                                                                                                                      
        friendly_name: buero licht
        value_template: "{{ is_state('binary_sensor.e2m_realay_state_buero_bo_pressed', 'on') }}"
        turn_on:
          - service: select.select_option
            data:
              option: BO
            target:
              entity_id: select.e2m_schalter_buero_v_action
        turn_off:
          - service: select.select_option
            data:
              option: BI
            target:
              entity_id: select.e2m_schalter_buero_v_action     

Wie sehen bei dir / euch die Rückmeldungen aus?
Springt der virtuelle Schalter entsprechend dem physischen Schalter um?

Hier bekomme ich zumindest vom physischen Schalter die richtige Anzeige zurück, allerdings wenn ich den virtuellen Schalter drücke, ändert sich nichts. :frowning:

Hallo Markus,

bei deinem Code fällt mir auf, dass bei “value_template” im Switch eine andere Entität eingetragen ist, wie du dein #Rückmeldung Büro Schalter angelegt hast.

Am besten schaust du dir bei Entwicklerwerkzeuge → Zustände an, wie deine Entität genau heißt.
Diese musst du bei value_template im Switch eintragen.

Die Entität, die mit deinem Zustand übereinstimmt, musst du eintragen.
Bei mit ist es immer: binary_sensor.e2m_[Zustand-Device-Name]_bo_pressed

Ich stelle dir mein Code hier rein, damit du es besser nachvollziehen kannst:

Device Liste:

[zustand_badezimmer] 
address = 0xFF????91
rorg = 0xF6 
func = 0x02
type = 0x01

Switch in der configuration.yaml:

    bathroom_light:
      friendly_name: Badezimmer Licht
      value_template: "{{ is_state('binary_sensor.e2m_zustand_badezimmer_bo_pressed', 'on') }}"
      turn_on:
        - service: select.select_option
          data:
            option: AO
          target:
            entity_id: select.e2m_virt_aktor_b_action
      turn_off:
        - service: select.select_option
          data:
            option: AO
          target:
            entity_id: select.e2m_virt_aktor_b_action

Zur Info: Bei mir wird im Switch mit “AO” An- und Ausgeschaltet. Das ist aber abhängig davon wie es angelegt wurde. Das kann bei dir abweichen.

Schaut mal hier rein
https://community.simon42.com/t/enocean-steuerung-mit-eltako-weber-haus/
Da gibt es noch eine weitere Lösung zu der MQTT Lösung. Habe damit gestern meinen Wibutler entfernen können.
Da ist nun auch der Entwickler von der Integration drin. Der ist super hilfsbereit.

Kenn auch den Post im Forum, da ich ursprünglich dort wegen Weberhaus mitgelesen hab bzw. noch mache.

Glaube, bei mir hat sich durch das Ändern der Schalternamen in der Device-Datei ein Fehler eingeschlichen, da die Entitäten sich nicht geändert haben (nach Neustarts usw.).

Werde es wohl neu aufsetzen oder gleich das andere machen.
Allerdings komme ich erst nach Weihnachten dazu.

Danke für die Unterstützung und Tipps.

Hi,
ich hänge mich da mal kurz rein …
Bin neu im Home Assistand und habe auch vor, unsere im haus vorhandene Enocean-Installation Smart zu bekommen.
Das Add-On “Enocean MQTT (dev)” hab ich auch installiert und hoffentlich richtig konfiguriert.

Vom Verständnis her, muss ich den USB300 Stick nicht erst einmal mit dem vorhandenen Enocean-System “koppeln”, es integrieren?
Wenn ja, wie denn?

Unter “Geräte” sehe ich den Enoceas_MQTT (dev)", aber natürlich noch keine im Haus verbauten Schalter oder Lampen …

Und:
Muss dieses Add-on auch installiert werden/sein ?
https://github.com/embyt/enocean-mqtt
(weil: > " HA_enoceanmqtt is just an Home Assistant overlay for enoceanmqtt."

Hallo Leute,

ich weiß wäre jetzt ein ganz anderer Weg. Für mich haben die Alternativen leider nicht funktioniert, deswegen habe ich angefangen eine eigene Integration zu schreiben. …
Integration:
https://github.com/grimmpp/home-assistant-eltako
Interaktives Tool zum automatischen Generieren der Config und zum Verwalten der Geräte:
https://github.com/grimmpp/enocean-device-manager