HMW: internes Peering von HMW_IO_12_Sw7_DR

Begonnen von Papaloewe, 18 März 2017, 14:51:53

Vorheriges Thema - Nächstes Thema

Papaloewe

Hallo,

mein eigentliches Ziel war es, ohne viel Aufwand das Treppenhauslicht mit FHEM zu verbinden.
Dabei ist es mir sehr wichtig, dass die grundsätzlichen Funktionen (Licht an/aus und ggf. später automatisch aus mit Timer) auch ohne die FHEM-Zentrale funktionieren muß (WAF).

Dann kam ich auf die Idee die Eingänge des HMW_IO_12_Sw7_DR Bausteins im Zählerkasten an die potentialfreien Kontakte der vorhandenen Stromstossrelais anzuklemmen. So müsste ich keine zus. Strippen zu den Tastern im Treppenhaus ziehen.
Das Ganze läuft über eine Kabelschnittstelle (RS485), was mir pers. immer lieber ist als Funk.

Gesagt getan, ein Probeaufbau musste zunächst her.

Nun verzeifele ich aber an den Einstellung der entsprechenden Peerings zwischen den Eingängen und den Relaisausgängen.
Ja, das Kapitel über Automaten im Fhem-Einsteiger PDF habe ich auch mehrmals durchgelesen. ;-)

Das eigentliche Problem ist, dass wenn einmal ein "short"-event getriggert wurde, der Ausgang selbständig anfängt zu schwingen.
Soll heißen, er schaltet automatisch im ca. 15s Takt ein und aus. Solange bis ich den Ausgang manuell ausschalte.

Hier ist meine momentane Koniguration:
HM485-LAN-Gateway
Internals:
   CFGFN
   DEF        192.168.0.24:1000
   DeviceName 192.168.0.24:1000
   FD         33
   HM485_LAN_MSGCNT 780
   HM485_LAN_TIME 2017-03-18 13:50:27
   InterfaceType eQ3-HMW-LGW
   LASTInputDev HM485_LAN
   Last_Sent_RAW_CMD 00016FCF 1E 00000001 780C00
   Last_Sent_RAW_CMD_State ACK
   MSGCNT     780
   NAME       HM485_LAN
   NR         192
   PARTIAL
   ProtokolVersion 01
   STATE      opened
   SerialNumber LEQ0150874
   TYPE       HM485_LAN
   Version    1.0.4
   currentQueueId 0
   discoveryRunning 0
   hmwId      00000001
   msgCounter 39
   queueId    469
   queueRunning 0
   Helper:
     Dblog:
       State:
         Mydblog:
           TIME       1489837421.99961
           VALUE      CONNECTED
   Readings:
     2017-03-18 12:43:41   state           opened
   Ctrl:
     0000E491   1E
     00016FCF   1E
     FFFFFFFF   98
   Keepalive:
     ok         1
     retry      0
   Sendqueue:
Attributes:
   HM485d_logVerbose 0
   group      HMW
   hmwId      00000001
   icon       DIN_rail_housing
   room       HM485,_Server


