HM-ES-PMSw1-Pl auf "Dauer-ON"

Begonnen von Hugo Becker, 04 Februar 2014, 18:24:23

Vorheriges Thema - Nächstes Thema

Hugo Becker

Hallo liebe FHEM-Gemeinde,

ich habe einen HM-ES-PMSw1-Pl mit dem ich meine Drainagepumpe fürs Haus überwachen möchte, aber unter KEINEN Umständen schalten.

Hintergrund: bei der Pumpe handelt es sich um eine Tauchpumpe mit Schwimmer, der die Pumpe automatisch bei einen definierten Pegelstand des Grundwassers ein-/ausschaltet. Um zu vermeiden, daß die Pumpe durch versehentliches Ausschalten vom Netz getrennt wird, suche ich eine verlässliche Methode den Schalter permanent eingeschaltet zu lassen. Der Aktor sollte sich auch nach einem evtl. Stromausfall oder bei Ausfall von FHEM selbsttätig wieder einschalten und nicht von irgendwelchen Dummys oder Notifys abhängig sein. Den Kanal 1 (Schaltkanal) benutze ich nicht und benötige den Aktor lediglich zur grafischen Auswertung der Zeiten bzw. Leistung wenn die Pumpe selbsttätig anspringt.

Ich würde dies gern durch Setzen der Register im Aktor lösen, aber alle meine Versuche schlugen bislang fehl.
Hat jemand von Euch eine Lösung für mich ? Ich bin mittlerweile am Verzweifeln...

Ich sage schon mal Danke
Hugo

Nico

Ich wäre auch daran interessiert - bei mir hängt zwar "nur" der Kühlschrank dran, aber auch der sollte nach einem Stromausfall nicht länger aus bleiben, weil vielleicht niemand zu Hause ist...

martinp876

hm - interessanter Fall.
A) Generell wäre eine poweron_Action dafür zuständig. Die gibt es beim Switch aber nicht. Ihr könnten einmal die roh-register schicken, manchmal gibt es nicht Beschriebene Register...

B) off-timer setzen
Ich würde erst einmal alle OffTime aller Peers auf 0 setzen. Ferner die statemachine: bei shJtOn = no einsetzen, damit on nicht mehr verlassen wird.

Nun muss noch ein trigger kommen, der min einmal beim Einschalten kommt. Hier kommt man sich die Spannung vorstellen: wenn die 200V übersteigt soll ein trigger an den Switch gesendet werden, der schaltet dann ein. Ich gehe davon aus, dass bereits beim Einschalten, wenn die Spannung steigt, ein trigger gesendet wird

cndTxCycAbove on
cndTxDecAbove 50 #25%
txThrHiVlt    240 #25% = 60V - sollte reichen


Gruss Martin

Gruss Martin

peterk_de

Das Relais dadrin zu überbrücken (ggf. per nach draußen geführten Hardware-Schalter) scheint mir die sicherste Variante, da sie auch bei einem Komplettausfall der Elektronik funktionieren würde - ich erwäge das in der Tat für einen meiner Zwischenstecker, der an meinem Kühlschrank hängt, allerdings hemmt mich der Garantieverlust noch ein wenig ...
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

peterk_de

#4
Nachtrag für Martin:

Schalter selbst:
RegL_00: 02:01 0A:34 0B:EF 0C:21 18:00 00:00

Switch-Channel:
RegL_01: 08:00 30:06 57:24 00:00

Pwr-Channel,
RegL_01: 08:00 7A:01 7B:08 7C:00 7D:27 7E:10 7F:00 80:64 81:00 82:64 83:64 00:00

SenPwr-Channel:
RegL_01: 08:00 22:64 30:06 84:00 85:C8 86:00 87:00 88:00 89:4E 8A:20 8B:00 8C:00 8D:27 8E:10 00:00


(nix gepeert)

War das so richtig? Bei anderen Listennummern in den jeweiligen Kanälen passiert irgendwie nix bzw. kommt nichts zurück.

FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

martinp876

- eine power-on action kann man nicht definieren
- du solltest das interne peering sichtbar machen
set <dev> regSet intKeyVisib visib
und dann noch einmal ein getConfig.
=> hier werden die internen peerings sichtbar - und wie sie eingestellt sind.

Ob und wie sie einzurichten sind habe ich nicht probiert. Aber sicher kann man die Sensoren mit dem Schalter peeren und aktionen Ableiten

Gruss Martin

peterk_de

#6
OK, hier ist es für den Switch-Kanal:


