Z-Wave raw commands senden

Begonnen von AlpenFlizzer, 05 Oktober 2021, 18:49:01

Vorheriges Thema - Nächstes Thema

AlpenFlizzer

Hallo!

Ich will den Fibaro Smart Implant nutzen um meinen Schiebetorantrieb zu smarten.

Das Gerät hat zwei Inputs und zwei Outputs. Per Default sind die Outputs direkt mit den Inputs verknüpft - was in meinem Setup aber stört. Ich habe in einem Forum herausgefunden, dass man dieses Verhalten durch das Senden eines bestimmten Befehls an das Gerät ändern kann.

Gibt es in Fhem eine Möglichkeit solche Befehle mittels Z-Wave Dongle an einen Node zu senden?

Siehe hier für die Erklärung: https://community.athom.com/t/seperate-the-input-from-output-fibaro-smart-implant/28950/31
Zusammengefasst würde so ein Befehl etwa so aussehen:
ZitatNode-ID, 0x60, 0x0D, 0x00, 0x06, 0x75, 0x01, 0x02, 0x00

Ebenso aus dem Forum bzw. der Anleitung des Fibaro Smart Implant: Es dürfte sich um eine Einstellung der PROTECTION Command Class handeln.

Ich habe mittels Zensys Tool keinen Weg gefunden. Homee und die Fibaro Home Zentrale dürften solche Funktionen implementiert haben.

Vielen Dank für eure Hilfe!

LG Sascha

rudolfkoenig

ZitatGibt es in Fhem eine Möglichkeit solche Befehle mittels Z-Wave Dongle an einen Node zu senden?
Klar, per "get ZWDongle raw XXXXXX..."

Wenn ich mich nicht irre:
0x60, 0x0D,  => MULTI_CHANNEL Encapsulation
0x00, 0x06, => Channel 6
0x75, 0x01, 0x02, => set protectionOn

Das kann FHEM auch zivilisiert absetzen, falls eine passende ZWave define mit Endpoint 6 existiert.

AlpenFlizzer

#2
Zunächst schonmal herzliches Danke!!

Laut den Kollegen aus dem Homee Forum müsste ich die folgenden zwei Befehle senden um beide Outputs des Smart Implant von den beiden Inputs zu trennen:
Node-ID, 0x75, 0x01, 0x02, 0x00
Node-ID, 0x60, 0x0D, 0x00, 0x06, 0x75, 0x01, 0x02, 0x00


Also mal ganz blauäugig folgendes in Fhem getestet:
get ZWaveStick raw 69 0x60 0x0D 0x00 0x06 0x75 0x01 0x02 0x00 (wobei 69 der betroffene Node wäre.)

Es kommt aber immer die Fehlermeldung, dass get ZWaveStick raw nur 1 Argument nimmt.

