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
Ist das eine unidirektionale Variante des FMS61NP? Falls ja, bitte schau mal http://www.fhemwiki.de/wiki/EnOcean_Starter_Guide#Physischer_EnOcean-_und_virtueller_Fhem-Schalter_zu_einem_Device_zusammenfassen
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
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?
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
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?
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
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.
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
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
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
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
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!?)
Auf jeden Fall Danke für die super Unterstützung. Werde mal weitersuchen und probieren.
Gruss Roland
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
Hallo, hab alles probiert, klappt nicht. Irgendwie fehlt mir der Bezug auf den Aktor bzw. dessen Schaltzustand, oder seh ich das falsch? Irgendwoher müssen die beiden readingsproxy devices doch wissen von welchem Aktor sie den Zustand anzeigen sollen?
Hab jetzt alles angehängt wie es momentan ist. Kann die Lampen zwar via readingsproxy device beide schalten, aber aber wenn ich die eine schalte, wechselt das andere Icon den Zustand und an/aus ist auch vertauscht.
Gruss Roland
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-17 14:30:35 lastCmd off
2014-08-17 14:30:42 state off
Attributes:
room Kueche
setFn {($CMD eq "on")?"B0":"BI";;}
setList on off
valueFn {($VALUE eq "B0")?"on":"off"}
webCmd on:off
Internals:
DEF Li_Kue_Fhem
DEVICE Li_Kue_Fhem
NAME Li_Kue_Ti
NR 30
NTFY_ORDER 50-Li_Kue_Ti
READING state
STATE off
TYPE readingsProxy
Content:
Li_Kue_Fhem 1
Readings:
2014-08-17 14:30:42 lastCmd off
2014-08-17 14:30:42 state off
Attributes:
room Kueche
setFn {($CMD eq "on")?"A0":"AI";;}
setList on off
valueFn {($VALUE eq "A0")?"on":"off"}
webCmd on:off
Internals:
DEF 0185008D
IODev TCM310_0
LASTInputDev TCM310_0
MSGCNT 362
NAME Li_Kue
NOTIFYDEV global
NR 23
STATE B0
TCM310_0_DestinationID FFFFFFFF
TCM310_0_MSGCNT 362
TCM310_0_PacketType 1
TCM310_0_RSSI -91
TCM310_0_ReceivingQuality bad
TCM310_0_RepeatingCounter 0
TCM310_0_SubTelNum 3
TCM310_0_TIME 2014-08-17 14:30:43
TYPE EnOcean
Readings:
2014-08-17 14:30:43 buttons pressed
2014-08-17 14:30:37 channelA A0
2014-08-17 14:30:43 channelB B0
2014-08-17 14:30:43 state B0
Attributes:
room Kueche
subDef FFF52A01
switchType universal
In der Definition des readingsProxy wid auf den Aktor Bezug genommen, woraus die Zuordnung Aktordevice-Proxy klar ist:
define proxy readingsProxy <NAME AKTORDEVICE>:channelA
--> Ist das erfüllt?
Im Aktordevice mal switchType auf direction geändert und eingelernt, auch kein Erfolg?
Alternativ schreibe erst einmal was jeweils bei Eingabe passiert:
set <NAME AKTORDEVICE> A0
set <NAME AKTORDEVICE> AI
set <NAME AKTORDEVICE> B0
set <NAME AKTORDEVICE> BI
Welche Lampe zeigt welche Reaktion.
Mhh, irgendwie hab ich da noch was nicht richtig kapiert. Die readingsproxy sind doch nur auf den virtuellen Schalter bezogen.(base-id +1 vom Cul)
Ja. Wobei der vituelle Schalter in Deinem Fall, da bidi, von mir als Aktor-Device betitelt wird:
define Aktor EnOcean FFFFFFFE <----- Adresse des Aktors (siehe Rückseite des Aktors)
attr Aktor subDef 00000001 <-----eine SenderID Deines TCMs
Genau hiervon musst Du das readingsProxy ableiten, da dieses Device den rückübertragenen Zustand des Aktors enthält (wenn Du Bestätigungstelegramme aktiviert hast->Pflicht).
Also du solltest haben:
Aktordevice/virtueller Schalter
und 2 x readingsProxy
Habe ich mich verständlicher ausgedrückt?
Achtung, ich sehe es erst jetzt: Du hast readingsProxy weiterhin vom Reading state abgeleitet. Das erklärt das Verhalten. Ändere das bitte nur auf channelA bzw. channelB, wie ich es beschrieben hatte. Das könnte es schon sein.
Mhh, jetzt versteh ich garnix mehr. Ich habe den virtuellen schalter genauso gemacht wie im Wiki beschrieben. Mit der Base.id+1, gibt ein virtuelles device mit 8 kanälen. Die hab ich dann aufgeteilt mit readings proxy in zwei devices (brauche nur zwei).
Der Aktor ist doch der Fms 61??
Ich hab jetzt noch zwei readingsproxy gemacht mit Ableitung vom Aktor, die zeigen mir jetzt alle Zustandsänderungen an, nur mit den Schaltflächen kann man nicht schalten.Das geht allerdings mit den ersten zwei readingsproxy devices. (mit den obigen)
Würde sagen geht irgendwie, aber ist noch nicht so schön. Werde mich nächstes We wieder dransetzen, muss die Woche auf Montage.
Schonmal vielen Dank für die super Hilfe.
Gruss Roland
Hmm, dann war es von mir nicht verständlich (du darfst nur 3 Devices haben)
1. Lösche bitte die zusätzlichen, neu angelegten readingProxys. (delete ...)
2. Und ändere bitte in Deinen alten readingsProxys ab, so dass channelA bzw. channelB die Readings sind. Weist Du wie?
Nicht locker lassen. Ich denke es sind nur Kleinigkeiten ;-)
Wenn das "Li_Kue" der Name Deines Aktor-Devices/virtuellen Schalters ist, dann sind die readingProxys:
define Li_Kue_SP readingsProxy Li_Kue: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
define Li_Kue_Ti readingsProxy Li_Kue:channelA
attr proxy setFn {($CMD eq "on")?"A0":"AI";;}
attr proxy setList off on
attr proxy valueFn {($VALUE eq "A0")?"on":"off"}
attr proxy webCmd off:on
Über die readingProxys solltest Du die Lampen separat schalten können.
Ob Dein Aktordevice -von dem die Readingsproxy abgeleitet sind, korrekt funktioniert/angelernt ist, kannst Du so testen:
set Li_Kue A0 ---> führt zum Einschalten der Lampe von Li_Kue_Ti
set Li_Kue AI ---> führt zum Ausschalten der Lampe von Li_Kue_Ti
set Li_Kue B0 ---> führt zum Einschalten der Lampe von Li_Kue_SP
set Li_Kue BI ---> führt zum Ausschalten der Lampe von Li_Kue_SP
Dein Aktor gehört in diese Teach-In-Gruppe: http://www.fhemwiki.de/wiki/EnOcean_Starter_Guide#Unidirektionales_4BS-Teach-In
Detailliert wurde das Teach-In/Definition hier beschrieben: http://forum.fhem.de/index.php/topic,21090.msg146389.html#msg146389
Mhh, probiert, jetzt werden die Zustandsänderungen vom Fms 61 angezeigt im Webfrontend, aber man kann nicht mehr per Pc schalten.
Vielleicht reden wir aber auch aneiander vorbei?
Ich meine im Wiki gelesen zu haben das man mit enocean virtuelle Schalter anlegen muss mit der base-id des Sticks um was schalten zu können.
Diese readingsproxy,die ich jetzt erstellt habe, haben doch nur Bezug auf den Aktor( Fms 61Np).
Li_Kue ist der Name des Fms61, aber nicht der Name meines virtuellen Schalters. Der heisst "Li_Kue_Fhem", den ich dann mit readingsproxy in "Li_Kue_Ti" und "Li_Kue_Sp" aufgeteilt hatte.
Ist nicht so einfach für nen Elektriker :-)
Der Aktor ist nach Deinen Aussagen in Fhem falsch angelernt bzw. falsch definiert. Deshalb hatte ich Dir den Wiki-Link noch einmal dazugepackt.
Du musst Li_Kue und Li_kue_fhem in das Device Li_Kue zusammenfassen:
Das, was jetzt im Li_Kue_fhem als TCM-Adresse (baseID +1) hinterlegt ist, gehört in das Atrribut subDef von Li_Kue.
Dann Li_Kue_fhem löschen. Gesteuert und Status für beide Kanäle wird über den Li_kue.
Li_Kue wird durch readingsProxy aufgeteilt, um 2 separate Anzeigen zu haben.
Man braucht bei den bidi-Aktoren keinen zusätzlichen virtuellen Schalter, der ist durch das Attribut subDef quasi im Aktor-Device des FMS integriert:
define Li_Kue EnOcean FFFFFFFE <----- Adresse des Aktors (siehe Rückseite des Aktors)
attr Li_Kue subDef XXXXXXXX <----- XXXXXXX ersetzen durch baseUd+1 die in Li_Kue_fhem eingesetzt ist.
Danke noch mal, werde ich genauso nochmal ausprobieren. Komme aber erst nächstes We dazu, muss die ganze Woche auf Montage.
Gruss Roland