Bestellung v1.x - Relay Platine auf HM (AES), MySensors, ZWave Basis

Begonnen von Spezialtrick, 27 Januar 2016, 00:44:12

Vorheriges Thema - Nächstes Thema

papa

Da ich selber keinen Wandthermostat habe, kann ich nur Vermutungen anstellen. Soweit ich das verstehe, sendet das Wandthermostat ein SensorEvent (mit der aktuellen Temperatur ???) zum Switch. Im Switch müssen entsprechend die Condition-Register richtig eingestellt sein, damit die richtige Aktion durchgeführt wird.

Schick doch mal ein List beider Geräte.

Weitere Tips gibt es auch hier

https://forum.fhem.de/index.php/topic,60593.msg520136.html#msg520136
http://heinz-otto.blogspot.de/2015/01/thermostat-und-schaltaktor-fur.html
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

weini

Nach meinem Verständnis schickt das Thermostat 0 für "aus" und 200 für "ein", beide Werte kommen laut den FHEM readings auch an.

Thermostat

Internals:
   CFGFN
   DEF        418887
   IODev      hmUART
   LASTInputDev hmUART
   MSGCNT     1875
   NAME       HM_418887
   NOTIFYDEV  global
   NR         1310
   STATE      CMDs_done
   TYPE       CUL_HM
   channel_01 HM_418887_Weather
   channel_02 HM_418887_Climate
   channel_03 HM_418887_WindowRec
   channel_06 HM_418887_remote
   channel_07 HM_418887_SwitchTr
   hmUART_MSGCNT 1875
   hmUART_RAWMSG 0500003B02847041888700000000E424
   hmUART_RSSI -59
   hmUART_TIME 2016-11-28 10:17:38
   lastMsg    No:02 - t:70 s:418887 d:000000 00E424
   protCmdDel 2
   protEvt_AESCom-ok 2 last_at:2016-11-27 12:47:09
   protLastRcv 2016-11-28 10:17:38
   protNack   2 last_at:2016-11-27 17:53:45
   protResnd  1 last_at:2016-11-27 12:46:21
   protSnd    353 last_at:2016-11-28 08:29:10
   protState  CMDs_done
   rssi_at_hmUART avg:-70.35 max:-52 min:-100 lst:-59 cnt:1871
   rssi_hmUART avg:-67.5 cnt:12 max:-51 min:-83 lst:-53
   Readings:
     2016-11-27 13:03:02   Activity        alive
     2016-11-28 08:29:10   CommandAccepted yes
     2016-11-27 13:03:02   D-firmware      1.3
     2016-11-27 13:03:02   D-serialNr      MEQ1575410
     2016-11-27 17:54:36   PairedTo        0xD3AA78
     2016-11-27 12:46:03   R-burstRx       on
     2016-11-27 12:46:03   R-cyclicInfoMsg on
     2016-11-27 12:46:03   R-cyclicInfoMsgDis 0
     2016-11-27 12:46:03   R-pairCentral   0xD3AA78
     2016-11-27 17:54:36   RegL_00.          01:01 02:01 09:01 0A:D3 0B:AA 0C:78 0F:00 11:00  12:16 16:00 18:00 19:00 1A:00 00:00
     2016-11-27 23:59:55   RegL_07.
     2016-11-27 12:47:09   aesCommToDev    ok
     2016-11-27 12:47:09   aesKeyNbr       00
     2016-11-28 10:00:47   battery         ok
     2016-11-28 10:00:47   batteryLevel    3.1
     2016-11-28 10:00:47   desired-temp    17.0
     2016-11-28 10:00:47   measured-temp   22.8
     2016-11-28 08:29:11   state           CMDs_done
     2016-11-27 12:46:17   time-request    -
   Helper:
     HM_CMDNR   2
     PONtest    1
     cSnd       11D3AA78418887860430,11D3AA78418887860430
     mId        00AD
     rxType     6
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +418887,00,01,00
       nextSend   1480324658.80086
       prefIO
       rxt        0
       vccu
       p:
         418887
         00
         01
         00
     Mrssi:
       mNo        02
       Io:
         hmUART     -57
     Prt:
       awake      0
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       dev        1
     Rssi:
       At_hmuart:
         avg        -70.3543559593799
         cnt        1871
         lst        -59
         max        -52
         min        -100
       Hmuart:
         avg        -67.5
         cnt        12
         lst        -53
         max        -51
         min        -83
     Shregw:
       07         02
     Shadowreg:
     Tmpl:
Attributes:
   IODev      hmUART
   IOgrp      hm_VCCU:hmUART
   actCycle   000:10
   actStatus  alive
   autoReadReg 4_reqStatus
   expert     2_raw
   firmware   1.3
   model      HM-TC-IT-WM-W-EU
   msgRepeat  1
   room       CUL_HM
   serialNr   MEQ1575410
   subType    thermostat
   webCmd     getConfig:clear msgEvents


SwitchCh des Thermostates

Internals:
   CFGFN
   DEF        41888707
   NAME       HM_418887_SwitchTr
   NOTIFYDEV  global
   NR         1316
   STATE      peered
   TYPE       CUL_HM
   chanNo     07
   device     HM_418887
   peerList   HM_0A0303_Sw_01,
   Readings:
     2016-11-27 17:49:56   R-HM_0A0303_Sw_01-hyst2pointRead 0 C
     2016-11-27 12:46:23   R-sign          off
     2016-11-27 17:54:52   RegL_01.          08:00 00:00
     2016-11-27 17:54:52   RegL_07.HM_0A0303_Sw_01   15:00 00:00
     2016-11-28 10:15:49   level           0
     2016-11-27 17:54:51   peerList        HM_0A0303_Sw_01,
     2016-11-27 17:54:51   state           peered
     2016-11-28 10:15:49   trigger_cnt     83
   Helper:
     peerIDsRaw ,0A030301,00000000
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Role:
       chn        1
     Shadowreg:
     Tmpl:
Attributes:
   model      HM-TC-IT-WM-W-EU
   peerIDs    00000000,0A030301,
   room       CUL_HM


Aktor/Switch

Internals:
   DEF        0A0303
   IODev      hmUART
   LASTInputDev hmUART
   MSGCNT     487
   NAME       HM_0A0303
   NOTIFYDEV  global
   NR         318
   NTFY_ORDER 50-HM_0A0303
   STATE      CMDs_done
   TYPE       CUL_HM
   channel_01 HM_0A0303_Sw_01
   channel_02 HM_0A0303_Sw_02
   channel_03 HM_0A0303_Sw_03
   channel_04 HM_0A0303_Sw_04
   hmUART_MSGCNT 487
   hmUART_RAWMSG 05010031ADA0100A0303D3AA78030000
   hmUART_RSSI -49
   hmUART_TIME 2016-11-27 23:41:18
   lastMsg    No:AD - t:10 s:0A0303 d:D3AA78 030000
   protLastRcv 2016-11-27 23:41:18
   protSnd    280 last_at:2016-11-27 23:41:18
   protState  CMDs_done
   rssi_at_hmUART max:-47 lst:-49 min:-63 cnt:189 avg:-49.65
   rssi_hmUART avg:-90.91 min:-93 max:-86 lst:-92 cnt:24
   Readings:
     2016-11-27 23:41:01   CommandAccepted yes
     2016-11-27 19:31:15   PairedTo        0xD3AA78
     2016-11-27 19:31:15   R-pairCentral   0xD3AA78
     2016-11-27 19:31:15   RegL_00.          02:01 0A:D3 0B:AA 0C:78 00:00
     2016-11-27 23:41:18   state           CMDs_done
   Helper:
     HM_CMDNR   173
     PONtest    0
     cSnd       01D3AA780A03030103,01D3AA780A030301044188870703
     mId        0003
     rxType     1
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +0A0303,00,01,00
       nextSend   1480286478.92256
       rxt        0
       vccu       hm_VCCU
       p:
         0A0303
         00
         01
         00
       prefIO:
         hmUART
     Mrssi:
       mNo        AD
       Io:
         hmUART     -47
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       dev        1
       prs        1
     Rpt:
       IO         hmUART
       flg        A
       ts         1480286478.65435
       ack:
         HASH(0x3bd1928)
         AD8002D3AA780A030300
     Rssi:
       At_hmuart:
         avg        -49.6560846560846
         cnt        189
         lst        -49
         max        -47
         min        -63
       Hmuart:
         avg        -90.9166666666667
         cnt        24
         lst        -92
         max        -86
         min        -93
     Shadowreg:
     Tmpl:
Attributes:
   IODev      hmUART
   IOgrp      hm_VCCU:hmUART
   autoReadReg 4_reqStatus
   expert     2_raw
   firmware   1.6
   model      HM-LC-SW4-SM
   room       CUL_HM
   serialNr   HMRyAD30K3
   subType    switch
   webCmd     getConfig:clear msgEvents


Aktor Channel

Internals:
   DEF        0A030301
   NAME       HM_0A0303_Sw_01
   NOTIFYDEV  global
   NR         320
   NTFY_ORDER 50-HM_0A0303_Sw_01
   STATE      off
   TYPE       CUL_HM
   chanNo     01
   device     HM_0A0303
   peerList   HM_418887_SwitchTr,
   Readings:
     2016-11-27 23:26:31   CommandAccepted yes
     2016-11-27 19:31:20   R-HM_418887_SwitchTr-lgActionType jmpToTarget
     2016-11-27 19:31:20   R-HM_418887_SwitchTr-shActionType jmpToTarget
     2016-11-27 19:31:16   R-powerUpAction off
     2016-11-27 19:31:16   R-sign          off
     2016-11-27 23:41:17   RegL_01.          08:00 30:00 56:00 57:00 00:00
     2016-11-27 23:41:18   RegL_03.HM_418887_SwitchTr   02:00 03:02 04:32 05:64 06:00 07:FF 08:00 09:FF  0A:01 0B:64 0C:66 82:00 83:00 84:32 85:64 86:00  87:FF 88:00 89:FF 8A:21 8B:64 8C:66 00:00
     2016-11-27 23:40:26   deviceMsg       off (to hm_VCCU)
     2016-11-27 23:40:26   level           0
     2016-11-27 23:40:26   pct             0
     2016-11-27 23:41:17   peerList        HM_418887_SwitchTr,
     2016-11-27 23:40:26   recentStateType info
     2016-11-27 23:40:26   state           off
     2016-11-27 23:40:26   timedOn         off
     2016-11-28 10:19:49   trigLast        HM_418887_SwitchTr:0
     2016-11-28 10:19:49   trig_HM_418887_SwitchTr 0_84
   Helper:
     dlvlCmd    ++A011D3AA780A03030201C80000
     peerIDsRaw ,41888707,41888707,00000000
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Role:
       chn        1
     Shadowreg:
     Tmpl:
   Nb:
     cnt        23
Attributes:
   model      HM-LC-SW4-SM
   peerIDs    00000000,41888707,
   room       CUL_HM
   webCmd     statusRequest:toggle:on:off


Im Aktor-Channel sehe ich, dass

  • trigLast        HM_418887_SwitchTr:0
  • trigLast        HM_418887_SwitchTr:200
für aus/ein ankommt.


Ich habe einige Posts gefunden, wo Anwender mit anderen HM-Aktoren Probleme beim Ausschalten hatten. Bei mir ist es genau umgekehrt, das Einschalten funktioniert nicht.
Das im Wiki beschriebene Reg-Setting set <HM-LC-SW1-FM> regSet shCtOn ltLo <HM-TC-IT-WM-W-EU_SwitchTr> habe ich so gemacht, es hat nur keine Auswirkung. Das Verhalten bleibt identisch, wenn ich den Standardwert geLo belasse.

papa

Kannst Du für HM_0A0303_Sw_01 mal alle Register anschalten und dann nochmal nen List machen.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

weini

#378
Gerne, kommt heute Abend

edit:
Oder hilft dir das interimsweise?

No regs found for:

HM_0A0303_Sw_01 type:switch -
list:peer register         :value
   1:      powerUpAction    :off
   1:      sign             :off
   1:      statusInfoMinDly :unused
   1:      statusInfoRandom :0 s
   1:      transmitTryMax   :0
                       HM_418887_SwitchTr             
                       lg              sh             
ActionType             jmpToTarget     jmpToTarget     
CtDlyOff               geLo            geLo           
CtDlyOn                geLo            geLo           
CtOff                  geLo            geLo           
CtOn                   geLo            ltLo           
CtValHi                100             100             
CtValLo                50              50             
MultiExec              on              off             
OffDly            [s]  0               0               
OffTime                unused          unused         
OffTimeMode            absolut         absolut         
OnDly             [s]  0               0               
OnTime                 unused          unused         
OnTimeMode             absolut         absolut         
SwJtDlyOff             off             off             
SwJtDlyOn              off             off             
SwJtOff                off             off             
SwJtOn                 dlyOff          dlyOff

papa

Ändere mal