HMW_IO_12_Sw7_DR:
Internals:
   CFGFN
   DEF        00016FCF
   FW_VERSION 3.06
   FailedConfigReads 0
   IODev      HM485_LAN
   MODEL      HMW_IO_12_Sw7_DR
   NAME       HMW_IO_12_Sw7_DR_NEQ1512692
   NR         427
   STATE      ACK
   TYPE       HM485
   channel_01 HMW_IO_12_Sw7_DR_NEQ1512692_01
   channel_02 HMW_IO_12_Sw7_DR_NEQ1512692_02
   channel_03 HMW_IO_12_Sw7_DR_NEQ1512692_03
   channel_04 HMW_IO_12_Sw7_DR_NEQ1512692_04
   channel_05 HMW_IO_12_Sw7_DR_NEQ1512692_05
   channel_06 HMW_IO_12_Sw7_DR_NEQ1512692_06
   channel_07 HMW_IO_12_Sw7_DR_NEQ1512692_07
   channel_08 HMW_IO_12_Sw7_DR_NEQ1512692_08
   channel_09 HMW_IO_12_Sw7_DR_NEQ1512692_09
   channel_10 HMW_IO_12_Sw7_DR_NEQ1512692_10
   channel_11 HMW_IO_12_Sw7_DR_NEQ1512692_11
   channel_12 HMW_IO_12_Sw7_DR_NEQ1512692_12
   channel_13 HMW_IO_12_Sw7_DR_NEQ1512692_13
   channel_14 HMW_IO_12_Sw7_DR_NEQ1512692_14
   channel_15 HMW_IO_12_Sw7_DR_NEQ1512692_15
   channel_16 HMW_IO_12_Sw7_DR_NEQ1512692_16
   channel_17 HMW_IO_12_Sw7_DR_NEQ1512692_17
   channel_18 HMW_IO_12_Sw7_DR_NEQ1512692_18
   channel_19 HMW_IO_12_Sw7_DR_NEQ1512692_19
   peer_act_0 channel_01 → HMW_IO_12_Sw7_DR_NEQ1512692_13
   peer_act_1 channel_02 → HMW_IO_12_Sw7_DR_NEQ1512692_14
   peer_act_2 channel_03 → HMW_IO_12_Sw7_DR_NEQ1512692_15
   peer_sen_0 channel_13 ← HMW_IO_12_Sw7_DR_NEQ1512692_01
   peer_sen_1 channel_14 ← HMW_IO_12_Sw7_DR_NEQ1512692_02
   peer_sen_2 channel_15 ← HMW_IO_12_Sw7_DR_NEQ1512692_03
   Helper:
     Dblog:
       R-central_address:
         Mydblog:
           TIME       1489840854.02171
           VALUE      00000001
       R-logging_time:
         Mydblog:
           TIME       1489840854.02655
           VALUE      2.00
       Configstatus:
         Mydblog:
           TIME       1489838288.83315
           VALUE      OK
       State:
         Mydblog:
           TIME       1489841427.38833
           VALUE      ACK
   Readings:
     2017-03-18 13:40:54   R-central_address 00000001
     2017-03-18 13:40:54   R-logging_time  2.00
     2017-03-18 12:58:08   configStatus    OK
     2017-03-18 13:50:27   state           ACK
   Cache:
     Linkparams:
       Actuator:
         address_start 857
         address_step 6
         channel_param channel
         channels   01 02 03 04 05 06 07 08 09 10 11 12
         count      27
         peer_param actuator
         type       link
         Parameter:
           Actuator:
             hidden     1
             operations none
             Logical:
               type       address
             physical:
               HASH(0x62fd3a0)
               HASH(0x62fb9b0)
           Channel:
             hidden     1
             operations none
             Logical:
               default    255
               max        255
               min        0
               type       integer
             Physical:
               interface  eeprom
               size       1
               type       integer
               Address:
                 index      0
       Sensor:
         address_start 45
         address_step 28
         channel_param channel
         channels   13 14 15 16 17 18 19
         count      29
         peer_param sensor
         type       link
         Parameter:
           Channel:
             hidden     1
             operations none
             Logical:
               default    255
               max        255
               min        0
               type       integer
             Physical:
               interface  eeprom
               size       1
               type       integer
               Address:
                 index      5
           Long_action_type:
             Logical:
               type       option
               option:
                 HASH(0x631a4a0)
                 HASH(0x631a4e8)
             Physical:
               interface  eeprom
               size       0.1
               type       integer
               Address:
                 index      7
           Long_jt_off:
             Logical:
               type       option
               option:
                 HASH(0x631a740)
                 HASH(0x631a7a0)
                 HASH(0x631a7e8)
                 HASH(0x631a830)
                 HASH(0x631a878)
             Physical:
               endian     little
               interface  eeprom
               read_size  2
               size       0.3
               type       integer
               Address:
                 index      26.9
           Long_jt_offdelay:
             Logical:
               type       option
               option:
                 HASH(0x631ab30)
                 HASH(0x631ab78)
                 HASH(0x631abc0)
                 HASH(0x6382980)
                 HASH(0x63829e0)
             Physical:
               endian     little
               interface  eeprom
               read_size  2
               size       0.3
               type       integer
               Address:
                 index      26.6
           Long_jt_on:
             Logical:
               type       option
               option:
                 HASH(0x6382c98)
                 HASH(0x6382ce0)
                 HASH(0x6382d28)
                 HASH(0x6382d88)
                 HASH(0x6382dd0)
             Physical:
               endian     little
               interface  eeprom
               read_size  2
               size       0.3
               type       integer
               Address:
                 index      26.3
           Long_jt_ondelay:
             Logical:
               type       option
               option:
                 HASH(0x6383088)
                 HASH(0x63830d0)
                 HASH(0x6383130)
                 HASH(0x6383178)
                 HASH(0x63831c0)
             Physical:
               endian     little
               interface  eeprom
               read_size  2
               size       0.3
               type       integer
               Address:
                 index      26
           Long_multiexecute:
             Logical:
               default    1
               type       boolean
             Physical:
               interface  eeprom
               size       0.1
               type       integer
               Address:
                 index      7.2
           Long_off_time:
             Conversion:
               1:
                 factors    0.1,1,60,1000
                 type       float_configtime
                 value_size 1.6
               2:
                 type       integer_integer_map
                 Value_map:
                   device_value 49152
                   mask       49152
                   parameter_value 65535
             Logical:
               default    16383000
               max        982980
               min        0
               type       float
               unit       s
               Special_value:
                 id         not_used
                 value      16383000
             Physical:
               endian     little
               interface  eeprom
               size       2
               type       integer
               Address:
                 index      24
           Long_off_time_mode:
             Logical:
               type       option
               option:
                 HASH(0x63872c0)
                 HASH(0x6387308)
             Physical:
               interface  eeprom
               size       0.1
               type       integer
               Address:
                 index      7.6
           Long_offdelay_time:
             Conversion:
               1:
                 factors    0.1,1,60,1000
                 type       float_configtime
                 value_size 1.6
               2:
                 type       integer_integer_map
                 Value_map:
                   device_value 49152
                   mask       49152
                   parameter_value 65535
             Logical:
               default    0
               max        982980
               min        0
               type       float
               unit       s
             Physical:
               endian     little
               interface  eeprom
               size       2
               type       integer
               Address:
                 index      22
           Long_on_time:
             Conversion:
               1:
                 factors    0.1,1,60,1000
                 type       float_configtime
                 value_size 1.6
               2:
                 type       integer_integer_map
                 Value_map:
                   device_value 49152
                   mask       49152
                   parameter_value 65535
             Logical:
               default    16383000
               max        982980
               min        0
               type       float
               unit       s
               Special_value:
                 id         not_used
                 value      16383000
             Physical:
               endian     little
               interface  eeprom
               size       2
               type       integer
               Address:
                 index      20
           Long_on_time_mode:
             Logical:
               type       option
               option:
                 HASH(0x6387d58)
                 HASH(0x6387da0)
             Physical:
               interface  eeprom
               size       0.1
               type       integer
               Address:
                 index      7.7
           Long_ondelay_time:
             Conversion:
               1:
                 factors    0.1,1,60,1000
                 type       float_configtime
                 value_size 1.6
               2:
                 type       integer_integer_map
                 Value_map:
                   device_value 49152
                   mask       49152
                   parameter_value 65535
             Logical:
               default    0
               max        982980
               min        0
               type       float
               unit       s
             Physical:
               endian     little
               interface  eeprom
               size       2
               type       integer
               Address:
                 index      18
           Long_toggle_use:
             Conversion:
               type       option_integer
               Value_map:
                 1:
                   device_value 3
                   from_device 1
                   parameter_value 0
                   to_device  1
                 2:
                   device_value 2
                   from_device 1
                   parameter_value 1
                   to_device  1
                 3:
                   device_value 0
                   from_device 1
                   parameter_value 2
                   to_device  1
             Logical:
               type       option
               option:
                 HASH(0x6388d48)
                 HASH(0x6388da8)
                 HASH(0x6388df0)
             Physical:
               interface  eeprom
               size       0.2
               type       integer
               Address:
                 index      7.4
           Sensor:
             hidden     1
             operations none
             Logical:
               type       address
             physical:
               HASH(0x63890f0)
               HASH(0x63891c8)
           Short_action_type:
             Logical:
               type       option
               option:
                 HASH(0x6389348)
                 HASH(0x6389390)
             Physical:
               interface  eeprom
               size       0.1
               type       integer
               Address:
                 index      6
           Short_jt_off:
             Logical:
               type       option
               option:
                 HASH(0x63895e8)
                 HASH(0x6389648)
                 HASH(0x6389690)
                 HASH(0x63896d8)
                 HASH(0x6389720)
             Physical:
               endian     little
               interface  eeprom
               read_size  2
               size       0.3
               type       integer
               Address:
                 index      16.9
           Short_jt_offdelay:
             Logical:
               type       option
               option:
                 HASH(0x638b4f0)
                 HASH(0x638b538)
                 HASH(0x638b580)
                 HASH(0x638b5c8)
                 HASH(0x638b628)
             Physical:
               endian     little
               interface  eeprom
               read_size  2
               size       0.3
               type       integer
               Address:
                 index      16.6
           Short_jt_on:
             Logical:
               type       option
               option:
                 HASH(0x638b8e0)
                 HASH(0x638b928)
                 HASH(0x638b970)
                 HASH(0x638b9d0)
                 HASH(0x638ba18)
             Physical:
               endian     little
               interface  eeprom
               read_size  2
               size       0.3
               type       integer
               Address:
                 index      16.3
           Short_jt_ondelay:
             Logical:
               type       option
               option:
                 HASH(0x638bcd0)
                 HASH(0x638bd18)
                 HASH(0x638bd78)
                 HASH(0x638bdc0)
                 HASH(0x638be08)
             Physical:
               endian     little
               interface  eeprom
               read_size  2
               size       0.3
               type       integer
               Address:
                 index      16
           Short_off_time:
             Conversion:
               1:
                 factors    0.1,1,60,1000
                 type       float_configtime
                 value_size 1.6
               2:
                 type       integer_integer_map
                 Value_map:
                   device_value 49152
                   mask       49152
                   parameter_value 65535
             Logical:
               default    16383000
               max        982980
               min        0
               type       float
               unit       s
               Special_value:
                 id         not_used
                 value      16383000
             Physical:
               endian     little
               interface  eeprom
               size       2
               type       integer
               Address:
                 index      14
           Short_off_time_mode:
             Logical:
               type       option
               option:
                 HASH(0x638d420)
                 HASH(0x638d468)
             Physical:
               interface  eeprom
               size       0.1
               type       integer
               Address:
                 index      6.6
           Short_offdelay_time:
             Conversion:
               1:
                 factors    0.1,1,60,1000
                 type       float_configtime
                 value_size 1.6
               2:
                 type       integer_integer_map
                 Value_map:
                   device_value 49152
                   mask       49152
                   parameter_value 65535
             Logical:
               default    0
               max        982980
               min        0
               type       float
               unit       s
             Physical:
               endian     little
               interface  eeprom
               size       2
               type       integer
               Address:
                 index      12
           Short_on_time:
             Conversion:
               1:
                 factors    0.1,1,60,1000
                 type       float_configtime
                 value_size 1.6
               2:
                 type       integer_integer_map
                 Value_map:
                   device_value 49152
                   mask       49152
                   parameter_value 65535
             Logical:
               default    16383000
               max        982980
               min        0
               type       float
               unit       s
               Special_value:
                 id         not_used
                 value      16383000
             Physical:
               endian     little
               interface  eeprom
               size       2
               type       integer
               Address:
                 index      10
           Short_on_time_mode:
             Logical:
               type       option
               option:
                 HASH(0x6390970)
                 HASH(0x63909b8)
             Physical:
               interface  eeprom
               size       0.1
               type       integer
               Address:
                 index      6.7
           Short_ondelay_time:
             Conversion:
               1:
                 factors    0.1,1,60,1000
                 type       float_configtime
                 value_size 1.6
               2:
                 type       integer_integer_map
                 Value_map:
                   device_value 49152
                   mask       49152
                   parameter_value 65535
             Logical:
               default    0
               max        982980
               min        0
               type       float
               unit       s
             Physical:
               endian     little
               interface  eeprom
               size       2
               type       integer
               Address:
                 index      8
           Short_toggle_use:
             Conversion:
               type       option_integer
               Value_map:
                 1:
                   device_value 3
                   from_device 1
                   parameter_value 0
                   to_device  1
                 2:
                   device_value 2
                   from_device 1
                   parameter_value 1
                   to_device  1
                 3:
                   device_value 0
                   from_device 1
                   parameter_value 2
                   to_device  1
             Logical:
               type       option
               option:
                 HASH(0x6390e98)
                 HASH(0x6390ef8)
                 HASH(0x6390f40)
             Physical:
               interface  eeprom
               size       0.2
               type       integer
               Address:
                 index      6.4
           Ui_hint:
             Logical:
               default
               type       string
               use_default_on_failure 1
             Physical:
               id         ui_hint
               interface  store
               save_on_change 1
               type       string
               Address:
     Peered_act:
       0:
         channel    01
         name       00016FCF_13
       1:
         channel    02
         name       00016FCF_14
       2:
         channel    03
         name       00016FCF_15
     Peers:
       Actuators:
         0:
           actuator   00016FCF_13
           channel    01
         1:
           actuator   00016FCF_14
           channel    02
         2:
           actuator   00016FCF_15
           channel    03
       Sensors:
         0:
           channel    13
           sensor     00016FCF_01
         1:
           channel    14
           sensor     00016FCF_02
         2:
           channel    15
           sensor     00016FCF_03
