Neue Firmware für HM_LC_Sw1PBU_FM mit getrenntem Aktor, Taster + Wechselschalter

Begonnen von jab, 29 Dezember 2013, 22:04:10

Vorheriges Thema - Nächstes Thema

flaxig

Ich weiss, ein Threat mit über 100 Seiten schreckt ab,
aber alle deine Fragen wurden hier bestimmt schon 20 mal
gefragt und beantwortet. (Deshalb ist der Fred auch so lang  ;) )
-> Suchfunktion

ZitatBei mir ist das definitiv nicht so. der Switch01 (Channel_01) verhält sich so wie die HM-eigene Firmware und
der Switch02 (channel_04) ist derjenige der Stromfluss berücksichtigt.

Dann nimm doch SW02 zum schalten und peeren - Hat bei mir auch funktioniert  ;)

traxanos

Zitat von: mcfly71 am 11 September 2015, 18:51:17
Bei mir ist das definitiv nicht so. der Switch01 (Channel_01) verhält sich so wie die HM-eigene Firmware und
der Switch02 (channel_04) ist derjenige der Stromfluss berücksichtigt.
Es tut mir leid wegen der Zumüllung mit Fragen, nur wollte ich jetzt am Anfang alles richtig machen, da ich mir mehrer (bis zu 5) von den Dingern zulegen will, und wenn es einmal falsch ist, ist es später überall falsch....

Ja kann ich bestätigen. Und habe das auch schon moniert:

http://forum.fhem.de/index.php/topic,18071.msg309848.html#msg309848
Im Einsatz:
FHEM: Latest auf RPi2
HM: vCCU, HMLAN, HMUSB2, HM-CC-RD-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-ES-PMWs1-Pl, HM-LC-Sw1PBU-FM, HM-PB-2-WM55-2, HM-RC-8, HM-BP-6-WM55
CUL: ESA2000, Intertechno

mcfly71

Hallo Gemeinde,

ich habe jetzt so ziemlich alles hinbekommen, wie es sein soll. Habe mich hier durch dieses Thema gewühlt. Die meisten Probleme kamen bei mir zustande, da ich beim kompilieren das #define firstload auskommentiert habe, da ich die HMID meines HMLAN direkt mit setzen wollte. Besser ist es, das kommentiert zu lassen, dann "normal" zu pairen, dann hat man (bis auf die Beschreibung im Wiki sw1 <-> sw2) alles so wie es im Wiki steht.

Nur ein Problem bleibt noch, was hier auch schon besprochen wurde, aber soweit ich verfolgen konnte nicht weiter 'verfolgt' wurde:
Wenn ich den Schalter als Wechselschalter verwende zusammen mit z.B. einem anderen 'konventionellen' Schalter (also ein ganz normaler Wechselschalter, nix HM), dann passiert in der folgenden Kombination:

- Glühbirne (Verbraucher ist aus)
- Glühbirne aus wurde durch Schalten des konventionellen Schalters erreicht, sodass das normale Relais des HM_LC_Sw1PBU_FM  !!!!AN!!!!  ist

Wenn der Strom nun ausfällt, und danach wieder kommt, bleibt das normale Relais des HM_LC_Sw1PBU_FM natürlich auf AUS, dadurch geht die Glühbirne AN.
Kann man nicht den Zustand des sw2 (im wiki sw1) auch irgendwie speichern, sodass der HM_LC_Sw1PBU_FM nach stromzufuhr wieder auf diesen Zustand geht, oder - was auch ok wäre - auf jedenfall auf "es fliesst kein Strom" geht.
Mir ist nämlich schon 2 mal im Urlaub passiert (wg. Gewitter), dass der Strom kurz weg war. Dann würden bei mir Tagelang einige Deckenlampen an sein, wenn dann der Strom wieder da ist.

vg
mcfly
- HMLAN / Raspberry auf hmmode
- Homematic

frank

ZitatKann man nicht den Zustand des sw2 (im wiki sw1) auch irgendwie speichern, sodass der HM_LC_Sw1PBU_FM nach stromzufuhr wieder auf diesen Zustand geht, oder - was auch ok wäre - auf jedenfall auf "es fliesst kein Strom" geht.
Mir ist nämlich schon 2 mal im Urlaub passiert (wg. Gewitter), dass der Strom kurz weg war. Dann würden bei mir Tagelang einige Deckenlampen an sein, wenn dann der Strom wieder da ist.
mit save werden alle readings gespeichert und nach restart wieder zugewiesen.

am besten vor dem stromausfall speichern.  ;)
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

mcfly71

Hallo frank,

ja das ist mir klar, das mache ich ja auch oft. was ist aber, wenn nur der HM_LC_Sw1PBU_FM den Strom verliert, weil mein fhem z.B. eine usv hat, dann nützt sowas nichts, da fhem ja nicht neu startet....
- HMLAN / Raspberry auf hmmode
- Homematic

frank

dann muesstest du nach spannungswiederkehr ein set chn4 off senden. entweder erhaeltst du von der usv ein signal oder nimmst das poweron reading eines "normalen" 230v aktors, der moeglichst an der selben phase arbeitet.
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

mcfly71

Hallo frank,

ja sowas in der Art mit dem Power On Reading hatte ich mir auch gedacht, das würde auch gut funktionieren.
Mein Plan war
1) Nach dem  Hochfahren von FHEM alle Schalter checken und evtl. auf OFF stellen (das hilft bei einem Gesamtstromausfall)
2) Dein Vorschlag: Device macht ein Power On, und dann auch checken

Kann man den in der Firmware nichts einbauen, was ein Power ON sendet ? Ansonsten muss ich extra ein anderes HM Device an dieselbe Phase bastelen, nur dafür....

