oh5 things, item, rules

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
seppelinchen
Beiträge: 3
Registriert: 17. Feb 2026 15:14
Answers: 0

oh5 things, item, rules

Beitrag von seppelinchen »

hallo,
ich bin total neu im smart home bereich und habe ein totales verstaendnis probelm.
was ich habe:
raspberry 4 mit openHAB 5.1.2
fam4pi (enocean funk hat)
2x FSR61-230V
3X F2T55E
die taster hab ich angelernt und sie tun, was sie sollen. aber alles ohne openHAB.
in OH5 unter "things" habe ich:
fam4pi ueber den pfad /dev/ttyAMA0 hinzugefuegt
2x FSR61 als "Switching/Dimming Actuator" mittels der enoceanID hinzugefuegt
3X F2T55E ueber die scan funktion des enocean bindings hinzugefuegt. diese wurden als "Rocker Switch" erkannt
so weit, so gut. nur komme ich jetzt nicht mehr weiter :(
wenn ich das konzept richtig verstanden habe, muss ich den schaltkanal des aktors ueber ein "item" mit einem kanal des tasters verbinden.
ich habe den aktor ausgewaehlt, unter "channels" den "switch", dann "add link to item", "create new item" und alles so uebernommen.
jetzt den entsprechenden kanal am zugehoerigen taster auswaehlen, und das eben erstellte item verlinken.
leider bleibt's dunkel, wenn ich das item anschalte.
was mach ich da falsch?
frau google hat mir auch nicht weiter geholfen :(
aber hier kann mir sicher einer auf die spruenge helfen ;)
vielen dank schonmal...

Benutzeravatar
udo1toni
Beiträge: 15635
Registriert: 11. Apr 2018 18:05
Answers: 254
Wohnort: Darmstadt

Re: oh5 things, item, rules

Beitrag von udo1toni »

Herzlich willkommen im openHAB Forum!

Zunächst einmal möchte ich Dir den Tipp geben, wann immer möglich, externe Geräte direkt miteinander kommunizieren zu lassen. Da hier alle Beteiligten (wenn ich Dich richtig verstanden habe) mittels EnOcean kommunizieren, wäre es sinnvoll, die Taster jeweils direkt mit den zugehörigen Aktoren zu koppeln. openHAB sollte dafür überhaupt nicht nötig sein, und das ist auch der Punkt daran. Falls - aus welchem Grund auch immer - openHAB einmal nicht zur Verfügung steht, funktioniert der Taster dennoch.

Sobald diese Verbindung funktioniert, kannst Du die Aktoren zusätzlich in openHAB bekannt machen. Dann kannst Du in openHAB sehen, welchen Betriebszustand die Aktoren haben und Du kannst diesen Zustand über die UI von openHAB auch ändern (oder über Rules das Ganze auich automatisieren).

Definition Sensor und Aktor:
Ein Sensor kann nur Daten senden, entweder tut er das zyklisch oder bei Änderung bzw. aufgrund eines Auslösers, z.B. ein Tastendruck.
Ein Aktor kann grundsätzlich Befehle empfangen, gewöhnlich liefert der Aktor aber auch selbst Daten, es ist also eine bidirektionale Kommunikation.
Ein Dimm-Aktor kann z.B. in der Helligkeit gesteuert werden, sendet aber auch Informationen über die aktuelle Helligkeit der angeschlossenen Leuchte.

Wenn Du Taster in openHAB einbindest, dann werden diese als Sensoren betrachtet. Ein Tastendruck ist also ein Ereignis. Wie dieses Ereignis verwendet wird, hängt stark von der Konfiguration ab :)

Es wäre hier hilfreich, die Konfiguration der Geräte zu kennen (ich nutze selbst kein EnOcean).
Du kannst innerhalb der Thing Ansicht die Konfiguration als yaml Code anzeigen lassen (rechts oben - Code). Der Code kann als Text kopiert werden und Du kannst diesen Text hier als Code markiert posten. Du kannst die BBCode Tags direkt hinschreiben - vorn und hinten jeweils das Wort "code" in eckigen Klammern, hinten noch mit vorangestelltem Slash, also so: [/code]. Das öffnende Tag kann ich aus naheliegenden Gründen nicht direkt hinschreiben :).
Alternativ kannst Du beim Erstellen des Postings auch auf den vollständigen Editor umschalten (Vorschau und vollständiger Editor) und die Tags anschließend über den richtigen Button einfügen lassen </> ist der für die Code Tags. Hat man zuvor Textbereiche markiert, so werden die Tags automatisch um diesen Text herum angeordnet, ansonsten werden die öffnenden und schließenden Tags einfach hintereinander im Text eingefügt.
openHAB5.1.2 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.5 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