Attributes:
   IODev      HM485_LAN
   alias      EG.FL.HMW
   firmwareVersion 3.06
   group      HMW
   icon       DIN_rail_housing
   model      HMW_IO_12_Sw7_DR
   room       HM485
   serialNr   NEQ1512692


Getestet habe ich bisher mit Channel-01 gepeered mit Channel-13.

Wenn ich ein "short"-Event auslöse auf dem Channel-01 wird das Relais auch geschaltet, so wie es soll. Beim ersten mal an, dann bei zweiten mal aus, aber unabhängig davon schaltet es auch nach ca. 15s immer hin und her, auch ohne jegliches Zutuen???

Ich hoffe das Problem einigermassen verständlich geschildert zu haben.
Bin, was HM-wired betrifft auch noch ziemlicher Neuling.

Danke vorab für erue Unterstützung.

Thomas




Peter666

Hallo Thomas,

ich bin auch ganz neu bei HMW und hatte das Problem mit dem schwingen auch.
01 mit 13 geleert. Bei Push_Short Schaltete 13 alle 30 Sekunden im Wechsel an und aus.
Mittlerweile habe ich das Problem nicht mehr.

Ich habe zwischendurch 2 Updates von fhem gemacht.
Ich hatte dann den Eindruck, dass es nicht mehr auftrat nach dem ich zusätzlich 02 mit 14 gepeert habe.