R-self01-lgActionType jmpToTarget
R-self01-lgCtDlyOff geLo
R-self01-lgCtDlyOn geLo
R-self01-lgCtOff geLo
R-self01-lgCtOn geLo
R-self01-lgCtValHi 100
R-self01-lgCtValLo 50
R-self01-lgMultiExec on
R-self01-lgOffDly 0 s
R-self01-lgOffTime 111600 s
R-self01-lgOffTimeMode absolut
R-self01-lgOnDly 0 s
R-self01-lgOnTime 111600 s
R-self01-lgOnTimeMode absolut
R-self01-lgSwJtDlyOff off
R-self01-lgSwJtDlyOn on
R-self01-lgSwJtOff dlyOn
R-self01-lgSwJtOn dlyOff
R-self01-shActionType jmpToTarget
R-self01-shCtDlyOff geLo
R-self01-shCtDlyOn geLo
R-self01-shCtOff geLo
R-self01-shCtOn geLo
R-self01-shCtValHi 100
R-self01-shCtValLo 50
R-self01-shOffDly 0 s
R-self01-shOffTime 111600 s
R-self01-shOffTimeMode absolut
R-self01-shOnDly 0 s
R-self01-shOnTime 111600 s
R-self01-shOnTimeMode absolut
R-self01-shSwJtDlyOff off
R-self01-shSwJtDlyOn on
R-self01-shSwJtOff dlyOn
R-self01-shSwJtOn dlyOff
RegL_01: 08:00 30:06 57:24 00:00
RegL_02:
RegL_03:self01 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:14 0C:63 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:63 00:00
deviceMsg on (to HMLANGW)
level 100
pct 100
peerList self01,
recentStateType info
state on
timedOn off


Sind die anderen Channels dafür auch interessant? Da ist dadurch auf den ersten Blick nichts passiert.
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

martinp876

hm - jetzt muss man etwas experimentieren.
hat das self01 ist sicher der Button an der Vorderseite.

Den Rest muss ich raten:
Zum einen kannst du erst einmal einrichten, dass der Voltage Channel beim Starten einen Trigger sendet. Den sollte man in FHEM sehen.
Dann kannst du Channel 05 (Sensor) mit channel 01 peeren. Hier bin ich nicht sicher, dass es funktioniert... sollte aber.
Dann sollte ein getConfig des Channel 01 ein self05 zu sehen sein. Der Trigger des Channel 05 kommt dann am Channel 01 an (so die Theorie). Jetzt musst du in Channel 01 die Register des peer self05 setzen, dass bei jedem Trigger eingeschaltet wird
set xx regSet shOnTimeMode on self05
set xx regSet shSwJtDlyOff on self05
set xx regSet shSwJtDlyOn  no self05
set xx regSet shSwJtOff      on self05

offTime sollte immer auf 0 stehen.
set xx regSet shOffTime   0

Eigentlich solltest du auch die Register des peer self01 genauso setzen. Damit stellst du sicher, dass bei einen Drücken auf den Button nicht ausverssehen ausgeschaltet wird, sondern immer ein.

Beachte: auchLong solltest du setzen - insbesondere vom Button self01 (der Voltage-channel wird NIE long senden!)

Alternativ kannst du einen Channel auch ignorieren (den Button zum Beispiel). Am einfachsten mit sh/lgActionType = off

Gruss Martin

peterk_de

#8
So, ich hab mal getestet:


set bad.unten.luftentfeuchter_schalter regSet shOffTime 0 bad.unten.luftentfeuchter_schalter
set bad.unten.luftentfeuchter_schalter regSet lgOffTime 0 bad.unten.luftentfeuchter_schalter


Danach ist der eingebaute Taster schoneimal tot. Es blinkt zwar kurz die LED, geht aber gleich wieder rot an. Nach einem Stromausfall bleibt der Zwischenstecker aber aus. Weiter gehts:


set bad.unten.luftentfeuchter_SenU peerChan 0 bad.unten.luftentfeuchter_schalter single set

set bad.unten.luftentfeuchter_schalter getConfig

set bad.unten.luftentfeuchter_schalter regSet shOnTimeMode minimal self05  # on ging nicht - absolut oder minimal probiert, macht keinen unterschied
set bad.unten.luftentfeuchter_schalter regSet shSwJtDlyOff on self05
set bad.unten.luftentfeuchter_schalter regSet shSwJtDlyOn no self05
set bad.unten.luftentfeuchter_schalter regSet shSwJtOff on self05


Dito. Bleibt aus. Ich habe das Reinstecken des Zwischensteckers in die Steckdose einmal mitgeloggt:


2014.03.17 21:38:59.986 5: HMLAN/RAW: /E24A87B,0000,00E3FCF8,FF,FFC6,02A45F24A87B34EF21800000000000000108ED03
2014.03.17 21:38:59.992 5: HMLAN_Parse: HMLANGW R:E24A87B   stat:0000 t:00E3FCF8 d:FF r:FFC6     m:02 A45F 24A87B 34EF21 800000000000000108ED03
2014.03.17 21:38:59.998 5: HMLANGW dispatch A1402A45F24A87B34EF21800000000000000108ED03::-58:HMLANGW
2014.03.17 21:39:00.020 5: HMLAN: Skip ACK
2014.03.17 21:39:00.026 5: CUL_HM bad.unten.luftentfeuchter protEvent:CMDs_done
2014.03.17 21:39:00.028 5: CUL_HM bad.unten.luftentfeuchter sent ACK:2
2014.03.17 21:39:00.054 5: Triggering bad.unten.luftentfeuchter_Pwr (9 changes)
2014.03.17 21:39:00.055 5: Notify loop for bad.unten.luftentfeuchter_Pwr energy: 0
2014.03.17 21:39:00.071 4: eventTypes: CUL_HM bad.unten.luftentfeuchter_Pwr energy: 0 -> energy: .*
2014.03.17 21:39:00.072 4: eventTypes: CUL_HM bad.unten.luftentfeuchter_Pwr power: 0 -> power: .*
2014.03.17 21:39:00.074 4: eventTypes: CUL_HM bad.unten.luftentfeuchter_Pwr current: 1 -> current: .*
2014.03.17 21:39:00.075 4: eventTypes: CUL_HM bad.unten.luftentfeuchter_Pwr voltage: 228.5 -> voltage: .*
2014.03.17 21:39:00.076 4: eventTypes: CUL_HM bad.unten.luftentfeuchter_Pwr frequency: 50.03 -> frequency: .*
2014.03.17 21:39:00.078 4: eventTypes: CUL_HM bad.unten.luftentfeuchter_Pwr eState: E: 0 P: 0 I: 1 U: 228.5 f: 50.03 -> eState: E: .* P: .* I: .* U: .* f: .*
2014.03.17 21:39:00.079 4: eventTypes: CUL_HM bad.unten.luftentfeuchter_Pwr boot: off -> boot: off
2014.03.17 21:39:00.080 4: eventTypes: CUL_HM bad.unten.luftentfeuchter_Pwr 0 -> .*
2014.03.17 21:39:00.124 5: Triggering bad.unten.luftentfeuchter_SenF (1 changes)
2014.03.17 21:39:00.125 5: Notify loop for bad.unten.luftentfeuchter_SenF 50.03
2014.03.17 21:39:00.133 4: eventTypes: CUL_HM bad.unten.luftentfeuchter_SenF 50.03 -> .*
2014.03.17 21:39:00.159 5: Triggering bad.unten.luftentfeuchter_SenI (1 changes)
2014.03.17 21:39:00.160 5: Notify loop for bad.unten.luftentfeuchter_SenI 1
2014.03.17 21:39:00.168 4: eventTypes: CUL_HM bad.unten.luftentfeuchter_SenI 1 -> .*
2014.03.17 21:39:00.192 5: Triggering bad.unten.luftentfeuchter_SenPwr (1 changes)
2014.03.17 21:39:00.193 5: Notify loop for bad.unten.luftentfeuchter_SenPwr 0
2014.03.17 21:39:00.201 4: eventTypes: CUL_HM bad.unten.luftentfeuchter_SenPwr 0 -> .*
2014.03.17 21:39:00.226 5: Triggering bad.unten.luftentfeuchter_SenU (1 changes)
2014.03.17 21:39:00.227 5: Notify loop for bad.unten.luftentfeuchter_SenU 228.5
2014.03.17 21:39:00.235 4: eventTypes: CUL_HM bad.unten.luftentfeuchter_SenU 228.5 -> .*


Edit: *_schalter ist natürlich der (von mir umbenannte) Switch-Kanal. Ich fürchte, der Switch-Channel ist noch nicht bereit, wenn der SenU-Trigger kommt - oder so??
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

peterk_de

Nachtrag: Über FHEM kann man ihn übrigens mit set off natürlich auch problemlos noch ausschalten. Das sollte man dann wohl über das löschen des Channels in FHEM beheben. Ich hab mal noch die Register gedumpt, falls daraus jemand schlauer wird als ich ;)


bad.unten.luftentfeuchter type:powerMeter -
list:peer register         :value
   0:      intKeyVisib      :visib
   0:      localResDis      :off
   0:      pairCentral      :0x34EF21
                 
                 
bad.unten.luftentfeuchter_Pwr type:powerMeter -
list:peer register         :value
   1:      averaging        :1 s
   1:      txMinDly         :8 s
   1:      txThrCur         :100 mA
   1:      txThrFrq         :1 Hz
   1:      txThrPwr         :100 W
   1:      txThrVlt         :10 V
                 
                 