Anbei ein List des Smart Implant:
Internals:
   DEF        fdcbe928 69
   FUUID      60d8be2c-f33f-77b4-48a9-6a6c1caea84581b4
   FVERSION   10_ZWave.pm:0.245930/2021-06-06
   IODev      ZWaveStick
   LASTInputDev ZWaveStick
   MSGCNT     2
   NAME       ZWave_SENSOR_NOTIFICATION_69
   NR         290
   STATE      configOutput2AutoOff 10
   TYPE       ZWave
   ZWaveStick_MSGCNT 2
   ZWaveStick_RAWMSG 0004004503220200
   ZWaveStick_TIME 2021-10-05 16:39:37
   ZWaveSubDevice no
   cmdsPending 0
   endpointChildren ZWave_SENSOR_NOTIFICATION_69.01,ZWave_SENSOR_NOTIFICATION_69.02,ZWave_SENSOR_MULTILEVEL_69.03,ZWave_SENSOR_MULTILEVEL_69.04,Garage,Garage_Fussgeher,ZWave_SENSOR_MULTILEVEL_69.07
   homeId     fdcbe928
   isWakeUp   
   lastChannelUsed Garage_Fussgeher
   lastMsgSent 1633447117.79177
   nodeIdHex  45
   READINGS:
     2021-10-05 13:23:17   IODev           ZWaveStick
     2021-09-29 07:31:35   SEND_DATA       failed:00
     2021-10-05 16:39:37   applicationStatus cmdRejected
     2021-10-05 13:23:20   associatedWith  ZWave_SENSOR_NOTIFICATION_69.01,ZWave_SENSOR_NOTIFICATION_69.02,ZWave_SENSOR_MULTILEVEL_69.03,ZWave_SENSOR_MULTILEVEL_69.04,Garage,Garage_Fussgeher,ZWave_SENSOR_MULTILEVEL_69.07
     2021-10-05 11:01:34   configAnalogInputsMinimalChangeTo63 5
     2021-10-05 11:01:34   configAnalogInputsPeriodicalReports 0
     2021-10-05 11:01:34   configExternalSensorsMinimalChangeTo67 5
     2021-10-05 11:01:34   configExternalSensorsPeriodicalReports 0
     2021-10-05 11:01:34   configInput1DelayOfAlarmCancellation 0
     2021-10-05 11:01:35   configInput1OperatingMode NormallyOpenAlarmInput
     2021-10-05 11:01:35   configInput1Sensitivity 10
     2021-10-05 11:01:35   configInput1SentScenes 2
     2021-10-05 11:01:35   configInput1ValueSentTo2ndAssociation47 255
     2021-10-05 11:01:35   configInput1ValueSentTo2ndAssociation49 0
     2021-10-05 11:01:36   configInput2DelayOfAlarmCancellation 0
     2021-10-05 11:01:36   configInput2OperatingMode NormallyOpenAlarmInput
     2021-10-05 11:01:36   configInput2Sensitivity 10
     2021-10-05 11:01:36   configInput2SentScenes 2
     2021-10-05 11:01:37   configInput2ValueSentTo3rdAssociation52 255
     2021-10-05 11:01:37   configInput2ValueSentTo3rdAssociation54 0
     2021-10-05 11:01:37   configInputsOrientation DefaultIN11stInputIN22ndInput
     2021-10-05 11:01:37   configInternalTemperatureSensor66 0
     2021-10-05 11:01:37   configInternalTemperatureSensorMinimal65 5
     2021-10-05 11:01:38   configOutput1AutoOff 10
     2021-10-05 11:01:38   configOutput1LogicOfOperation contactsNormallyOpen
     2021-10-05 11:01:38   configOutput2AutoOff 10
     2021-10-05 11:01:38   configOutput2LogicOfOperation contactsNormallyOpen
     2021-10-05 11:01:38   configOutputsOrientation DefaultOUT11stOutputOUT22nd0
     2021-06-27 20:06:42   mcCapability_01 ZWAVEPLUS_INFO ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO ALARM SUPERVISION APPLICATION_STATUS SECURITY SECURITY_S2
     2021-06-27 20:06:42   mcCapability_02 ZWAVEPLUS_INFO ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO ALARM SUPERVISION APPLICATION_STATUS SECURITY SECURITY_S2
     2021-06-27 20:06:42   mcCapability_03 ZWAVEPLUS_INFO ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO SENSOR_MULTILEVEL SUPERVISION APPLICATION_STATUS SECURITY SECURITY_S2
     2021-06-27 20:06:42   mcCapability_04 ZWAVEPLUS_INFO ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO SENSOR_MULTILEVEL SUPERVISION APPLICATION_STATUS SECURITY SECURITY_S2
     2021-06-27 20:06:42   mcCapability_05 ZWAVEPLUS_INFO SWITCH_BINARY ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO PROTECTION SUPERVISION APPLICATION_STATUS SECURITY SECURITY_S2
     2021-06-27 20:06:42   mcCapability_06 ZWAVEPLUS_INFO SWITCH_BINARY ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO PROTECTION SUPERVISION APPLICATION_STATUS SECURITY SECURITY_S2
     2021-06-27 20:06:43   mcCapability_07 ZWAVEPLUS_INFO ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO SENSOR_MULTILEVEL ALARM SUPERVISION APPLICATION_STATUS SECURITY SECURITY_S2
     2021-06-27 20:06:42   mcEndpoints     total 7, different
     2021-06-27 20:06:41   model           FIBARO System FGBS222 Smart Implant
     2021-06-27 20:06:41   modelConfig     fibaro/fgbs222.xml
     2021-06-27 20:06:41   modelId         010f-0502-1000
     2021-09-28 15:38:57   neighborUpdate  done
     2021-10-05 16:41:12   state           configOutput2AutoOff 10
     2021-10-05 17:07:21   timeToAck       0.170
     2021-10-05 17:07:21   transmit        OK
     2021-06-27 20:06:42   zwavePlusInfo   version:01 role:AlwaysOnSlave node:Z-Wave+Node installerIcon:0c00 userIcon:0c00