seppelinchen
Beiträge: 3
Registriert: 17. Feb 2026 15:14
Answers: 0

Re: oh5 things, item, rules

Beitrag von seppelinchen »

hallo und danke :)
soweit ist mir das schon alles klar.
ich habe meine taster angelernt. funktioniert alles ohne openHAB.
die taster habe ich in openHAB ueber die scan funktion des enocean bindings eingebunden. die kommunikation scheint also zu funktionieren.
was mir fehlt, und was ich auch nicht verstehe, wie baue ich den link zwischen taster und aktor?
hier die zugehoerigen codes:
das gateway (FAM4PI HAT)

Code: Alles auswählen

version: 1
things:
  enocean:bridge:fc19d21bfc:
    isBridge: true
    location: raspberry
    config:
      path: /dev/ttyAMA0
      espVersion: ESP3
      enableSmack: true
      rs485: false
      rs485BaseId: "00000000"
      sendTeachOuts: false
    channels:
      repeaterMode:
        type: repeaterMode
      setBaseId:
        type: setBaseId
ein aktor eltako FSR61-230V

Code: Alles auswählen

version: 1
things:
  enocean:centralCommand:794485e1bf:
    bridge: enocean:bridge:fc19d21bfc
    location: treppe
    config:
      enoceanId: 042e5edb
      senderIdOffset: 1
      sendingEEPId: A5_38_08_01
      broadcastMessages: true
      receivingEEPId: F6_00_00
      suppressRepeating: false
    channels:
      contact:
        type: contact
        label: ""
      rollershutter:
        type: rollershutter
        label: ""
      lastReceived:
        type: lastReceived
        label: ""
      generalSwitch:
        type: generalSwitch
        label: ""
      repeatCount:
        type: repeatCount
        label: ""
      rssi:
        type: rssi
        label: ""
      teachInCMD:
        type: teachInCMD
        label: ""
ein taster eltako F2T55E

Code: Alles auswählen

version: 1
things:
  enocean:rockerSwitch:fc19d21bfc:FECB5E38:
    bridge: enocean:bridge:fc19d21bfc
    label: taster
    location: treppe oben
    config:
      enoceanId: FECB5E38
      receivingEEPId: F6_02_01
    channels:
      rockerswitchA:
        type: rawrocker
        label: Rocker Switch - Channel A
      rockerswitchB:
        type: rawrocker
        label: Rocker Switch - Channel B
      rockerSwitchAction:
        type: rockerSwitchAction
      repeatCount:
        type: repeatCount
        label: ""
      rssi:
        type: rssi
        label: ""
      lastReceived:
        type: lastReceived
        label: ""
im eventmonitor kommt bei druck auf den eltako taster:

Code: Alles auswählen

openhab/channels/enocean:rockerSwitch:fc19d21bfc:FECB5E38:rockerSwitchAction/triggered
ChannelTriggeredEvent
{"event":"RELEASED","channel":"enocean:rockerSwitch:fc19d21bfc:FECB5E38:rockerSwitchAction"}
openhab/channels/enocean:rockerSwitch:fc19d21bfc:FECB5E38:rockerswitchB/triggered
ChannelTriggeredEvent
{"event":"DIR2_RELEASED","channel":"enocean:rockerSwitch:fc19d21bfc:FECB5E38:rockerswitchB"}
openhab/channels/enocean:rockerSwitch:fc19d21bfc:FECB5E38:rockerSwitchAction/triggered
ChannelTriggeredEvent
{"event":"-|DIR2","channel":"enocean:rockerSwitch:fc19d21bfc:FECB5E38:rockerSwitchAction"}
openhab/channels/enocean:rockerSwitch:fc19d21bfc:FECB5E38:rockerswitchB/triggered
ChannelTriggeredEvent
{"event":"DIR2_PRESSED","channel":"enocean:rockerSwitch:fc19d21bfc:FECB5E38:rockerswitchB"}
und beim aktivieren des links in openHAB:

Code: Alles auswählen

openhab/items/taster_Rocker_Switch__Channel_A/statechanged
ItemStateChangedEvent
{"type":"OnOff","value":"ON","oldType":"OnOff","oldValue":"OFF","lastStateUpdate":"2026-02-21T13:24:54.572962228Z[Europe/London]","lastStateChange":"2026-02-21T13:24:54.572962228Z[Europe/London]"}
openhab/items/taster_Rocker_Switch__Channel_A/stateupdated
ItemStateUpdatedEvent
{"type":"OnOff","value":"ON","lastStateUpdate":"2026-02-21T13:24:54.572962228Z[Europe/London]"}
openhab/items/taster_Rocker_Switch__Channel_A/state
ItemStateEvent
{"type":"OnOff","value":"ON"}
openhab/items/taster_Rocker_Switch__Channel_A/statepredicted
ItemStatePredictedEvent
{"predictedType":"OnOff","predictedValue":"ON","isConfirmation":false}
openhab/items/taster_Rocker_Switch__Channel_A/command
ItemCommandEvent
{"type":"OnOff","value":"ON"}
fuer die links gibt's keine codes. jedenfalls nicht im UI.
hilft das, um mein problem zu loesen?
vielen dank