bad.unten.luftentfeuchter_SenF type:powerMeter -
list:peer register         :value
   1:      cndTxCycAbove    :off
   1:      cndTxCycBelow    :off
   1:      cndTxDecAbove    :200
   1:      cndTxDecBelow    :0
   1:      cndTxFalling     :off
   1:      cndTxRising      :off
   1:      ledOnTime        :0.5 s
   1:      transmitTryMax   :6
   1:      txThrHiFrq       :49.8 Hz
   1:      txThrLoFrq       :50.2 Hz
                 
                 
bad.unten.luftentfeuchter_SenI type:powerMeter -
list:peer register         :value
   1:      cndTxCycAbove    :off
   1:      cndTxCycBelow    :off
   1:      cndTxDecAbove    :200
   1:      cndTxDecBelow    :0
   1:      cndTxFalling     :off
   1:      cndTxRising      :off
   1:      ledOnTime        :0.5 s
   1:      transmitTryMax   :6
   1:      txThrHiCur       :10 mA
   1:      txThrLoCur       :20 mA
                 
                 
bad.unten.luftentfeuchter_SenPwr type:powerMeter -
list:peer register         :value
   1:      cndTxCycAbove    :off
   1:      cndTxCycBelow    :off
   1:      cndTxDecAbove    :200
   1:      cndTxDecBelow    :0
   1:      cndTxFalling     :off
   1:      cndTxRising      :off
   1:      ledOnTime        :0.5 s
   1:      transmitTryMax   :6
   1:      txThrHiPwr       :100 W
   1:      txThrLoPwr       :200 W
                 
                 
bad.unten.luftentfeuchter_SenU type:powerMeter -
list:peer register         :value
   1:      cndTxCycAbove    :on
   1:      cndTxCycBelow    :off
   1:      cndTxDecAbove    :50
   1:      cndTxDecBelow    :0
   1:      cndTxFalling     :off
   1:      cndTxRising      :on
   1:      ledOnTime        :0.5 s
   1:      transmitTryMax   :6
   1:      txThrHiVlt       :120 V
   1:      txThrLoVlt       :24 V
                 
                 
bad.unten.luftentfeuchter_schalter type:powerMeter -
list:peer register         :value
                                            self01                          self05
                                lg              sh              lg              sh
ActionType             jmpToTarget     jmpToTarget     jmpToTarget     jmpToTarget
CtDlyOff                      geLo            geLo            geLo            geLo
CtDlyOn                       geLo            geLo            geLo            geLo
CtOff                         geLo            geLo            geLo            geLo
CtOn                          geLo            geLo            geLo            geLo
CtValHi                        100             100             100             100
CtValLo                         50              50              50              50
MultiExec                       on              on
OffDly         [s]               0               0               0               0
OffTime        [s]               0               0          111600          111600
OffTimeMode                absolut         absolut         absolut         absolut
OnDly          [s]               0               0               0               0
OnTime         [s]          111600          111600          111600          111600
OnTimeMode                 absolut         absolut         absolut         minimal
SwJtDlyOff                     off             off             off              on
SwJtDlyOn                       on              on              on              no
SwJtOff                      dlyOn           dlyOn           dlyOn              on
SwJtOn                      dlyOff          dlyOff          dlyOff          dlyOff
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

martinp876

du solltest noch:

set bad.unten.luftentfeuchter_schalter regSet shSwJtOn no self05
set bad.unten.luftentfeuchter_schalter regSet shOffTime 0 self05
set bad.unten.luftentfeuchter_schalter regSet shCtValLo 0 self05

setzen.

Zeichne das Setzen der Register und das Booten auf  (rohmessages). Kontrolliere, dass die Werte gesetzt werden, oder ob es Probleme gibt.

Gruss Martin

peterk_de

@Martin Das hat es leider auch nicht gebracht - Logs folgen die Tage.
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

ManfredC

Moin,

hier hab ich was gefunden wie man das mit einer CCU konfigurieren kann. Es geht also.

http://homematic-forum.de/forum/viewtopic.php?f=31&t=15953

Grüße,

Manfred

martinp876

nun, das haben wir ja auch so geplant.
1) der Spannungs-Kanal sollte einen trigger senden bei Überschreigen der Schwellenspannung. Bei ELV liegen die Level höher - kann man machen

2) schalter und spannungssensoren werden gepeert - haben wir.

3) die Aktion dauer muss programmiert werden. Das sollte der Fall sein

=> ist also quasi identisch
a) sind die Register korrekt geschrieben? Noch einmal die Register bitte - channel Voltage und schalter
b) kommt der Trigger?

wir werden es in den Logs sehen

Gruss Martin

frank

hallo peter,

ich versuche auch gerade auf dauer on zu stellen.

nach dem peeren von chn01 mit chn05 bekomme ich bei mir keinen peereintrag im chn05 vom chn01. also kein self01 oder xxxxxx01 unter attr peerIDs. hat dein spannugssensor kanal die einträge?

gruss frank
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