Hallo Leute,
Habe den Motion sensor von Fibaro. Finde ihn soweit super.
Habe nur eine Frage zu dem Bewegungsmelder. Kann der nur diese Texte schreibe oder kennt der auch einfach an/off.
Habe irgendwo gelesen das er auch ff f0 melden kann oder so in der art. Würde nämlich morgens gerne mit dem Bewegungsmelder das Radio im Wohnzimmer anschalten lassen.
Habe mal eine List vom sensor mit drunter gepackt. Vielleicht habe ich ja nur noch etwas nicht angeschaltet.
Schon mal danke für eure Hilfe.
Internals:
DEF ff8be34c 12
FUUID 5fd4ce90-f33f-300e-7dbe-a2f92bc27f58a502
IODev ZWDongle_0
LASTInputDev ZWDongle_0
MSGCNT 433
NAME ZWave_SENSOR_NOTIFICATION_12
NR 59
STATE wakeupInterval 86400 1
TYPE ZWave
ZWDongle_0_MSGCNT 433
ZWDongle_0_RAWMSG 0004000c097105000000ff070800
ZWDongle_0_TIME 2021-01-09 12:16:27
ZWaveSubDevice no
homeId ff8be34c
isWakeUp 1
lastMsgSent 1610183861.53671
nodeIdHex 0c
READINGS:
2021-01-09 12:16:27 alarm HomeSecurity: Motion Detection - Unknown Location
2021-01-09 12:13:54 luminance 48 Lux
2020-12-12 15:07:38 model FIBARO System FGMS001-ZW5 Motion Sensor
2020-12-12 15:07:38 modelConfig fibaro/fgmszw5.xml
2020-12-12 15:07:38 modelId 010f-0801-1002
2020-12-12 15:07:37 state wakeupInterval 86400 1
2021-01-09 11:29:21 temperature 20.9 C
2021-01-09 10:17:41 timeToAck 0.027
2021-01-09 10:17:41 transmit OK
2021-01-09 10:17:39 wakeup notification
2020-12-12 15:07:39 zwavePlusInfo version:01 role:SleepingReportingSlave node:Z-Wave+Node installerIcon:0c07 userIcon:0c07
Attributes:
IODev ZWDongle_0
alias Magisches Auge
classes ZWAVEPLUS_INFO VERSION MANUFACTURER_SPECIFIC DEVICE_RESET_LOCALLY ASSOCIATION_GRP_INFO ASSOCIATION POWERLEVEL WAKE_UP BATTERY ALARM CRC_16_ENCAP CONFIGURATION SENSOR_MULTILEVEL MULTI_CHANNEL_ASSOCIATION APPLICATION_STATUS SENSOR_BINARY SENSOR_ALARM SECURITY FIRMWARE_UPDATE_MD
room ZWave
vclasses ALARM:5 APPLICATION_STATUS:1 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 BATTERY:1 CONFIGURATION:1 CRC_16_ENCAP:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:3 MANUFACTURER_SPECIFIC:2 MULTI_CHANNEL_ASSOCIATION:2 POWERLEVEL:1 SECURITY:1 SENSOR_ALARM:1 SENSOR_BINARY:1 SENSOR_MULTILEVEL:8 VERSION:2 WAKE_UP:2 ZWAVEPLUS_INFO:2
Also soweit ich das hinbekommen habe (gibt auch irgendwo einen Thread und da war auch Christian Krikan der Meinung) geht es nur über ein userReadings.
Bzw. kannst du dir nat. auch direkt ein notify/DOIF auch auf den "alarm-Text" anlegen (lassen per Eventmonitor: https://wiki.fhem.de/wiki/Event_monitor )...
Hier mal das userReadings:
attr ZWave_SENSOR_NOTIFICATION_12 userReadings motion_state:alarm_HomeSecurity.* {if(ReadingsVal($name,"alarm_HomeSecurity","n.a.") eq "Motion Detection - Unknown Location, notificationIsOn"){return "motion"}elsif(ReadingsVal($name,"alarm_HomeSecurity","n.a.") eq "Event cleared: Motion Detection - Unknown Location, arg 108, notificationIsOn"){return "noMotion"}else{return "unknown"}}
Damit hast du dann ein "neues" Reading namens "motion_state" (kannst du auch anders nennen, wenn du willst) und da steht dann eben "motion" oder "noMotion" oder eben "unknown" (wenn irgendwas kommt was nicht "Motion" ist). Kannst du nat. auch anpassen...
Eventuell auch mal "vernünftige" Namen überlegen, macht die "Programmierung" von "Automatiken" einfacher. Ist beim Bewegungsmelder verm. nicht ganz so wichtig aber schadet nicht. Stichwort: devSpec...
Zitat von: commandref
Geräte-Spezifikation (devspec)
[EN DE]
Die Befehle attr, set, get, usw. attr, deleteattr, displayattr, delete, get, list, set, setreading, setstate, trigger können eine komplexere Gerätespezifikation als Argumente enthalten, die auch eine Anzahl von Geräten betreffen kann. Eine Gerätespezifikation kann folgendes sein:
ein einzelner Gerätename. Dies ist der Normalfall
eine durch Komma(,) getrennte Liste von Gerätenamen
ein regulärer Ausdruck
ein NAME=WERT Ausdruck, wo NAME ein "Internal" Wert wie TYPE ist, ein Reading-Name oder ein Attribut. WERT ist ein regulärer Ausdruck. Um die Bedingung zu negieren, muss NAME!=WERT verwendet werden. Um die Suche einzugrenzen, kann man als Praefix i: für internal Werte, r: für Reading-Namen und a: für Attribute verwenden, siehe das Beispiel unten. Groß-/Kleinschreibung wird durch die Verwendung von ~ oder !~ ignoriert.
Falls die Spezifikation von :FILTER=NAME=WERT gefolgt wird, dann wird die zuvor gefundene Liste durch diesen neuen Ausdruck gefiltert.
Beispiele:
set lamp1 on
set lamp1,lamp2,lamp3 on
set lamp.* on
set room=kitchen off
set room=kitchen:FILTER=STATE=on off
set room=kitchen:FILTER=STATE!=off off
list disabled=
list room~office
list TYPE=FS20 STATE
list i:TYPE=FS20 STATE
Bemerkungen:
die Spezifikation kann keine Leerzeichen enthalten.
falls ein Gerätename exakt dem Spezifikation entspricht, dann werden keine reguläre Ausdrücke oder Filter ausgewertet.
zuerst wird die durch Komma getrennte Spezifikation abgearbeitet, dann folgen die regulären Ausdrücke und die Filter
die Befehlszeile kann die selbe Gerätebezeichnung mehrfach enthalten z.B.: "set lamp3,lamp3 on". Lamp3 wird hier zwei Mal eingeschalten.
um Strukturen mit komplexeren Anforderungen zu realisieren lesen Sie bitte den Abschnitt zu structure.
Die "alten" Fibaro "Augen" haben noch open/closed gesendet (habe ich auch noch)...
Anmerkung: dein list ist etwas "kurz". Hast du schon getConfigAll, getAssociationAll, get model etc. ausgeführt? Und nat. immer mit "Auge aufwecken" ;)
Wenn du regelmäßig Batteriewerte willst, dann musst du die "abfragen". Geht nat. auch nur bei "wakeup", daher habe ich noch folgendes notify:
define nZWaveGetBattery notify .*.wakeup:.notification get $NAME battery
Gruß, Joachim
Wenn man den Controller in andere/weitere passende Assoziationsgruppen des Sensors aufnimmt, werden Bewegungen auch anders gemeldet. Aber das führt tendenziell zu Problemen, da der Funkverkehr deutlich steigt. Probleme im Funkverkehr könnten dann sein: Telegrammverluste, Heruntertakten von 100kb auf 9.6 kb mit der Folge kaputter Readings wegen schwächerer Checksummenabsicherung der Telegramme,... Das tritt dann ggfs. nicht nur bei der Kommunikation zwischen dem Sensor und den Controller auf, sondern kann im ganzen Netz negative Folgen haben und solche Effekte hervorrufen. Darum rate ich von davon ab bzw. erwähne es oft nicht ;) . Minimierung der Funklast und Vermeidung unnötiger Telegramme ist aus meiner Sicht eine gute Basis für ein stabiles=problemloses Zwave-Netz/Mesh.
Für die Weiterverarbeitung in FHEM ist es doch gleichgültig mit welcher Command Class=welchem Event genau gemeldet wird. Man kann auf die Events mit notify/DOIF/.. passend reagieren. Genauso kann man die Anzeige mit stateFormat o.ä. Befehlen anpassen. Das sind einmalige Einrichtungen, die ein wenig Zeit kosten und funktionieren, jedoch keinen negativen Einfluß auf das ZWave-Mesh haben können. Die Suche und der Ärger bei Funkproblemen aufgrund von hohem Funkverkehr ist mMn deutlich zeitaufwendiger und wenig spaßig.
Gruß, Christian
Hallo
ZitatWenn man den Controller in andere/weitere passende Assoziationsgruppen des Sensors aufnimmt, werden Bewegungen auch anders gemeldet. Aber das führt tendenziell zu Problemen, da der Funkverkehr deutlich steigt.
Wie ist das wenn ich eine Fernbedienung zusätzlich direkt mit einem Aktor Assoziiere.
Das userReadings im Beispiel von MadMax-FHEM wird so eventuell nicht funktionieren, der Fibaro hat nur das Readings "alarm" und kein "alarm_HomeSecurity" .
Gibt es eine Möglichkeit die Readings die ein Sensor/Aktor erzeugt und erzeugen kann einzusehen, oder per FHEM auszulösen?
Oder eine Liste von den Sensoren und Aktoren mit Beispielen von userReadings etc wie das am besten eingebunden wird.
Dann pass doch einfach das userReadings auf das an, was bei dir kommt...
Entweder "händisch" oder im Eventmonitor ein notify anlegen lassen bzw. auf dem Weg dahin die Regex "abgreifen"...
Gruß, Joachim
ZitatGibt es eine Möglichkeit die Readings die ein Sensor/Aktor erzeugt und erzeugen kann einzusehen,
Siehe ZWaveevents (https://fhem.de/commandref_modular.html#ZWaveevents) fuer die FHEM-Events/Readings, oder die (dicke) ZWave CommandClass Doku.
Zitatoder per FHEM auszulösen?
Per setList kann man einzelne SENSOR_MULTILEVEL Werte als sml_XXX freischalten, und senden.
Fuer die anderen Klassen ist sowas mW nicht implementiert.
ZitatDann pass doch einfach das userReadings auf das an, was bei dir kommt...
Sag ich ja.
Ich hab das noch mit EventMap gelöst.
Aber wie kommst Du zum Readings "alarm_HomeSecurity".
Hatte ich glaub vorher auch mal, hab den Sensor aber mal entfernt, zurückgesetzt und wieder neu angelernt.
Zitat von: Damu am 10 Januar 2021, 14:11:23
Aber wie kommst Du zum Readings "alarm_HomeSecurity".
Hatte ich glaub vorher auch mal, hab den Sensor aber mal entfernt, zurückgesetzt und wieder neu angelernt.
Keine Ahnung.
Ich habe halt wie immer eingerichtet und eben "alle" (genannten) get-Abfragen.
Dann einfach bewegt und gut.
Was ich aber habe ist alle anderen Alarme "abgeschalten", z.B. "Temper" etc.
Aber ist es wichtig was für ein Alarm genau kommt bei Bewegung?
Einfach Bewegung "erzeugen", Eventmonitor auf und notify/DOIF etc. erzeugen lassen.
EventMap nutze ich nicht/kaum...
Gruß, Joachim
Zitat von: Damu am 10 Januar 2021, 14:11:23
Aber wie kommst Du zum Readings "alarm_HomeSecurity".
attr <device> extendedAlarmReadings 1
Zitat
Wie ist das wenn ich eine Fernbedienung zusätzlich direkt mit einem Aktor Assoziiere.
Erzeugt nur Funklast bei Tastendruck und nicht permanent zusätzliche, überflüssige Meldungen an den Controller.
Gruß, Christian
Zitat von: krikan am 10 Januar 2021, 15:09:21
attr <device> extendedAlarmReadings 1
Erzeugt nur Funklast bei Tastendruck und nicht permanent zusätzliche, überflüssige Meldungen an den Controller.
Gruß, Christian
Ah, Mist!
Klar bei den "neuen" Augen war ja noch was ;)
Gruß, Joachim
Danke an alle. Habe jetzt erstmal die get befehle ausgeführt. Werde es nochmal probieren
Ich habe ein ähnliches Problem wie du mit einem meinen Motion Sensoren.
Irgendwann ( Nov. 2020) hat er aufgehört State und reportedState "open/close" zu melden.
Er kommt nur noch mit der Alarm Meldung. Temperatur und Lux wurden noch brav übermittelt.
Habe ihn neu inkludiert, ohne Erfolg. Nun steht bei State "wakeupInterval 86400 1", reportet State gibts garnicht mehr.
Bewegung nur noch als Text in Alarm.
Seltsam ... muss mich mal länger damit beschäftigen.
Hi GeZi3560
also ich habe es immer noch. Und habe genau das selbe wie du mit dem WakeupInterval.
Hast du schon was herausgefunden?
Zitat von: GeZi3560 am 21 Januar 2021, 11:44:38
Nun steht bei State "wakeupInterval 86400 1", reportet State gibts garnicht mehr.
Bewegung nur noch als Text in Alarm.
Das kann man mit bspw. mit stateFormat oder einem userReading lösen. Ist das gleiche wie in https://wiki.fhem.de/wiki/Z-Wave#Warum_bleibt_der_Status_.28STATE.29_des_neu_inkludierten_Ger.C3.A4tes_dauerhaft_auf_.22associationAdd_.3CassociationGroup.3E_.3CCtrlNodeId.3E.22_stehen.3F beschrieben.
Alternativ könnte man eine zusätzliche Assozation der passsenden Assoziationsgruppe des Gerätes mit dem Controller anlegen. Das erzeugt aber unnötige Funkverkehr wie oben beschrieben. Bei diesem Lösungsansatz bitte nicht im Forum über Netzprobleme beschweren :) .
Gruß, Christian