Statusänderung Fms 61Np am Fhemschalter anzeigen

Begonnen von roland61, 16 August 2014, 13:08:15

Vorheriges Thema - Nächstes Thema

roland61

Hallo, bin absoluter Neuling und habe einen Fms 61Np mit zwei Kanälen und drei Ft55 Taster in Betrieb. Fhem- Schalter ebenso und funktioniert auch alles. Jetzt würde ich nur gerne beim manuellen betätigen eines Schalters die Statusänderung an den beiden Fhem-Schaltern anzeigen ( aufgeteilt mit readingsproxy).
Die Änderung beider Kanäle des Aktors sehe ich auch in Fhem, finde nur irgendwie nirgendwo ein passendes Beispiel wie ich das verknüpfen könnte.
Weiss vielleicht jemand Rat?
Gruß Roland


roland61

Der Aktor ist bidirektional und zweikanalig. Ich sehe ja auch die Statusänderung in Fhem beim schalten mit den Tastern, allerdings nur für beide Kanäle ein Icon. Dazu hätte ich gern das die Icons der Fhemschalter sich ändern und nicht nochmal extra Icons für den Aktor.
Ich dachte mir das es mit einem bidirektionalem Aktor einfacher gehen müsste als in der Enocean Einführung für unidirektionale Aktoren beschrieben, finde aber nix was passt.
Ich hoffe ich drücke mich verständlich aus.
Gruß Roland

krikan

Ja, solte einfacher gehen über Readingsproxy. Zeig mal bitte Deine fhem.cfg für die Devices, dass macht es leichter. Dummerweise kenne ich aber den FMS61 nicht wirklich.

Neugierige Gegenfrage: Ist etwas im Wiki unverständlich oder müsste deutlicher werden?

roland61

Ich hoffe damit kann man was anfangen.
Das ist einer von beiden Fhemschaltern, der andere ist genauso, nur halt mit AI und A0.

Und was das Wiki angeht, denke ich mir, dass wenn man null Ahnung von programmieren hat muss man alles ein paarmal lesen und vieles einfach ausprobieren. Ich finde es klasse und man muss halt mitdenken, manches braucht halt ein bisschen.

Fhem Schalter
Kueche
deleteattr
setFn
{readingsSingleUpdate($defs{$name}, "state", $CMD, 1);;($CMD eq "on")?"BI":"B0";;}
deleteattr
setList
on off
deleteattr
valueFn
{$LASTCMD}
deleteattr
webCmd
off:on
deleteattr

Probably associated with
Li_Kue_Fhem
EnOcean   

Aktor

DEF   
0185008D
IODev
TCM310_0
LASTInputDev
TCM310_0
MSGCNT
95
NAME
Li_Kue
NOTIFYDEV
global
NR
23
STATE
AI
TCM310_0_DestinationID
FFFFFFFF
TCM310_0_MSGCNT
95
TCM310_0_PacketType
1
TCM310_0_RSSI
-86
TCM310_0_ReceivingQuality
good
TCM310_0_RepeatingCounter
0
TCM310_0_SubTelNum
3
TCM310_0_TIME
2014-08-16 13:25:13
TYPE
EnOcean
Readings
buttons
pressed
2014-08-16 13:25:13
channelA
AI
2014-08-16 13:25:13
channelB
BI
2014-08-16 12:45:40
state
AI
2014-08-16 13:25:13
Li_Kue Attributes
room
Kueche
deleteattr
switchType
universal
deleteattr

Probably associated with
FileLog_Li_Kue
FileLog   

krikan