Benutzeravatar
udo1toni
Beiträge: 15635
Registriert: 11. Apr 2018 18:05
Answers: 254
Wohnort: Darmstadt

Re: oh5 things, item, rules

Beitrag von udo1toni »

Wie gesagt, die Verknüpfung zwischen Taster und Aktor solltest Du innerhalb EnOcean vornehmen, das hat nichts mit openHAB zu tun.

Du kannst die Verknüpfung auch innerhalb openHAB vornehmen, das ist aber nur die zweite Wahl.

Da die EnOcean Taster ausschließlich Channel Trigger Events liefern, Du aber (innerhalb openHAB) ein Rollershutter Item steuern musst, wirst Du um eine Rule nicht herum kommen.

Du benötigst ein Rollershutter Item, welches mit dem rollershutter Channel verlinkt ist, z.B. EG_Kueche_Shutter1.
Dazu brauchst Du dann noch eine Rule. Du kannst verschiedene Scriptsprachen nutzen, die Du jeweils vorher als Addon installieren musst (bis auf die DSL, DomainSpecificLanguage).
Du kannst diese Rule als reine Textdatei anlegen oder über die UI.
In einer Textdatei:

Code: Alles auswählen

rule "Rollladen 1"
when
    Channel 'enocean:rockerSwitch:fc19d21bfc:FECB5E38:rockerSwitchAction' triggered
then
    switch(receivedEvent) {
    	case 'DIR1_PRESSED' : {EG_Kueche_Shutter1.sendCommand(UP)}
    	case 'DIR2_PRESSED' : {EG_Kueche_Shutter1.sendCommand(DOWN)}
    	case 'DIR1_RELEASED',
    	case 'DIR2_RELEASED' : {EG_Kueche_Shutter1.sendCommand(STOP)}
    }
end
Diese Rule sollte dazu führen, dass beim Drücken des einen Tasters der Rollladen in die eine Richtung fährt, beim Drücken des zweiten Tasters sollte er in die andere Richtung fahren. Beim Loslassen des jeweiligen Tasters sollte der Rollladen dann anhalten.

Die selbe(!) Rule, angelegt über die Main UI: Einstellungen->Rules->(rechts unten großes +)->Rule ID nach Wahl eingeben->Code (rechts oben)->und Code (exakt wie im nachfolgenden Block) einfügen.

Code: Alles auswählen

configuration: {}
triggers:
  - id: "0"
    configuration:
      channelUID: enocean:rockerSwitch:fc19d21bfc:FECB5E38:rockerSwitchAction
    type: core.ChannelEventTrigger
conditions: []
actions:
  - inputs: {}
    id: script
    configuration:
      type: application/vnd.openhab.dsl.rule
      script: |
        switch(receivedEvent) {
            case 'DIR1_PRESSED' : {EG_Kueche_Shutter1.sendCommand(UP)}
            case 'DIR2_PRESSED' : {EG_Kueche_Shutter1.sendCommand(DOWN)}
            case 'DIR1_RELEASED',
            case 'DIR2_RELEASED' : {EG_Kueche_Shutter1.sendCommand(STOP)}
        }
    type: script.ScriptAction
openHAB5.1.2 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.5 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

seppelinchen
Beiträge: 3
Registriert: 17. Feb 2026 15:14
Answers: 0

Re: oh5 things, item, rules

Beitrag von seppelinchen »

sorry fuer die spaete reaktion. ich war unterwegs. da hatte ich viel zeit, ueber aktoren und taster nachzudenken ;)
dein erster satz hat dann endlich die erleuchtung gebracht. wozu brauch ich taster, wenn ich nen aktor hab :lol:
heute morgen hab ich die doku zu dem enocean binding nochmal haargenau durchgelesen und siehe da, ich kann meinen aktor in openhab schalten.
es werde licht ;)
jetzt muss ich noch die rueckmeldung von einem physischen taster druck zu meinem openHAB item hinbekommen und eine website mit den beiden lampen zum schalten bauen.
und rollladen schalter kommen dann auch noch.
also bis demnaechst ;)
und danke :)

Antworten