Physischer EnOcean- und virtueller Fhem-Schalter verschiedene Eventmap

Begonnen von skraus, 18 August 2016, 15:13:28

Vorheriges Thema - Nächstes Thema

skraus

Hallo,

Meine Hardware: Enocean PTM200 Schalter, FSA12-12VDC Aktor, Raspberry Pi 3 Model B mit BSC EnOcean USB 300.

ich habe aktuell folgendes Problem:

Ich nutze um den Status meiner physikalischen Schalter zu wissen "structure", das klappt auch solange der Eventmap gleich bleibt d.h. physikalischer Taster und Virtuelles device z.B. BI:off B0:on haben.

Habe ich nun ein Zimmer indem 2 physik. Schalter existieren wobei eine Wippe mit state AI:off A0:on und die andere mit state BI:off B0:on kommen klappt das nicht mehr.

Nun erkennt meine Gruppe (structure) zware beide Befehle aber wenn ich als Eventmap AI:off A0:on eintrage geht z.B. as Symbol Lampe beim betätigen des einen physikalischen Schalters in Fhem nicht aus.

Nun meine Frage: kann ich im eventmap mehren devices unterschiedliche states geben? Oder wie kann ich mein Scenario eventuell anderes umsetzen?

Ich hoffe ich konnte es einigermaßen erklären. Vorab vielen Dank.


krikan

Schau Dir vielleicht mal readingsProxy an, damit kannst Du die Kanäle des virtuellen Schalters in unabhängige FHEM Device aufsplitten. Im Wiki findest Du dazu auch Beispiele. (Bin mir aber nicht ganz sicher, ob ich Dein Problem richtig verstanden habe)

skraus

Ich glaube das readingsProxy hilft mir nicht.

Ich muss den reading state meines physik. Schalters ändern. Von B0 auf A0 (und BI auf AI).

Probiert habe ich eine structure aber die verändert nur den STATE was mir nicht hilft.

Noch eine Idee?

Ggf. nochmal kurz erklärt was ich genau vorhabe:

1 x Lampe mit 2 Schaltern (1. Schalter Wippe Rechts BI:B0 2. Schalter Wippe Links AI:A0) + virtueller Schalter (Fhem).
Am Ende möchte ich, dass Fhem den Schaltstatus meiner Lampe weiß.

Ich habe das laut EnOcean Starter Guide umgesetzt:

Virtueller Schalter:

define virtueller_Schalter EnOcean AABBCC01
attr virtueller_Schalter eventMap BI:off B0:on
attr virtueller_Schalter icon icoBELEUCHTUNG.png
attr virtueller_Schalter subType switch


2x physikalischer Schalter (durch set TCM_ESP3_0 teach 60 eingelernt)

phy. Schalter 1:
attr  Schalter_1 eventMap BI:off B0:on
attr  Schalter_1 room EnOcean
attr  Schalter_1 subType switch

phy. Schalter 2:
attr  Schalter_2 eventMap AI:off A0:on
attr  Schalter_2 room EnOcean
attr  Schalter_2 subType switch


Structure:

define Gruppe_Licht structure room virtueller_Schalter  Schalter_1 Schalter_2
attr Gruppe_Licht eventMap BI:off B0:on
attr Gruppe_Licht room Gruppenraum
attr Gruppe_Licht clientstate_behavior last

-> mein eventMap der structure reagiert nur auf B:I und B:0 und sobald ich Schalter 2 betätige ändert sich der Status nicht mehr.

Die Frage ist nun, ob ich im eventMap sagen kann, für "virtueller_Schalter und Schalter_1 BI:off B0:on" und für "Schalter_2 AI:off A0:on" damit mir der letzte Status bekannt ist.

Vielleicht gibt es auch eine einfache Umsetzung die ich einfach im Moment nicht sehe.

Danke.

justme1968

schau dir die doku zu structure noch mal genau an. du kannst mit clientstate_priority die jeweils unterschiedlichen werte einander zuordnen. 

und auch  die _map attribute. du kannst für jedes device in der structure getrennt angeben wie die werte behandelt werden sollen.

gruss
  andre

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

skraus

Hallo Andre,

ich komm nicht weiter.

Ich habe mir die docu angeschaut und auch viele Bespiele im Forum angeschaut, aber so richtig klar wird es mir nicht.

Kannst du mir ggf. ein Codebeispiel nennen wie ich dem physik. Schalter einen anderen State an die structure übergebe.

Ich bin wirklich noch absoluter Anfänger und weiß nicht mehr weiter  ::)

justme1968

ich habe keine Idee wie die ganzen enocean devices und readings genau aussehen.

wenn du mir das genau beschreibst bastle ich mal ein beispiel.

statt structure mit den ganzen attributen ist vielleicht auch LightScene mit gesetztem followDevices attribut eine möglichkeit. das funktioniert automatisch auch mit devices die unterschiedlichen kommandos/readings.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

ich verstehe das ganze Problem noch nicht, vor allen Dingen verstehe ich nicht, wozu man in diesem Fall überhaupt eine structure und einen virtuellen Schalter braucht?

Der eindeutige Zustand der Lampe (an/aus) ergibt sich doch aus dem zugehörigen Aktor und nicht aus der Betätigung der verschiedenen Taster.

Eigentlich braucht es doch nur (maximal) zwei notifies, die auf die jeweiligen Wippenbetätigung triggern und die Lampe an-/aus-/umschalten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

krikan

Der FSA12 ist ein unidirektionaler Aktor und gibt damit keine Rückmeldung über Schaltvorgänge. Schaltet man über einen direkt im Aktor eingelernten Taster, erkennt man das nur am FHEM-Device für den Taster. Das FHEM-Aktordevice (=virtueller Schalter) mit dem man den unidi Aktor steuert bekommt vom Schaltvorgang nichts mit und muss "manuell" im Status angepasst/nachgeführt werden,  um den realen Schaltzustand zu sehen. Dazu kann man bspw. notify nutzen. Oder man verlagert das Ganze -wie hier gewünscht- in eine structure, bei der die structure den realen Zustand wiedergibt.

Bei bidirektionalen Aktoren hat man das Problem nicht.

Ich selbst nutze dazu seit Jahren notify mit setreading für die unidi Aktoren Abgleiche. Die hier gewünschte structure-Lösung habe ich am Wochenende aus Interesse einmal ausprobieren wollen. Bin aber gescheitert. Das Attribut  .*_map in Verbindung mit "clientstate_behavior last" zeigte keine Auswirkung bzw. ich habe es nicht begriffen/falsch gemacht.

betateilchen

Ok, danke, das habe ich soweit verstanden.

Wenn ich das richtig verstanden habe, müsste das sogar noch einfacher umzusetzen sein. Muss ich mal heute abend testen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

skraus

Hallo krikan,

Wie kann ich das ggf. mit notify umsetzen?

Grüße