#5
Nimm bitte ein Readingsproxy ohne "readingsSingleUpdate($defs{$name}".
Probier mal das hier http://forum.fhem.de/index.php/topic,21201.msg147055.html#msg147055 und gib Rückmeldung, ob es funktioniert.
Befürchte im Wiki das readingsProxy war speziell für undi Aktoren, was aber so nicht vermerkt ist :-[. Werde es ändern, wenn Du mit obigen Erfolg vermeldest.

Was mir gerade noch auffällt und vorher geklärt werden müsste: Ich sehe kein attr subDef bei Deinem Aktor, ist aber mangels Formatierung schwer lesbar. Wie hast Du angelernt?

roland61

Angelernt hab ich mit autocreate  und alles so gelassen. Was müsste ich denn ändern?
Wie geht formatieren ? ( alles neu für mich)
Gruß Roland

krikan

2 Wege zum Ausgeben der benötigten fhem.cfg Daten:
1. list <device> und die Ausgabe per Copy/PAste ins Forum kopieren und das in Code-Tags (Menü- im Forum) setzen  ODER
2. fhem.cfg mit Editor öffnen und entsprechende Zeilen Copy/Paste ins Forum kopieren und das in Code-Tags setzen

Zurück zum Problem:
Dein Aktor-device für den fms61 müsste ungefähr folgenden Aufbau haben; das kann ich eben in Deinem Auszug nicht erkennen:
define Aktor EnOcean FFFFFFFE    <----- Adresse des Aktors (siehe Rückseite des Aktors)
attr Aktor subDef 00000001                   <-----eine SenderID Deines TCMs


Wenn das gegeben ist, kannst Du das gestrichene im vorherigen Post von mir durcharbeiten. Ansonsten müssen wir anders ansetzen.

roland61

Ist das so besser?
Sieht was besser aus, aber was Tags sind weiss ich noch nicht, ich finds aber noch raus.
Hab deinen Vorschlag probiert, aber das klappt noch nicht. Jetzt schaltet jeder Fhemschalter beide Lampen und von den physischen Schaltern kommt noch keine Statusänderung bei den Fhemschaltern. Allerdings sehe ich nach wie vor die Zustandsänderung auf dem Aktor.

Aktor:
Internals:
   DEF        0185008D
   IODev      TCM310_0
   LASTInputDev TCM310_0
   MSGCNT     156
   NAME       Li_Kue
   NOTIFYDEV  global
   NR         23
   STATE      BI
   TCM310_0_DestinationID FFFFFFFF
   TCM310_0_MSGCNT 156
   TCM310_0_PacketType 1
   TCM310_0_RSSI -83
   TCM310_0_ReceivingQuality good
   TCM310_0_RepeatingCounter 0
   TCM310_0_SubTelNum 3
   TCM310_0_TIME 2014-08-16 16:21:32
   TYPE       EnOcean
   Readings:
     2014-08-16 16:21:32   buttons         pressed
     2014-08-16 16:17:12   channelA        AI
     2014-08-16 16:21:32   channelB        BI
     2014-08-16 16:21:32   state           BI
Attributes:
   room       Kueche
   subDef     FFF52A01
   switchType universal

krikan

VIEL besser. Code-Tags: Wenn Du den etwas im Antwort-Bereich eingefügt hast, mit der Maus markieren und dann unterhalb der Schriftartauswahl auf das "Lattenkreuz" klicken. (beschreiben ist auch nicht so einfach;) ).

Definition sieht gut aus.

Ich bin aber noch nicht wirklich im Sachverhalt und Deinem Problem:

Zitatjeder Fhemschalter  beide Lampen
Was ist das für ein Fhem-Schalter; normalerweise ist das Aktor-Device bei bidi = Fhem-Schalter oder meinst Du die beiden readingsProxy-Devices?

Zitatphysischen Schaltern kommt noch keine Statusänderung bei den Fhemschaltern
Ist hier Fhem-Schalter auch wieder readingsProxy-Device.

Zitatdeinen Vorschlag probiert
Was hast Du genau genommen? Genauso im verlinkten Post von klaus.schauer?

Vielleicht lieferst Du auch hier mal Dein genaues Vorgehen (list <name>).

Sorry, aber muss mehr Infos haben, um helfen zu können, da ich den Aktor nicht kenne und selbst keinen 2-kanaligen bidi-Aktor mit bloß einer Sender-Adresse habe.