Attributes:
   classes    ZWAVEPLUS_INFO SWITCH_BINARY ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO TRANSPORT_SERVICE VERSION MANUFACTURER_SPECIFIC DEVICE_RESET_LOCALLY POWERLEVEL SECURITY SECURITY_S2 CENTRAL_SCENE SENSOR_MULTILEVEL MULTI_CHANNEL CONFIGURATION CRC_16_ENCAP ALARM PROTECTION FIRMWARE_UPDATE_MD SUPERVISION APPLICATION_STATUS
   group      SmartImplant
   room       Aussenbereich
   vclasses   ALARM:8 APPLICATION_STATUS:1 ASSOCIATION:2 ASSOCIATION_GRP_INFO:2 CENTRAL_SCENE:3 CONFIGURATION:1 CRC_16_ENCAP:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:4 MANUFACTURER_SPECIFIC:2 MULTI_CHANNEL:4 MULTI_CHANNEL_ASSOCIATION:3 POWERLEVEL:1 PROTECTION:2 SECURITY:1 SECURITY_S2:1 SENSOR_MULTILEVEL:11 SUPERVISION:1 SWITCH_BINARY:1 TRANSPORT_SERVICE:2 VERSION:2 ZWAVEPLUS_INFO:2


Für weitere Hilfe bin ich überaus Dankbar.

Damu

Hallo
Ich denke die Node-ID sollte in Hex 2-stellig rein.
Alles dann ohne Lehrzeichen.

AlpenFlizzer

Ich habe es mit der node id in hex versucht:

get ZWaveStick raw 0x450x600x0D0x000x060x750x010x020x00
(0x45 sollte dabei node id 69 sein)

Leider kommt immer der Fehler: Timeout reading answer for get raw.

Hast du eventuell noch eine Idee? Der Blick in die 10_ZWave.pm hat mich leider nicht schlauer gemacht. Hätte danach gesucht, wie die Eingabe geparst wird...

Danke für deine Hilfe!

LG

frank

ich würde ja noch alle hex marker "0x" entfernen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

rudolfkoenig

Ich auch. Und zum schlauer werden wuerde ich eher in 00_ZWDongle.pm schauen.

Damu

Hallo

Hat es mit:
get ZWaveStick raw 45600D000675010200
Geklappt?
Wenn ja, ist das nur mit Fibaro möglich, oder ist das irgendwie Standard?

AlpenFlizzer

#8
Servus!

Also ohne die hex Marker geht der Befehl scheinbar durch und wird von Fhem quittiert:
ZWaveStick raw_45600D000675010200 => 014501

Aber der gewünschte Effekt, dass die Inputs dadurch von den Outputs getrennt werden ist nicht eingetreten.

Zitat von: Damu am 06 Oktober 2021, 23:56:16
Wenn ja, ist das nur mit Fibaro möglich, oder ist das irgendwie Standard?
Ich meine das dürfte etwas Fibaro proprietäres sein - der Meinung sind auch die Leute aus den anderen Foren in denen ich gelesen habe.

Ich habe schon überlegt mir ein Homee Starter Kit zu ordern um den Vorgang aus dem Homee Forum zu reproduzieren, aber ist doch etwas überzogen. Ich bin sicher auch Fhem kann das, wird wohl eher an mir liegen.

Zitat von: rudolfkoenig am 05 Oktober 2021, 20:04:56
Wenn ich mich nicht irre:
0x60, 0x0D,  => MULTI_CHANNEL Encapsulation
0x00, 0x06, => Channel 6
0x75, 0x01, 0x02, => set protectionOn