SwJtOff                off             off

in

SwJtOff                off             on

Der Switch führt nach der Auswertung der Condition den ActionType -> jmpToTarget aus. Aber alle Deine Ziele sind "off". Somit wird immer ausgeschalten. Du willst aber vom Off nach On schalten.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

weini

#380
Vielen Dank schon mal für die Hilfestellung.
Leider bringt es das noch nicht. Probiere jetzt gerade (gefühlt) alle denkbaren Kombinationen der Sw... Register durch.

In einer Variante habe ich den "on" Impuls getriggert bekommen, da ging dann aber kein "off" mehr:

edit:

ActionType             jmpToTarget     jmpToTarget     
CtDlyOff               geLo            geLo           
CtDlyOn                geLo            geLo           
CtOff                  geLo            geLo           
CtOn                   geLo            ltLo           
CtValHi                100             100             
CtValLo                50              50             
MultiExec              on              off             
OffDly            [s]  0               0               
OffTime                unused          unused         
OffTimeMode            absolut         absolut         
OnDly             [s]  0               0               
OnTime                 unused          unused         
OnTimeMode             absolut         absolut         
SwJtDlyOff             off             off             
SwJtDlyOn              off             on             
SwJtOff                off             dlyOn           
SwJtOn                 dlyOff          no             

papa

Dein SwJtOn steht ja auch auf no -  also nichts machen. Du willst da aber ein off oder dlyOff haben.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

weini

Klappt leider nicht. Mit "off" und "dlyOff" bekomme ich einen komischen Zwischenzustand. Die Status-LED für den Kanal geht an, das Relais schaltet aber nicht sondern brummt vor sich hin. Ich habe den Aktor als 4-fach Relais ausgebaut mit dem hier im Thread erwähnten externen China Relaisboard.

Wenn ich stattdessen "no" habe, dann schaltet er blitzsauber an.

papa

Hm - das sieht doch stark nach nem Bug in der Firmware aus. Ich bin eh gerade dabei, die Firmware umzustellen. Ich versuche mal im Laufe der Woche eine neue Version zu erstellen.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

weini

Das hört sich natürlich super an!

Ich habe jetzt nochmal weitere Tests gemacht, nichts davon hat aber eine Besserung gebracht:

  • Relaisboard getauscht
  • Spannung am Steckernetzteil zwischen 3V (da läuft der Arduino, die Relais werden aber nicht geschalten) über 4,5V, 6V bis 7,5V geändert
  • Brücke A0-A1 für Low-aktiv Ansteuerung herausgenommen (habe ich normalerweise gesetzt)

Ein Bild des Aufbaus mit dem Relaisboard habe ich hier nochmal angehängt. Es handelt sich um dieses hier: https://www.amazon.de/Kanal-Relais-Module-Arduino-TTL-Logik/dp/B00ALNJN72/

Wenn ich manuell via FHEM on/off schalte, dann funktioniert das immer ohne Problem.

Wenn ich mit dieser Registerkonfiguration schalte, dann wird bei "on" nur die LED auf dem Relaisboard aktiviert, aber das Relais nicht sauber durchgeschalten. Bei "off" wird das Relais ausgeschaltet, die LED bleibt aber noch (leicht gedimmt) an.

ActionType             jmpToTarget     jmpToTarget     
CtDlyOff               geLo            geLo           
CtDlyOn                geLo            ltLo           
CtOff                  geLo            geLo           
CtOn                   geLo            ltLo           
CtValHi                100             100             
CtValLo                50              50             
MultiExec              on              off             
OffDly            [s]  0               0               
OffTime                unused          unused         
OffTimeMode            absolut         absolut         
OnDly             [s]  0               0               
OnTime                 unused          unused         
OnTimeMode             absolut         absolut         
SwJtDlyOff             off             off             
SwJtDlyOn              off             on             
SwJtOff                off             dlyOn           
SwJtOn                 dlyOff          dlyOff         


Ich hatte schon das Relaisboard im Verdacht, aber bei manuellem on/off funktioniert es ja einwandfrei...

weini

Habe jetzt nochmal etwas versucht:
Mich hat irritiert, dass das Relaisboard für 5V ausgelegt ist, der Aktor aber an der Pin-Leiste nur 3,3V liefert. Am Relaisboard kann man aber die Relais auch potenialfrei schalten. Dazu kann man eine separate Spannung am Jumper einschleifen. Das habe ich jetzt gemacht und damit die Zuleitung direkt vom Netzteil verwendet, so dass die Relais mit 4,5V geschaltet werden.