vg
mcfly
- HMLAN / Raspberry auf hmmode
- Homematic

frank

ZitatKann man den in der Firmware nichts einbauen, was ein Power ON sendet ?
sicherlich. könnte ich auch gut gebrauchen.

ZitatAnsonsten muss ich extra ein anderes HM Device an dieselbe Phase bastelen, nur dafür....
das "extra" device muss nicht unbedingt am selben stromkreis (leitungsschutzschalter) betrieben werden. hauptsache die phase stimmt. ein "fremdes" poweron ist letztendlich aber auch nur spekulation. während der gewittersaison ist mir aufgefallen, dass manche devices wohl empfindlicher auf spannungsschwankungen reagieren als andere und dann poweron senden. dementsprechend kannst du natürlich auch alle 230v poweron auswerten und eventuell darauf reagieren.

falls du eine anwesenheitserkennung hast, könntest du auch ein notify triggern, sobald das licht an geht und es wieder ausschalten.
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

mcfly71

Hallo frank,

weisst du denn an wen ich mich wenden muss (ist der hier auch im forum?) mit der Bitte des Einbaus eines Power ON'S ?

Ich habe übrigens keine Anwesenheitserkennung...

vg
mcfly
- HMLAN / Raspberry auf hmmode
- Homematic

mcfly71

Hallo Gemeinde

Falls es jemanden interressiert. Ich habe mir ein Event selbst gebaut, der in battery den zustand poweron reinschreibt. Damit kommt ein poweron event bei fhem an, auf den ich per notify reagieren kann. Ich weiss, dass das whrschl. funktechnisch nicht ganz korrekt ist, aber es funktioniert prima. Der erste event vor allen anderen ist dann der powerup event. Ich werde dann darauf reagieren, und ca. 5 sekunden später das jeweilige device checken, ob strom fliesst. Wenn ja, mache ich es aus.
Nochmals: Das ist nur gedacht für den Fall: Das Device verliert Strom, der Strom kommt wieder, und der fhem Server läuft durchgehend weiter, und ich bin nicht da ;-) (In meinem Fall passierte dies in meinem Urlaub, der Strom ging wegen Blitzschlag weg, der Server lief weiter wegen meiner usv, der strom kam wieder -> Evtl. Wechselschalter Licht für den Rest des Urlaubs an)

Dazu muss man in 2 Dateien was ändern und die firmware neu flashen:

1. fhem

99_Asksin_HM_LC_Sw1PBU_FM_CustomFW.pm:

sub CUL_HM_ParseremoteAndSwitch($$$$$$) {
   my($mFlg,$mTp,$src,$dst,$p,$target) = @_;
   my @evtEt = ();

   # Log 1,"General entering with $mFlg,$mTp,$src,$dst,$p,$target";

   # mcfly
   if ( ($mTp eq "10") && ($p eq "06FF11FF11") )
   {
      my $shash = $modules{CUL_HM}{defptr}{$src.""}
      if($modules{CUL_HM}{defptr}{$src.""});

      push @evtEt,[$shash,1,"battery:powerup"];
      
      return @evtEt;
   }
   # mcfly

....... rest unverändert

2. Firmware

in dem *.cpp file nach "hm::init" suchen:

diese init funktion folgendermassen ändern:

void HM::init() {                                                // starts also the send/receive class for the rf module
   cc.init();                                                   // init the TRX module
   initRegisters();                                             // init the storage management module
   setPowerMode(0);                                             // set default power mode of HM device
   delay(100);                                                   // otherwise we get a problem with serial console
   enableIRQ_GDO0();                                             // attach callback function for GDO0 (INT0)

    // mcfly: Sende powerup signal
    // wichtig fuer handling bei Wechselschaltung
    // *.pm File
    // CUL_HM_ParseremoteAndSwitch($mFlg,$mTp,$src,$dst,$p,$target) = A4,10,111101,F11205,06FF11FF11
   send_payLoad[0] = 0x06;
   send_payLoad[1] = 0xFF;
   send_payLoad[2] = 0x11;
   send_payLoad[3] = 0xFF;
   send_payLoad[4] = 0x11;
   uint8_t tCnt;
   tCnt = send.mCnt++;
   send_prep(tCnt,0xA4,0x10,regDev.pairCentral,send_payLoad,5);
    //       
   
}

P.S. Ich hatte auch Kontakt mit dem Coder der Firmware aufgenommen. Der sagte mir, dass er das powerup signal "im B-Kanal" sendet. Ich weiss nicht was das heisst, wie ich es abfangen kann, usw.
Ich hatte alle Meldungen von sub CUL_HM_ParseremoteAndSwitch($$$$$$) mitgeloggt, und an denen konnte man einfach nicht erkennen, ob gerade geschaltet wird, oder das Ding Strom bekam....., deshalb meine Lösung auf diesem Weg.... wems auch hilft biddde schön


Noch'n schönen Tag allen zusammen..
vg
mcfly
- HMLAN / Raspberry auf hmmode
- Homematic

wires.io

...

wires.io

...

wires.io

Ein andere Frage hätte ich noch;-) Ist es möglich einen RWE Smarthome Dimmer mit der alternativen Firmware Homematic fähig zu machen ohne dabei die Dimmereigenschaften zu verlieren?

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

Klaus0815

Wahnsinn, 102 Seiten, sorry, kann echt nicht alle durchlesen, deshalb direkt gefragt:

Hat sich schon jemand am 2fach-UP-Schaltaktor versucht ?

Es wäre genau die Lösung für mein Problem, wenn dieser die Schaltzustände sofort melden würde