PS: http://forum.fhem.de/index.php/topic,21090.msg146389.html#msg146389 hier wurde der Einlernvorgang für den FMS61 beschrieben


roland61

Mit Fhem-Schalter meine ich readingsproxy Device, sind beide eingelernt auf den Aktor.
Wenn ich die readingsproxy devices betätige ändert sich schön das Icon in an und aus. Wenn ich einen physischen Schalter betätige sehe ich nur wie sich der Aktorzustand in A0 oder BI oder so ändert. Was ich mir vorgestellt hatte ist, das sich die Icons bei den readingsproxy devices bei betätigen eines physischen Tasters auch in an oder aus ändern.
Mit ganz einfachen Worten, es soll das gleiche Lämpchen im Webfrontend an und aus gehen beim schalten mit einem readingsproxy Device, wie auch bei nem physischen Schalter. :)
Vielleicht geht das ja auch garnicht so wie ich mir das vorstelle.
Den Link hatte ich genau übernommen, natürlich mit meiner Definition.
Hab jetzt nochmal meinen Ursprung eingegeben und nochmal angefügt.

Internals:
   DEF        Li_Kue_Fhem:state
   DEVICE     Li_Kue_Fhem
   NAME       Li_Kue_SP
   NR         31
   NTFY_ORDER 50-Li_Kue_SP
   READING    state
   STATE      off
   TYPE       readingsProxy
   Content:
     Li_Kue_Fhem 1
   Readings:
     2014-08-16 17:26:16   lastCmd         off
     2014-08-16 17:26:16   state           off
Attributes:
   room       Kueche
   setFn      {($CMD eq "on")?"B0":"BI";;}
   setList    off on
   valueFn    {$LASTCMD}
   webCmd     off:on


krikan

Hallo Roland,
muss jetzt leider weg. Vielleicht kann jemand anderes kurzfristig helfen. Ich hätte das Thema readingsProxy mit EnOcean bidi-Aktoren gerne grundsätzlich geklärt; finde kein wirklich bestätigtes Beispiel im Forum. Bin also sehr an einer Lösung interessiert. Wenn Du es zwischenzeitlich eigenständig hinbekomms, poste das Ergebnis bitte.

Evtl. bittest Du Puschel74 auch (wenn er es nicht automatisch macht), Deinen Thread in den EnOcean-Bereich des Forums zu verschieben. Ich habe keine Ahnung, ob alle EnOcean-Fhemler hier mitlesen.

Gruß, Christian

krikan

Noch schnell ;) : valueFn {$LASTCMD} zieht den letzten Status aus dem readingsProxy-Device, dass müsste in Deinem Fall falsch sein.
(justme1968/andre ist glaube ich in Urlaub, oder!?)

roland61

Auf jeden Fall Danke für die super Unterstützung. Werde mal weitersuchen und probieren.
Gruss Roland

krikan

#14
Hallo Roland,
Wenn du noch keine Lösung gefunden hast, könntest du mal testen,
ob folgendes funktioniert:
Leite das readingsProxy von Reading channelB statt state ab.
Alle readingsProxy attr so wie in deinem letzten Post; außer valueFn:


define proxy readingsProxy <NAME AKTORDEVICE>:channelB
attr proxy setFn {($CMD eq "on")?"B0":"BI";;}
attr proxy setList off on
attr proxy valueFn {($VALUE eq "B0")?"on":"off"}
attr proxy webCmd off:on


Für channelA einfach neues readingsProxy mit A0 statt B0 und AI statt B0.

Bei Erfolg bzw. Mißerfolg poste bitte das komplette readingsProxy.

Bitte beachte, dass Du den FMS61Np abweichend vom Standard als switchType universal eingelernt/angelegt hast. Bei dem oben verlinkten Forumsbeitrag wurde jedenfalls als switchType direction eingelernt/anlegt. Dies könnte ebenfalls eine Bedeutung haben.

Gruß und Danke, Christian