Beim Test konnte ich manuell on/off via FHEM einwandfrei schalten. Wenn ich dann wieder über das Thermostat auslöse, dann gibt es ein Dauerklackern. Das Phänomän wird hier viel deutlicher und auffälliger.

Falls es dir hilft, dann könnte ich dir auch einen meiner Aktoren mit Relaisboard zum Testen zukommen lassen. Ich habe aktuell 3 Stück aufgebaut.

papa

Versuche bitte mal die angehängte Version. Nach dem OTA-Update muss das Gerät wieder neu angelernt und eingestellt werden, da alles intern komplett neu intitialisiert wird. Die Software beruht auf einer anderen Library.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

weini

Wow, super!
Das eigentliche Problem scheint die neue FW zu beheben. Ich kann jetzt auf dem Ch 1 des Aktors mit dem Thermostat "sauber" schalten.
Dabei nutze ich diese Config:

ActionType             jmpToTarget     jmpToTarget     
CtDlyOff               geLo            geLo           
CtDlyOn                geLo            geLo           
CtOff                  geLo            geLo           
CtOn                   geLo            ltLo           
CtValHi                100             100             
CtValLo                50              50             
MultiExec              on              off             
OffDly            [s]  0               0               
OffTime                unused          unused         
OffTimeMode            absolut         absolut         
OnDly             [s]  0               0               
OnTime                 unused          unused         
OnTimeMode             absolut         absolut         
SwJtDlyOff             off             off             
SwJtDlyOn              off             on             
SwJtOff                off             dlyOn           
SwJtOn                 dlyOff          dlyOff         


Allerdings gibt es noch eine kleine Unschönheiten:


  • Die Kanäle 1 & 2 funktioniere auf Anhieb wie sie sollen. Kanal 3 geht nach dem Start des Aktors beim ersten Schaltversuch nicht, danach läuft er. Kanal 4 bleibt aber leider tot, das Relais schaltet nicht, die LED auf dem Relaisboard aber sehr wohl.
  • Ich habe A0-A1 kurzgeschlossen, weil das Relaisboard low-aktiv ist. Wenn ich den Aktor mit der neuen FW starte, dann werden alle 4 Relais für ca. 1 Sekunde angezogen und gehen erst dann auf off. Damit könnte ich persönlich gut leben, es ist nur anders als bei der ursprünglichen FW.

Wenn du den Ch 4 noch hinbekommen würdest, dann wäre das super!

Bis hierhin schon mal vielen lieben Dank!

weini

Nachtrag:
Leider tut das noch nicht richtig stabil. Die ersten Schaltvorgänge haben gepasst, nach einer halben Stunde bekomme ich jetzt aber kein "on" mehr vom Thrermostat zum Aktor. Der Trigger ist da (200), der Aktor tut aber nichts. Manuell kann ich wieder auf "on" schlaten.

papa

    Zitat von: weini am 30 November 2016, 19:38:38
    • Die Kanäle 1 & 2 funktioniere auf Anhieb wie sie sollen. Kanal 3 geht nach dem Start des Aktors beim ersten Schaltversuch nicht, danach läuft er. Kanal 4 bleibt aber leider tot, das Relais schaltet nicht, die LED auf dem Relaisboard aber sehr wohl.

    Also wenn die Diode auf dem Relaisboard an geht, dann schaltet die CPU richtig. Dann ist noch irgendwas auf dem Relaisboard komisch.

    Zitat von: weini am 30 November 2016, 19:38:38
    • Ich habe A0-A1 kurzgeschlossen, weil das Relaisboard low-aktiv ist. Wenn ich den Aktor mit der neuen FW starte, dann werden alle 4 Relais für ca. 1 Sekunde angezogen und gehen erst dann auf off. Damit könnte ich persönlich gut leben, es ist nur anders als bei der ursprünglichen FW.

    Hm - müsste mal sehen, wie weit ich die low-active Erkennung nach vorne schieben kann.

    Zitat von: weini am 30 November 2016, 19:38:38
    Wenn du den Ch 4 noch hinbekommen würdest, dann wäre das super!

    Kannst Du vielleicht mal die Ausgaben auf der Serial ausnehmen ?
    BananaPi + CUL868 + CUL433 + HM-UART + 1Wire