Das kann FHEM auch zivilisiert absetzen, falls eine passende ZWave define mit Endpoint 6 existiert.
Du hast Recht, ich habe nur am Parent Device und am ZWDongle nach den passenden Optionen gesucht. Gehe ich direkt zum entsprechenden Child (zB Endpoint 5 oder 6) habe ich im Dropdown von Set die Optionen ProtectionOn und Off. AAAber, wenn ich den Befehl absetze kommt im Event Monitor ZWave ZWave_SWITCH_BINARY_71.05 applicationStatus: cmdRejected  :-[
Kann es sein, dass es mit Secure Inclusion zu tun hat? Per Default wird in Fhem ja insecure included oder?

Anbei noch das list von einem der betroffenen Endpoints: (Protection ist off, aber trotzdem schaltet der Ausgang abhängig vom Eingang...  :o)
Internals:
   DEF        fdcbe928 18182
   FUUID      615997d6-f33f-77b4-56c5-d5641036ae461dda
   FVERSION   10_ZWave.pm:0.245930/2021-06-06
   IODev      ZWaveStick
   LASTInputDev ZWaveStick
   MSGCNT     24
   NAME       ZWave_SWITCH_BINARY_71.06
   NR         321
   STATE      off
   TYPE       ZWave
   ZWaveStick_MSGCNT 24
   ZWaveStick_RAWMSG 000400470d600d06005e0201050007000700
   ZWaveStick_TIME 2021-10-07 08:25:41
   ZWaveSubDevice yes
   endpointParent ZWave_SENSOR_NOTIFICATION_71
   homeId     fdcbe928
   isWakeUp   
   nodeIdHex  4706
   READINGS:
     2021-10-06 20:01:00   IODev           ZWaveStick
     2021-10-07 08:18:59   applicationStatus cmdRejected
     2021-10-07 08:25:17   assocGroup_1    Max 0 Nodes
     2021-10-07 08:25:22   assocGroups     1
     2021-10-06 20:01:03   associatedWith  ZWave_SENSOR_NOTIFICATION_71
     2021-10-07 08:25:30   mcaGroups       1
     2021-10-07 08:25:26   mca_1           Max 0 Nodes ZWaveStick:0
     2021-10-07 08:25:33   protection      Local: unprotected RF: unprotected
     2021-10-07 08:25:37   reportedState   off
     2021-10-07 08:25:37   state           off
     2021-10-07 08:25:41   zwavePlusInfo    version:01 role:AlwaysOnSlave node:Z-Wave+Node installerIcon:0700 userIcon:0700
Attributes:
   classes    ZWAVEPLUS_INFO SWITCH_BINARY ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO PROTECTION SUPERVISION APPLICATION_STATUS SECURITY SECURITY_S2
   room       ZWave


Laut Doku müsste in meinem Fall protection local=2 sein und rf=0

AlpenFlizzer

Lösung:

Alles ist da, man muss nur die Augen öffnen!

In den Set Optionen der Endpoints des Fibaro Smart Implants finden sich mehrere Optionen um die Protection zu steuern.

set ... protectionBytes 2 0 hat es dann endlich getan.

Hier bedeutet 2 = Local: No operation possible
und 0 = RF: unprotected

So wie im Bildausschnitt des vorigen Posts dokumentiert.

Das macht meiner Meinung nach das Smart Implant zu einem sehr vielseitigen Bauteil.

Ich habe es in meinen Schiebetor Antrieb eingepflanzt und greife dort den Status der Lichtschranke der Einfahrt und des Türkontakts der Gartentür ab. Außerdem kann ich mit den beiden Ausgängen potentialfrei schalten und so das Tor öffnen und schließen. Insgesamt also eine coole Sache.

Danke an @rudolfkoenig und an @Damu für euren Support!

LG Sascha

krikan

Die gezeigte raw-Nachricht ist unvollständig. Man muss dem Controller bspw. auch mitteilen, welches ControllerCommand man nutzen will. Hier wäre das ZW_SEND_DATA. Der Aufbau ist in https://wiki.fhem.de/wiki/Z-Wave#Wie_ist_der_Aufbau_der_Z-Wave_Messages_bzw._wie_finde_ich_bei_einem_Sendefehler_die_NodeId_des_Empf.C3.A4ngers_heraus.3F grundlegend beschrieben. Teile von dieser Message setzt der raw-Befehl automatisch.
Aus meiner Sicht einfachster Weg um das korrekte raw-command zu ermitteln:
"attr <ZWDongle> verbose 5" setzen.
Eine Nachricht an das Gerät verschicken (am besten mit direkt sichtbarer Reaktion am Gerät).
Im Log die Nachricht anschauen.
Per get-raw die Nachricht nachbilden.
Wenn das Nachbilden klappt, dann auf den gewünschten obigen Befehl übertragen.

Gruß, Christian