Was genau geholfen weiss ich nicht mehr, aber es wäre ein Versuch Wert.

Grüße
Peter

Gesendet von meinem GT-I9505 mit Tapatalk


Ralf9

Da ist anscheinend noch ein Fehler in den peering Routinen vom hmwired fhem Modul.
Er kann auftreten, wenn mit den peerings sehr viel ausprobiert und selten ein fhem neustart gemacht wird.

fhem neustarten und dann die betroffenen peerings löschen und wieder neu einrichten müsste helfen.
siehe hier
https://forum.fhem.de/index.php/topic,60717.msg521287.html#msg521287

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Papaloewe

#3
Ok, danke Leute.
Ich dachte schon ich wäre zu blöd ;-).

Nach einem Neustart von FHEM standen im Peering plötzlich ganz andere Werte drin:
Die habe ich zwar niemals so eingegeben, erklären aber das seltsame Verhalten. (siehe Screenshot)

Nachdem ich diese nochmal korrigiert, bzw. überschrieben habe, funktioniert es jetzt.

Könnte sich Thorsten vielleicht nochmal ansehen?  8)

Ein Löschen des Peerings war also gar nicht notwendig, schadet natürlich auch nicht.

Gruß Thomas

Thorsten Pferdekaemper

Hi,
ich bin gerade dabei, HM485 komplett zu überarbeiten. Dabei ist mir auch das Problem begegnet. Es hat etwas damit zu tun, dass bei der Zuordnung der Gerätebeschreibungsdatei die Firmware-Version nicht richtig berücksichtigt wird. Das wird in der nächsten Version korrigiert sein. Ich brauche aber noch eine Weile, bis ich das ganze freigeben kann.
Als Umgehungslösung sollte es in Deinem Fall ausreichen, wenn Du die Datei ..../FHEM/lib/HM485/Devices/hmw_io12_sw7_dr_V3_02.pm einfach löschst (.... steht bei einem RasPi meistens für /opt/fhem).
Gruß,
   Thorsten
FUIP

Papaloewe

Hallo Thorsten,

vielen Dank für den Hinweis.
Ich komme damit erstmal soweit klar.

Gruß
Thomas