Hallo,
ich würde mich gerne vergewissern, ob ich bis jetzt alles mit dem Schalter richtig gemacht habe, da dieser beim Betätigen nur ein gelbes Lichtsignal statt ein grünes gibt, bzw. wenn dies falsch ist wo mein Fehler liegt.
Was habe ich bis jetzt gemacht:
Ich habe den HM-PB-2-WM55-2 erst einmal mit der HM beigefügten Software eingerichtet (angelernt)mit allen maßnahmen (FHEM deaktivieren, AES ausgeschaltet, etc.) was dazugehört. Danach das Gleiche mit der FHEM Software (set HMLAN1 hmPairForSec 60). Im Grunde so wie ich es bei allen anderen Komponenten getan habe.
Herausgekommen sind folgende Konfigurationseinstellungen in fhem.cfg:
#------
define Mobile_Taster CUL_HM 52B332
attr Mobile_Taster autoReadReg 4_reqStatus
attr Mobile_Taster expert 2_full
attr Mobile_Taster firmware 1.4
attr Mobile_Taster model HM-PB-2-WM55-2
attr Mobile_Taster room CUL_HM
attr Mobile_Taster serialNr LEQ0065104
attr Mobile_Taster subType pushButton
attr Mobile_Taster webCmd getConfig:clear msgEvents
define FileLog_Mobile_Taster FileLog ./log/Mobile_Taster-%Y.log Mobile_Taster
attr FileLog_Mobile_Taster logtype text
attr FileLog_Mobile_Taster room CUL_HM
define CUL_HM_HM_PB_2_WM55_2_52B332_Btn_01 CUL_HM 52B33201
attr CUL_HM_HM_PB_2_WM55_2_52B332_Btn_01 model HM-PB-2-WM55-2
attr CUL_HM_HM_PB_2_WM55_2_52B332_Btn_01 peerIDs
define CUL_HM_HM_PB_2_WM55_2_52B332_Btn_02 CUL_HM 52B33202
attr CUL_HM_HM_PB_2_WM55_2_52B332_Btn_02 model HM-PB-2-WM55-2
#-----
Unter der Rubrik "Everthing" habe ich folgende Einträge bekommen:
CUL_HM_HM_PB_2_WM55_2_52B332_Btn_01 Short (to broadcast)
CUL_HM_HM_PB_2_WM55_2_52B332_Btn_02 Short (to broadcast)
und beim längeren Betätigen des Tasters steht auch mal:
CUL_HM_HM_PB_2_WM55_2_52B332_Btn_01 Long 5-8440- (to broadcast)
und weiter unten:
pushButton
Mobile_Taster CUL_HM_HM_PB_2_WM55_2_52B332_Btn_02 Short (to broadcast) getConfig clear msgEvents
Nun hierzu meine Fragen:
- Wieso blinkt der Schalter nicht grün beim Drücken?
- Sind die Einstellungen richtig?
- Unter Pushbutton ist nur ..._Btn_02 Short vermerkt. Warum ist nicht der ...Btn_01 dabei und warum steht da nur short?
- Kann ich einfach die kryptischen Namen mit CUL_HM_HM_PB_2_WM55_2_52B332_Btn_02 mit rename umbenennen?
- Ich hätte vermutet, dass es beim Drücken auf dem Taster nur den Zustand "pressed" und "not pressed" gibt. Jedoch gibt es scheinbar mehrere Zustände in Abhängigkeit der wie lang der Taster gedrückt wird. Wie kann ich diese speziellen Zustände in Bedingungen verknüpfen egal wie lange der Taster gedrückt wird?
Im Forum habe ich bereits versucht etwas zu finden jedoch habe ich nur den Wiki Eintrag gesehen, der leider nicht auf meine Punkte eingeht.
Vielen Dank für Eure Bemühungen und Tipps.
Gruß,
Peterson
er leuchtet gelb statt grün weil er nicht gepeert ist.
hierzu bieten sich eine vccu mit virtuellen an. das prinzip dazu steht im wiki bei der beschreibung des tasters. dort noch mit einem virtuellen aktor. statt dessen nimm eine vccu.
du kannst natürlich immer alles umbenennen. ich finde es inzwischen aber praktischer die eindeutigen namen beizubehalten und nur einen lesbaren alias zu vergeben.
es gibt keinen not pressed zustand. nur short und long
short oder long bekommst du wie jedes andere event über die passend definierte regex in dine notifys
das mit dem gelb leuchten steht im wiki.
gruss
andre
Hallo,
also grün und rot sind "Bestätigung erhalten" bzw. "keine Bestätigung erhalten". Bei einem Senden "toBroadcast" sendest Du ja nicht an eine bestimmte Adresse (gepeerte Actor). Somit kann auch kein Gerät den Empfang bestätigen. Rot kommt nicht, weil ohne gepeerte Gerät vom Taster auch keine Bestätigung erwartet wird.
Ein virtueller Actor oder eine VCCU können mit den Schalter gepeert werden. Dann wird an diese Adresse gesendet und fhem bzw. das vituelle Device sendet dann die Bestätigung und der Taster signalisiert den Empfang der Bestätigung mit grün.
Gruß Christoph
Hi,
ich habe es nun endlich nach der Anleitung http://www.fhemwiki.de/wiki/HM-PB-2-WM55_2fach-Funk-Wandtaster ausprobiert. Jedoch gelinkt es immer noch nicht, dass der Taster grün leuchtet. Dabei habe ich nach der Konfiguration die Anlerntaste gedrückt. Die LED blinkt während dessen auch grün, aber nach dem Anlernen blinkt es immer noch gelb (orange), was wohl bedeutet dass es nicht gepeert wurde. Leider kann ich die Ursache noch nicht erkennen. Vielleicht habt Ihr ja eine Idee. Das "set ... getconfig" habe ich nicht so ganz verstanden wie man das einsetzt. Es ha sich irgendwie nichts geändert wenn ich den Befehl so oder mit der Anlerntaste des Taster benutzt habe.
Hier meine Konfig dazu:
#-------------------------------------------------------------------------------
# Mobiler Taster
define Mobiler_Taster_1 CUL_HM 52B332
attr Mobiler_Taster_1 IODev HMLAN1
attr Mobiler_Taster_1 autoReadReg 4_reqStatus
attr Mobiler_Taster_1 expert 2_full
attr Mobiler_Taster_1 firmware 1.4
attr Mobiler_Taster_1 model HM-PB-2-WM55-2
attr Mobiler_Taster_1 room CUL_HM
attr Mobiler_Taster_1 serialNr LEQ0065104
attr Mobiler_Taster_1 subType pushButton
attr Mobiler_Taster_1 webCmd getConfig:clear msgEvents
define FileLog_Mobiler_Taster_1 FileLog ./log/Mobiler_Taster_1-%Y.log Mobiler_Taster_1
attr FileLog_Mobiler_Taster_1 logtype text
attr FileLog_Mobiler_Taster_1 room CUL_HM
define Mobiler_Taster_1_Btn_01 CUL_HM 52B33201
attr Mobiler_Taster_1_Btn_01 model HM-PB-2-WM55-2
attr Mobiler_Taster_1_Btn_01 peerIDs 1
define Mobiler_Taster_1_Btn_02 CUL_HM 52B33202
attr Mobiler_Taster_1_Btn_02 model HM-PB-2-WM55-2
#---------------------------------------------------------------------------------
# Aktor Dummy ür den Mobilen Taster
# damit dieser ein Feedback beim Drücken von FHEM bekommt
define Mobiler_Taster_1_Virtueller_Aktor CUL_HM 999998
attr Mobiler_Taster_1_Virtueller_Aktor IODev HMLAN1
attr Mobiler_Taster_1_Virtueller_Aktor autoReadReg 4_reqStatus
attr Mobiler_Taster_1_Virtueller_Aktor expert 2_full
attr Mobiler_Taster_1_Virtueller_Aktor model virtual_2
attr Mobiler_Taster_1_Virtueller_Aktor subType virtual
attr Mobiler_Taster_1_Virtueller_Aktor webCmd virtual
define Mobiler_Taster_1_Virtueller_Aktor_Btn1 CUL_HM 99999801
attr Mobiler_Taster_1_Virtueller_Aktor_Btn1 model virtual_2
attr Mobiler_Taster_1_Virtueller_Aktor_Btn1 peerIDs 1
attr Mobiler_Taster_1_Virtueller_Aktor_Btn1 webCmd press short:press long
define Mobiler_Taster_1_Virtueller_Aktor_Btn2 CUL_HM 99999802
attr Mobiler_Taster_1_Virtueller_Aktor_Btn2 model virtual_2
attr Mobiler_Taster_1_Virtueller_Aktor_Btn2 webCmd press short:press long
Was ist noch falsch?
Hier noch die Darstellung unter Everything CUL_HM:
Mobiler_Taster_1_Btn_01 Short (to broadcast)
Mobiler_Taster_1_Btn_02 Short (to broadcast)
Mobiler_Taster_1_Virtueller_Aktor_Btn1 set_press short press short press long
Mobiler_Taster_1_Virtueller_Aktor_Btn2 set_press short press short press long
Und hier noch das unter ...:
DEF 999998
IODev HMLAN1
NAME Mobiler_Taster_1_Virtueller_Aktor
NR 257
STATE
CMDs_done_Errors:1 <- Was hat das zu bedeuten?
TYPE CUL_HM
channel_01 Mobiler_Taster_1_Virtueller_Aktor_Btn1
channel_02 Mobiler_Taster_1_Virtueller_Aktor_Btn2
Gruß,
Peterson
Hallo,
als erstes "set ... clear readings" - damit werden alle alten readings gelöscht. Dann "set ... getConfig" - damit wird die aktuelle Konfiguration aus dem Gerät gelesen. Hierdurch verhindert man, das irgendwelche alten reading zwischen aktuellen stehen.
Bei dem "getConfig" sollten dann auch die peers angezeigt werden.
Alternativ - suche mal in der Commandref und dem Wiki nach HMInfo - da kann man sich auch die peers anzeigen lassen und fehler sehen.
Die peers sind readings und werden mWn nicht in der fhem.cfg gespeichert.
Gruß Christoph
Du solltest peeren - und dazu peerChan nutzen.
Das Setzen dern Config im Device macht man über kommandos (set ...) nicht über Attribute. Attribute sind nur FHEM-configurationen, keine "device-eigenen" konfigurationen.
Zitatattr Mobiler_Taster_1_Btn_01 peerIDs 1
das hat mit Sicherheit kein tool eingetragen, das warst du selbst.
Ich weise immer wieder darauf hin, dass einige Attribute vom User nicht geändert werden sollen. Die gehören dem System und werden automatisch angelegt/modifiziert. Siehe:
http://www.fhemwiki.de/wiki/HomeMatic#Attribute
probiere also "peerChan" zu nutzen, das sollte klappen
Hi,
@martin876:
ich hab laut der obigen Anleitung den peerChan durchgeführt und obiges in meinem letzten Post erhalten.
"attr Mobiler_Taster_1_Btn_01 peerIDs 1"
Diesen Eintrag habe ich nur modifiziert indem ich nur den zuvor stehenden kryptiscvhen Namen durch "Mobiler_Taster_1_Btn_01" ersetzt habe (genau wie in der Anleitung).
Wie kommst Du darauf, dass ich über Attribute die Config von devices gesetzt habe? Ich habe nur mich an die Anleitung gehalten. Diese Einträge sind etweder durch das Anlernen erfolgt oder durch die Set Befehle die in der Anleitung stehen.
@Bennemannc:
das Clearing und das "set ... getconfig" habe ich durchgeführt aber es hat irgendwie noch nicht gegriffen.
das Einzige was angezeigt wird ist die PeerID mit 00000000
Ich habe erstmal keinen Ansatzpunkt das problem zu lösen als alles neu zu machen oder gibt es noch Troubleshooting Tipps oder Lösungsansätze?
Gruß,
Peterson
virtuell peeren!!
ZitatMit virtuellem Aktor verbinden
Wenn man den Taster nicht direkt mit einem Aktor verbindet, erhält er keine Rückmeldungen, wird also immer orange und rot blinken, wenn ihr einen Befehl absetzt. Dieser wird zwar von fhem verarbeitet, fhem weiß aber nicht, dass es etwas zurückmelden soll. Daher solltet ihr Euch einen virtuellen Aktor anlegen und den Taster dann mit diesem verbinden:
In der FHEM-Web Oberfläche gebt ihr in der Kommandozeile ein (die hmId kann freigewählt werden, darf aber in echt nicht existieren):
define virtueller_Aktor CUL_HM 123456
sowie:
set virtueller_Aktor virtual 2
Jetzt habt ihr einen Virtuellen Aktor mit einem Kanal erstellt, jetzt gilt es noch das ganze mit dem realen Taster zu verbinden. Verbunden werden zuerst die Kanäle und dann wird die ganze Konfiguration am Taster gespeichert:
set LichtFlur1 peerChan 0 virtueller_Aktor_Btn1 single set
set LichtFlur2 peerChan 0 virtueller_Aktor_Btn2 single set
set LichtFlurDev getConfig
und am Taster einmal anlernen drücken, ggf. nochmal ein set LichtFlurDev getConfig
Nun drückt einmal einen Button eures Tasters. Wenn alles geklappt hatte, sollte bei Euren Kanälen im State ein (to virtueller_Aktor_Btn1) dahinter stehen und unter den Attributen etwas in den peerIDs auftauchen. Diesen virtuellen Aktor kann man übrigens als Gegenpart für beliebig viele Taster nehmen, ihr braucht also nicht für jeden Taster einen virtuellen Aktor erstellen. Um den virtuellen Aktor zu erweitern einfach ein set virtueller_Aktor virtual [Gesamtanzahl aller Kanäle] ausführen, schon habt ihr weitere Kanäle die ihr mit euren echten Tastern peeren könnt.
Am Ende umbedingt einmal "Save config" drücken, damit der virtuelle Aktor in der fhem.cfg abgespeichert wird.
Das Ganze geht auch prima mit einer vccu (virtuelle ccu, ccu ist ne Zentrale von Homematic)
Anlegen vccu:
define vccu CUL_HM HMId
attr vccu model CCU-FHEM
Für die HMId trägst du die ID von deinem HMLAN ein!
Dann lege dir in der DEF von der vccu virtuelle Buttons an (set vccu virtual <Anzahl der Buttons)
Dann
peere die Buttons von deinem Schalter mit den virtuellen Buttons der vccu
set <Button1 von deinem Schalter> peerChan 0 vccu_Btn1 single set
set <Button2 von deinem Schalter> peerChan 0 vccu_Btn2 single set
usw.
Damit hast du dann alle Buttons deines Schalters mit je einem virtuellen Button gepeert und der Schalter erhält eine Rückmeldung und quittiert mit grün
VG
Frank
Hallo Franky08,
danke für die Anleitung. Ich habe diese umgesetzt und es klappt nachdem ich auch noch die Anlerntaste vom Taster gedrückt hatte.
Gruß,
Peterson
Hallo,
nach dem peeren sollte man grundsätzlich die Anlerntaste am Gerät drücken, damit die Daten auch auf das Gerät geschrieben werden können. Gerade die batteriebetriebenen Geräte gehen nach dem Senden kurz auf Empfang um die Bestätigung abzuwarten und legen sich dann schlafen um Batterie zu sparen. Dabei wird auch das Funkmodul schlafen gelegt, so dass keine Daten empfangen werden können. Nur so kann man diese lange Batterielebensdauer erziehlen.
Gruß Christoph
@Bennemannc
Das hab ich als bekannt vorausgesetzt ;D
VG
Frank
Ein kleines Problemchen habe ich jetzt allerdings festgestellt.
Beim Abspeichern von FHEM tritt immer folgende Fehlermeldung auf:
ERROR:
vccu_Btn1 already defined, delete it first vccu_Btn2 already defined, delete it first
Ich finde jedoch nur folgende Einträge, die m.E. nicht darauf hindeuten, dass etwas falsch ist:
------
define vccu CUL_HM 257831
attr vccu IODev HMLAN1
attr vccu model CCU-FHEM
attr vccu subType virtual
attr vccu webCmd virtual:update
define vccu_Btn1 CUL_HM 25783101
attr vccu_Btn1 model CCU-FHEM
attr vccu_Btn1 peerIDs 52B33201,
attr vccu_Btn1 webCmd press short:press long
define vccu_Btn2 CUL_HM 25783102
attr vccu_Btn2 model CCU-FHEM
attr vccu_Btn2 peerIDs 52B33202,
attr vccu_Btn2 webCmd press short:press long
-------
Wo kann die Ursache der Fehlermeldung liegen?
Auch noch folgende Frage nachgeschoben:
Ich wollte die vccu_Btn1 etc. mit rename umbenennen, was aber nicht funktionierte, sprich keine Fehlermeldung trat auf aber in fhem.cfg ist die Bezeichnung gleich geblieben.
Gruß,
Peterson
Hast du fhem.cfg direkt bearbeitet oder alles über die Kommandozeile bzw über die DEF vom device gemacht? Mit save config speichern.
VG
Frank
P.S kannst auch nach dem save mal ein rereadcfg oder shutdown restart machen, nachdem der Server wieder erreichbar ist wirst du ja sehen, ob die Konfiguration gespeichert wurde
P.P.S. NIE die fhem.cfg direkt bearbeiten, etliche Fehler resultieren aus dieser Vorgehensweise !!
Ich habe in der fhem.cfg die ersten beiden Einträge vorgenommen, sprich
define vccu CUL_HM HMId
attr vccu model CCU-FHEM
Die DEF habe ich über die GUI vorgenommen und die set Befehle in der Commandline.
Abgespeichert und neugestartet habe ich den Rechner auch schon. Ohne Erfolg.
Ein rereadcfg hat auchnur die Fehlermeldung zum vorschein gebracht.
Ich hatte bis dato noch keine Probleme in der fhem.cfg was einzutragen solange ich die fhem.cfg abgespeichert und save config gemacht habe.
Ich habe auch ein paar Bedingungen über die fhem.cfg direkt eingebaut, wo ich nicht wüsste wie ich das anders vornehmen sollte.
Gruß,
Peterson
Etliche Probleme lassen sich vermeiden, wenn die fhem.cfg direkt bearbeitet wird und zu 99% läßt sich auch alles über Webif von fhem machen.
Sieh mal in deiner fhem.cfg (das ist jetzt so ein Fall, wo es nur so geht) nach, ob da doppelte Einträge von deinen Konfigurationsdaten stehen, wenn ja dann kommentiere die aus (mit # davor).
Wenn das nicht zum Erfolg führt, dann poste deine fhem.cfg mal aber bitte in Code Tags (ist besser lesbar)
ZitatIch wollte die vccu_Btn1 etc. mit rename umbenennen, was aber nicht funktionierte, sprich keine Fehlermeldung trat auf aber in fhem.cfg ist die Bezeichnung gleich geblieben.
Ich denke das du die virtuellen Buttons nicht umbenennen kannst, da das die Internals vom device sind. Aber das kann dir nur Martin beantworten, er hats erfunden.
VG
Frank
Hallo zusammen,
als Newbie muss ich mich nicht outen, wenn ich meineFrage stelle.
Ich hab einen funktionierenden FHEM-Server auf einem Raspberry laufen. Das erklärt sich von sebst !
Das Ansteuern der Intertechno-Steckdosen und Homematic-Steckdosen funktioniert problemlos.
Da ich von den Funkfernbedienungen der Intertechnosteckdosen weg möchte, habe ich mi eine 6-fach Wandtaster (Homematic) zugelegt. Soweit ich es erlesen konnte, muss man einen virtuellen Aktor anlegen. Das hat auch soweit funktioniert. Ich sehe jetzt nach dem Drücken von Taste 1 bzw 2, das der Status des virtuellen Aktors von 'on' auf 'off' bzw umgekehrt wechselt.
Jetzt finde ich einfach nicht den Punkt, an dem ich die Verbindun g zu einem bestehenden Aktor herstellen kann.
Vielleicht habe ich ja auch ein absolutes Verständnisproblem, aber ich zähle einfach mal auf Eure Ratschläge, aber bitte keine Schläge ::)
Viele Grüsse Jan
Hallo,
Homematic kannst Du direkt peeren ohne virtuelles Irgendetwas. Der Befehl ist immer "set Sensor peerChan 0 Actor ...."
Also " set Taster_Btn1 peerChan 0 Steckdose ..." Für das ... kannst Du wählen:
1) dual set - dann wird der Kanal 2 des Tasters automatisch mit gepeert. Ein Taster für ein und einer für aus.
2) single set - dann wird nur der Kanal 1 gepeert und die Steckdose schaltet im "toggle" Modus. Immer im Wechsel ein,aus,ein,...
Bei Zwei könntest Du also 6 Steckdosen schalten.
Wie das mit IT funktionier, kann ich Dir leider nicht sagen - die habe ich nicht.
Gruß Christoph
wenn du mit dem HM taster die IT steckdosen schalten willst brauchst du den virtuellen aktor (oder eventuell besser einen virtuelen channel der vccu) damit der taster grün leuchtet nach dem betätigen und musst du über ein notify in fhem gehen.
im einsteiger pdf findest du mehr dazu. zum virtuellen aktor und der vccu auch im wiki.
gruss
andre
Hallo zusammen,
das geht ja fix mit den Antworten.
Ich wollte mal langsam anfangen und habe die IT Steckdosen aussen vor gelassen und habe versucht eine HM Steckdose einzubinden. Allerdings bekomme ich nach der Schreibweise:
set Taster_Btn1 peerChan 0 Steckdose single set
die Meldung "please enter peer"
In dem PDF bin ich in Sachen HM noch nicht fündig geworden, gebe da aber noch nicht auf.
Viele Grüsse
Jan
Hallo,
statt Steckdose muss natürlich der Name des Devices - also der Steckdose angegeben werden. Ebenso muss der Taster_Btn1 Name natürlich stimmen.
Am besten gehst Du auf den Tasterkanal. Dort kannst Du das mit dem "set" machen (oberster Abschnitt auf der Seite).
Gruß Christoph
Hallo Christoph,
:D
da hab ich mich wohl etwas unglücklich ausgedrück.
Das habe ich schon auf meine Namen umgeschrieben, also
set SW_SZ_Btn1 peerChan 0 HM_PSW_01 single set
danach erscheint dann die Meldung "please enter peer"
Viele Grüsse
Jan
Hallo,
also ich habe eine Steckdose mit Leistungsmessung, bei der gibt es einen Kanal "Sw".
Mach mal eine List auf die Steckdose - also "list HM_PSW_01" in der Befehlszeile eingeben.
Gruß Christoph
Hallo pixelmacher,
ich kann mich gut in deine Lage versetzen, da ich auch erst vor nicht all zu langer Zeit einen Wandtaster integriert habe (WM55-6), und das Ding oft nicht so wollte wie ich.
Die Fehlermeldung "please enter peer" bekam ich immer dann, wenn der Name eines Peers nicht korrekt war. Also überprüfe doch mal, ob "SW_SZ_Btn1" oder "HM_PSW_01" bei dir wirklich stimmt.
Evtl. fehlte ein "save" nach einem "rename"?
Hier ist ein Beispiel von mir, dass den 1. Taster des Schalters mit einem meiner Rolladenaktoren "peert". Bei der Option "dual" wird auch der 2. Taster mit"gepeert" (AUF/AB).
set wzSwitch6_Btn_01 peerChan 0 wzRolloEsseckRechts dual set
Grüße
RJ
Hallöchen,
ich muss mich leider zu diesem Thema noch mal einschalten und hoffe jemand kann mir helfen.
Ich habe zwar nun den Funkwandschalter in meiner fhem.cfg eingerichtet, aber mir fällt es leider irgendwie schwer den weiter zu verwenden, denn egal ob der Taster gedrückt oder nicht gedrückt wird zeigt der State immer ein "short (to HMLAN1)" an. Ich habe eigentlich vermutet, dass der state irgendwie mit open und closed ist.
Kann mir da jemand helfen?
Peterson
Hier nochmal meine Config dazu:
define Mobiler_Taster_1 CUL_HM 52B332
attr Mobiler_Taster_1 IODev HMLAN1
attr Mobiler_Taster_1 autoReadReg 4_reqStatus
attr Mobiler_Taster_1 expert 2_full
attr Mobiler_Taster_1 firmware 1.4
attr Mobiler_Taster_1 model HM-PB-2-WM55-2
attr Mobiler_Taster_1 room CUL_HM
attr Mobiler_Taster_1 serialNr LEQ0065104
attr Mobiler_Taster_1 subType pushButton
attr Mobiler_Taster_1 webCmd getConfig:clear msgEvents
define FileLog_Mobiler_Taster_1 FileLog ./log/Mobiler_Taster_1-%Y.log Mobiler_Taster_1
attr FileLog_Mobiler_Taster_1 logtype text
attr FileLog_Mobiler_Taster_1 room CUL_HM
define Mobile_Taster_1_Btn1 CUL_HM 52B33201
attr Mobile_Taster_1_Btn1 model HM-PB-2-WM55-2
attr Mobile_Taster_1_Btn1 peerIDs 00000000,25783101,
define Mobile_Taster_1_Btn2 CUL_HM 52B33202
attr Mobile_Taster_1_Btn2 model HM-PB-2-WM55-2
attr Mobile_Taster_1_Btn2 peerIDs 00000000,25783102,
#---------------------------------------------------------------------------------
# Virtuelle Aktor für Mobiler Taster
# damit der Taster beim Drücken ein Feedback von FHEM bekommt
define vAktor_Mobiler_Taster_1 CUL_HM 999998
attr vAktor_Mobiler_Taster_1 IODev HMLAN1
attr vAktor_Mobiler_Taster_1 expert 2_full
attr vAktor_Mobiler_Taster_1 model virtual_2
attr vAktor_Mobiler_Taster_1 subType virtual
attr vAktor_Mobiler_Taster_1 webCmd virtual
define vAktor_Mobiler_Taster_1_Btn1 CUL_HM 99999801
attr vAktor_Mobiler_Taster_1_Btn1 model virtual_2
attr vAktor_Mobiler_Taster_1_Btn1 peerIDs 52B33201,
attr vAktor_Mobiler_Taster_1_Btn1 webCmd press short:press long
define vAktor_Mobiler_Taster_1_Btn2 CUL_HM 99999802
attr vAktor_Mobiler_Taster_1_Btn2 model virtual_2
attr vAktor_Mobiler_Taster_1_Btn2 peerIDs 52B33202,
attr vAktor_Mobiler_Taster_1_Btn2 webCmd press short:press long
state zeig den letzen zustand an. und das ist bei einem taster meistens das er gedrückt wurde.
aber warum kümmerst du dich überhaupt um state?
du willst doch in dem augenblick in dem etwas passiert (also gerade gedrückt wird) etwas tun. dazu musst du dich an die events hängen. per notify, watchdog, sequence, DOIF oder was auch immer.
zu so ziemlich allem findest du in verbindung mit diesem und anderen tastern oder fernbedienungen beispiele im forum und im wiki.
gruß
andre
Hallo justme1968,
danke für den Hinweis. Du hast recht, ich hatte einen Knoten in meinem Gedankengängen. Ich habe es nun m.E. richtig umgesetzt aber irgendwie noch ein Problem damit.
Der notify wird 2 Mal ausgelöst obwohl der Taster nur einmal gedrückt wird. Ich komme irgendwie nicht drauf warum.
Als ich statt den Tasters einen Dummy genommen habe, hat alles funktioniert. Somit muss es irgendetwas mit dem Taster an sich haben.
Vielleicht kannst Du oder jemand anders mir das erklären und vielleicht eine Lösung aufzeigen.
Ich hab den Verbose auf 5 gesetzt und folgendes geloggt:
2014.11.23 10:10:45 5: HMLAN_Parse: HMLAN1 R:E52B332 stat:0000 t:0CB23696 d:FF r:FFA7 m:61 A640 52B332 257831 01E5
2014.11.23 10:10:45 5: HMLAN1 dispatch A0B61A64052B33225783101E5::-89:HMLAN1
2014.11.23 10:10:45 5: CUL_HM Mobiler_Taster_1 prep ACK for 01
2014.11.23 10:10:45 5: HMLAN: Skip ACK
2014.11.23 10:10:45 5: CUL_HM Mobiler_Taster_1 protEvent:CMDs_done
2014.11.23 10:10:45 5: CUL_HM Mobiler_Taster_1 sent ACK:2
2014.11.23 10:10:45 5: Triggering Mobiler_Taster_1 (3 changes)
2014.11.23 10:10:45 5: Notify loop for Mobiler_Taster_1 battery: ok
2014.11.23 10:10:45 4: eventTypes: CUL_HM Mobiler_Taster_1 battery: ok -> battery: ok
2014.11.23 10:10:45 4: eventTypes: CUL_HM Mobiler_Taster_1 Mobiler_Taster_1_Btn1 Short (to HMLAN1) -> Mobiler_Taster_1_Btn1 Short (to HMLAN1)
2014.11.23 10:10:45 4: eventTypes: CUL_HM Mobiler_Taster_1 CMDs_done -> CMDs_done
2014.11.23 10:10:45 4: eventTypes: CUL_HM Mobiler_Taster_1 state: CMDs_done -> state: CMDs_done
2014.11.23 10:10:45 5: Triggering Mobiler_Taster_1_Btn1 (2 changes)
2014.11.23 10:10:45 5: Notify loop for Mobiler_Taster_1_Btn1 Short (to HMLAN1)
2014.11.23 10:10:45 4: eventTypes: CUL_HM Mobiler_Taster_1_Btn1 Short (to HMLAN1) -> Short (to HMLAN1)
2014.11.23 10:10:45 4: eventTypes: CUL_HM Mobiler_Taster_1_Btn1 trigger: Short_229 -> trigger: Short_229
2014.11.23 10:10:45 4: eventTypes: CUL_HM Mobiler_Taster_1_Btn1 state: Short (to HMLAN1) -> state: Short (to HMLAN1)
2014.11.23 10:10:45 5: Triggering test_notify_2
2014.11.23 10:10:45 4: test_notify_2 exec
IF ([AA_I_V_S] eq "on")
(
IF ([S_T_F_K_S] eq "on")
(
set AA_I_E_S on,
set AA_I_V_S off,
set AA_A_S aktiv
)
ELSE
(
set AA_S_S aktiv,
set AA_A_S inaktiv
)
)
ELSE
(
IF ([AA_A_S] eq "on" || [AA_I_E_S] eq "on")
(
set AA_A_S off,
set AA_I_E_S off,
set AA_A_a_S off,
set AA_A_S inaktiv
)
)
....
2014.11.23 10:10:45 5: Triggering test_notify_2
2014.11.23 10:10:45 4: test_notify_2 exec
IF ([AA_I_V_S] eq "on")
....
Vor dem 2. Triggering ist kein Log Eintrag bzgl. CUL_HM Mobiler_Taster_1_Btn1
Die Konfig sieht so aus (ist aber im Log schon zu erkennen):
define test_notify_2 notify (Mobiler_Taster_1_Btn1) \
IF ([AA_I_V_S] eq "on")\
(\
IF ([S_T_F_K_S] eq "on")\
(\
set AA_I_E_S on,\
set AA_I_V_S off,\
set AA_A_S aktiv\
)\
ELSE\
(\
set AA_S_S aktiv,\
set AA_A_S inaktiv\
)\
)\
ELSE\
(\
IF ([AA_A_S] eq "on" || [AA_I_E_S] eq "on")\
(\
set AA_A_S off,\
set AA_I_E_S off,\
set AA_A_a_S off,\
set AA_A_S inaktiv\
)\
)
Hier die Konfig des Tasters:
define Mobiler_Taster_1 CUL_HM 52B332
attr Mobiler_Taster_1 IODev HMLAN1
attr Mobiler_Taster_1 autoReadReg 4_reqStatus
attr Mobiler_Taster_1 expert 2_full
attr Mobiler_Taster_1 firmware 1.4
attr Mobiler_Taster_1 model HM-PB-2-WM55-2
attr Mobiler_Taster_1 room CUL_HM
attr Mobiler_Taster_1 serialNr LEQ0065104
attr Mobiler_Taster_1 subType pushButton
attr Mobiler_Taster_1 webCmd getConfig:clear msgEvents
define FileLog_Mobiler_Taster_1 FileLog ./log/Mobiler_Taster_1-%Y.log Mobiler_Taster_1
attr FileLog_Mobiler_Taster_1 logtype text
attr FileLog_Mobiler_Taster_1 room CUL_HM
define Mobiler_Taster_1_Btn1 CUL_HM 52B33201
attr Mobiler_Taster_1_Btn1 model HM-PB-2-WM55-2
attr Mobiler_Taster_1_Btn1 peerIDs 00000000,25783101,
define Mobiler_Taster_1_Btn2 CUL_HM 52B33202
attr Mobiler_Taster_1_Btn2 model HM-PB-2-WM55-2
attr Mobiler_Taster_1_Btn2 peerIDs 00000000,25783102,
#---------------------------------------------------------------------------------
# Virtuelle Aktor für Mobiler Taster
# damit der Taster beim Drücken ein Feedback von FHEM bekommt
define vAktor_Mobiler_Taster_1 CUL_HM 999998
attr vAktor_Mobiler_Taster_1 IODev HMLAN1
attr vAktor_Mobiler_Taster_1 expert 2_full
attr vAktor_Mobiler_Taster_1 model virtual_2
attr vAktor_Mobiler_Taster_1 subType virtual
attr vAktor_Mobiler_Taster_1 webCmd virtual
define vAktor_Mobiler_Taster_1_Btn1 CUL_HM 99999801
attr vAktor_Mobiler_Taster_1_Btn1 model virtual_2
attr vAktor_Mobiler_Taster_1_Btn1 peerIDs 52B33201,
attr vAktor_Mobiler_Taster_1_Btn1 webCmd press short:press long
define vAktor_Mobiler_Taster_1_Btn2 CUL_HM 99999802
attr vAktor_Mobiler_Taster_1_Btn2 model virtual_2
attr vAktor_Mobiler_Taster_1_Btn2 peerIDs 52B33202,
attr vAktor_Mobiler_Taster_1_Btn2 webCmd press short:press long
#---------------------------------------------------------------------------------
Gruß,
Peterson
die regex in deinem notify ist nicht genau genug und matched auf mehr als ein event.
es reicht nicht nur den device namen (Mobiler_Taster_1_Btn1) anzugeben. der kommt natürlich in jedem event vor:
Zitat2014.11.23 10:10:45 4: eventTypes: CUL_HM Mobiler_Taster_1_Btn1 Short (to HMLAN1) -> Short (to HMLAN1)
2014.11.23 10:10:45 4: eventTypes: CUL_HM Mobiler_Taster_1_Btn1 trigger: Short_229 -> trigger: Short_229
2014.11.23 10:10:45 4: eventTypes: CUL_HM Mobiler_Taster_1_Btn1 state: Short (to HMLAN1) -> state: Short (to HMLAN1)
gruss
andre
Hallo justme1968,
danke für den Tipp. Genau das war es.
Gruß,
Peterson
Hallo zusammen,
ich versuche - leider erfolglos - einen Button (HM-PB-2-WM55-2) mit einem Schaltaktor (HM-LC-SW1-FM) zu peeren. Beide Geräte sind mit dem HM-LAN-CFG gepairt. Mein Peer-Versuch:
Set wz.button_01 peerChan 0 wz.deckenlampe single set
Danach drücke ich kurz den Pair/peer-Button auf der Rückseite des Buttons. Ist das soweit richtig?
Bitte entschuldigt die Frage für dieses doch recht lächerliche Problem. Die Deckenlampe schalte ich btw bislang über die Zentrale, d.h. das funktioniert. Die Broadcasts des Buttons stehen ebenfalls in der Logdatei. Nur gepeert bekomme ich die Mistdinger einfach nicht :(.
Nun noch die Auszüge aus den Logs und Konfigdateien:
pi@raspyFHEM /opt/fhem/log $ tail -10 wz.button-2015.log
2015-02-20_11:18:18 wz.button wz.button_01 Long 13-8440- (to broadcast)
2015-02-20_11:18:29 wz.button battery: ok
2015-02-20_11:18:29 wz.button wz.button_01 Short (to broadcast)
2015-02-20_11:18:30 wz.button D-firmware: 1.4
2015-02-20_11:18:30 wz.button D-serialNr: LEQ0809179
2015-02-20_11:18:31 wz.button R-pairCentral: 0x000000
2015-02-20_11:18:38 wz.button CMDs_pending
2015-02-20_11:42:22 wz.button D-firmware: 1.4
2015-02-20_11:42:22 wz.button D-serialNr: LEQ0809179
2015-02-20_11:42:28 wz.button CMDs_pending
Auszug aus der fhem.cfg:
define wz.deckenlampe CUL_HM 2DB4E6
attr wz.deckenlampe IODev HMLAN1
attr wz.deckenlampe autoReadReg 4_reqStatus
attr wz.deckenlampe expert 2_full
attr wz.deckenlampe firmware 2.5
attr wz.deckenlampe model HM-LC-SW1-FM
attr wz.deckenlampe peerIDs 00000000,
attr wz.deckenlampe room Wohnzimmer
attr wz.deckenlampe serialNr LEQ0745831
attr wz.deckenlampe subType switch
attr wz.deckenlampe webCmd statusRequest:toggle:on:off
define FileLog_wz.deckenlampe FileLog ./log/wz.deckenlampe-%Y.log wz.deckenlampe
attr FileLog_wz.deckenlampe logtype text
attr FileLog_wz.deckenlampe room Wohnzimmer
define ActionDetector CUL_HM 000000
attr ActionDetector event-on-change-reading .*
attr ActionDetector model ActionDetector
define wz.button CUL_HM 2EBD49
attr wz.button IODev HMLAN1
attr wz.button autoReadReg 4_reqStatus
attr wz.button expert 2_full
attr wz.button firmware 1.4
attr wz.button model HM-PB-2-WM55-2
attr wz.button room Wohnzimmer
attr wz.button serialNr LEQ0809179
attr wz.button subType pushButton
attr wz.button webCmd getConfig:clear msgEvents
define FileLog_wz.button FileLog ./log/wz.button-%Y.log wz.button
attr FileLog_wz.button logtype text
attr FileLog_wz.button room CUL_HM
define wz.button_01 CUL_HM 2EBD4901
attr wz.button_01 model HM-PB-2-WM55-2
attr wz.button_01 peerIDs
define bz.button_02 CUL_HM 2EBD4902
attr bz.button_02 model HM-PB-2-WM55-2
Ausgabe von list wz.button:
Internals:
BNO 6
BNOCNT 13
DEF 2EBD49
HMLAN1_MSGCNT 31
HMLAN1_RAWMSG RA67EF714,0001,16B85D0C,FF,FF9A,16A0102EBD492727270202000A000B000C000000
HMLAN1_RSSI -102
HMLAN1_TIME 2015-02-20 11:18:34
IODev HMLAN1
LASTInputDev HMLAN1
MSGCNT 31
NAME wz.button
NR 86
STATE CMDs_pending
TYPE CUL_HM
channel_01 wz.button_01
channel_02 bz.button_02
lastMsg No:16 - t:10 s:2EBD49 d:272727 0202000A000B000C000000
protCmdPend 8 CMDs pending
protLastRcv 2015-02-20 11:18:34
protResnd 1 last_at:2015-02-20 11:18:38
protSnd 13 last_at:2015-02-20 11:18:34
protState CMDs_pending
rssi_at_HMLAN1 avg:-93.22 min:-102 max:-81 lst:-102 cnt:31
Readings:
2015-02-17 14:00:45 CommandAccepted yes
2015-02-20 11:18:30 D-firmware 1.4
2015-02-20 11:18:30 D-serialNr LEQ0809179
2015-02-20 11:18:34 PairedTo 0x000000
2015-02-20 11:18:31 R-pairCentral 0x000000
2015-02-20 11:18:34 RegL_00: 02:00 0A:00 0B:00 0C:00 00:00
2015-02-20 11:18:29 battery ok
2015-02-20 11:18:38 state CMDs_pending
cmdStack:
++A0012727272EBD4901040000000001
++A0012727272EBD490103
++A0012727272EBD4902040000000001
++A0012727272EBD490203
++A0012727272EBD4900040000000000
++A0012727272EBD4901040000000001
++A0012727272EBD490103
++A0012727272EBD4902040000000001
++A0012727272EBD490203
Helper:
addVal 1
cSnd 012727272EBD4901040000000001
mId 00C2
rxType 28
Io:
newChn +2EBD49,02,01,1E
nextSend 1424427514.1763
prefIO
rxt 2
vccu
p:
2EBD49
00
01
1E
Mrssi:
mNo 16
Io:
HMLAN1 -100
Prt:
bErr 0
sProc 2
wuReSent 2
Q:
qReqConf
qReqStat
Role:
dev 1
Rpt:
IO HMLAN1
flg A
ts 1424427514.10299
ack:
HASH(0xf103e8)
1680022727272EBD4900
Rssi:
At_hmlan1:
avg -93.2258064516129
cnt 31
lst -102
max -81
min -102
Shadowreg:
Attributes:
IODev HMLAN1
autoReadReg 4_reqStatus
expert 2_full
firmware 1.4
model HM-PB-2-WM55-2
room Wohnzimmer
serialNr LEQ0809179
subType pushButton
webCmd getConfig:clear msgEvents
Ausgabe von list wz.deckenlampe
Internals:
DEF 2DB4E6
HMLAN1_MSGCNT 8
HMLAN1_RAWMSG RA688E925,0001,16C24D11,FF,FFB4,1B80022DB4E6272727010100004B
HMLAN1_RSSI -76
HMLAN1_TIME 2015-02-20 11:29:25
IODev HMLAN1
LASTInputDev HMLAN1
MSGCNT 8
NAME wz.deckenlampe
NR 56
STATE off
TYPE CUL_HM
lastMsg No:1B - t:02 s:2DB4E6 d:272727 010100004B
protLastRcv 2015-02-20 11:29:25
protSnd 8 last_at:2015-02-20 11:29:25
protState CMDs_done
rssi_HMLAN1 avg:-76 min:-77 max:-75 lst:-75 cnt:2
rssi_at_HMLAN1 avg:-76.25 min:-81 max:-75 lst:-76 cnt:8
Readings:
2015-02-20 11:29:25 CommandAccepted yes
2015-01-06 21:54:22 D-firmware 2.5
2015-01-06 21:54:22 D-serialNr LEQ0745831
2015-01-31 21:25:06 PairedTo 0x272727
2015-01-05 13:05:41 R-confBtnTime permanent
2015-01-05 13:05:41 R-intKeyVisib invisib
2015-01-05 13:05:41 R-localResDis off
2015-01-05 13:05:41 R-pairCentral 0x272727
2015-01-05 13:05:41 R-powerUpAction off
2015-01-05 13:05:41 R-sign off
2015-01-05 13:05:41 R-statusInfoMinDly 2 s
2015-01-05 13:05:41 R-statusInfoRandom 1 s
2015-01-05 13:05:41 R-transmitTryMax 6
2015-01-31 21:25:05 RegL_00: 02:01 0A:27 0B:27 0C:27 15:FF 18:00 00:00
2015-01-31 21:25:09 RegL_01: 08:00 30:06 57:24 56:00 00:00
2015-02-20 11:29:25 deviceMsg off (to HMLAN1)
2015-02-20 11:29:25 level 0
2015-02-20 11:29:25 pct 0
2015-02-20 11:29:25 recentStateType ack
2015-02-20 11:29:25 state off
2015-02-20 11:29:25 timedOn off
Helper:
cSnd 112727272DB4E60201000000
dlvlCmd ++A0112727272DB4E60201000000
mId 0004
rxType 1
Io:
newChn +2DB4E6,00,01,00
nextSend 1424428165.34396
prefIO
rxt 0
vccu
p:
2DB4E6
00
01
00
Mrssi:
mNo 1B
Io:
HMLAN1 -74
Prt:
bErr 0
sProc 0
Rspwait:
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
prs 1
Rssi:
Hmlan1:
avg -76
cnt 2
lst -75
max -75
min -77
At_hmlan1:
avg -76.25
cnt 8
lst -76
max -75
min -81
Attributes:
IODev HMLAN1
autoReadReg 4_reqStatus
expert 2_full
firmware 2.5
model HM-LC-SW1-FM
peerIDs 00000000,
room Wohnzimmer
serialNr LEQ0745831
subType switch
webCmd statusRequest:toggle:on:off
edit: Wie immer DANKE für Tipps;-)
LG blu
Zitat2015-02-20 11:18:34 PairedTo 0x000000
2015-02-20 11:18:31 R-pairCentral 0x000000
noch nicht gepairt dein Taster
und dann noch
ZitatprotCmdPend 8 CMDs pending
da warten noch einige Befehle
ung ganz schlimm deine Funksignalstärke
Zitat
rssi_at_HMLAN1 avg:-93.22 min:-102 max:-81 lst:-102 cnt:31
Merke Kein vollständiges PAIREN, dann geht auch kein PEEREN
Hi fhem-hm-knecht,
dank dir hat es geklappt! :)
Bez. des fehlenden Pairings hab' ich Bauklötze gestaunt. Ich weiß nicht warum das bei mir permanent so schlecht läuft (am Funkempfang liegt es btw nicht, ich hatte nur beim Erstellen der Logs mit dem Taster im Bett zwei Stockwerke über dem HMLAN gelegen; dein Hinweis ist mir aber dennoch wichtig, d.h. nämlich, dass ich künftig vielleicht noch einen zweiten Adapter benötige). Ich wusste aber auch nicht, dass es Voraussetzung für das Peeren ist und hatte nicht darauf geachtet.
Ich habe das Peering nun mit der HM-Software erledigt und dort bei der Gelegenheit alle Devices aufgenommen und alles auf AES umgestellt (läuft auch mit FHEM :)). Dort hat das Pairen des Buttons sofort geklappt, nachdem es zuvor via FHEM nie funktioniert hatte (alle anderen Devices allerdings schon).
lg blu
ps beim Arbeiten mit der HM-Windows-Software fiel mir auf, dass ich viele Devices nicht via Seriennummer pairen konnte, sondern oft die Anlerntaste brauchte (und dazu z.B. auf die Leiter an einen Baldachin musst - grr).