Autor Thema: Neue Firmware für HM_LC_Sw1PBU_FM mit getrenntem Aktor, Taster + Wechselschalter  (Gelesen 774418 mal)

Offline wires.io

  • Full Member
  • ***
  • Beiträge: 131
    • Smart Wirings for the Internet of Things
Neuer Versuch, wobei "expert allReg" nur beim Switch mehr Info liefert.

Edit: Code entfernt, da für andere irrelevant. Problemlösung s.u.
« Letzte Änderung: 28 Oktober 2020, 14:45:55 von wires.io »

Online frank

  • Hero Member
  • *****
  • Beiträge: 11158
wegen dem prellen versuche:
R-HM_123457_Btn_02-lgMultiExec off

setze alle register peerNeedsBurst=off in allen button channels. 230v aktoren brauchen keinen burst. diese burst belasten aber alle devices, die burst nutzen, zb thermostate.
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

Offline wires.io

  • Full Member
  • ***
  • Beiträge: 131
    • Smart Wirings for the Internet of Things
Danke, das hat mein Problem gelöst!
« Letzte Änderung: 28 Oktober 2020, 14:45:01 von wires.io »

Online frank

  • Hero Member
  • *****
  • Beiträge: 11158
Danke, das hat mein Problem gelöst!

warum hast du alle daten in deinen antworten gelöscht?
die konversation kann doch so keiner mehr nachvollziehen.
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

Offline wires.io

  • Full Member
  • ***
  • Beiträge: 131
    • Smart Wirings for the Internet of Things
Das war nicht böse gemeint. Ich wollte den Thread durch lange und teilweise falsche Listings nicht noch mehr überfrachten. Wenn Du denkst, dass es anderen hilft, stelle ich die Listings aber wieder ein.

Kurz zusammen gefasst, habe ich folgendes Problem mit Deiner Hilfe gelöst:
- Im Flur habe ich drei  HM_LC_Sw1PBU_FM mit Custom FW verbaut, einen im Keller, einen im Erdgeschoss und einen im 1. Stock.
- Am Beispiel des Schalters HM_123456 im Erdgeschoss habe ich folgende Direktverknüpfungen, die ich persönlich intuitiv finde, eingerichtet:
  - Kurzer Tastendruck unten (HM_123456_Btn_02 sh) -> lokales Licht (HM_123456) schaltet
  - Kurzer Tastendruck oben (HM_123456_Btn_01 sh) -> Licht im 1. Stock (HM_123457) schaltet
  - Langer Tastendruck unten (HM_123456_Btn_02 lg) -> Licht im Keller (HM_123459)  schaltet

Dazu muss folgende Konfiguration vorgenommen werden:

Peering
set HM_123456_Btn_02 peerChan 0 HM_123456_Sw_01 single set
set HM_123456_Btn_01 peerChan 0 HM_123457_Sw_01 single set
set HM_123456_Btn_02 peerChan 0 HM_123459_Sw_01 single set

Konfig Short / Long Press
set HM_123456_Sw_01 regSet lgActionType off self02
set HM_123459_Sw_01 regSet shActionType off HM_123456_Btn_02

Entprellen
set HM_123459_Sw_01 regSet lgMultiExec off HM_123456_Btn_02

Bursts vermeiden
set HM_123456_Btn_02 peerNeedsBurst off self02
set HM_123456_Btn_01 peerNeedsBurst off HM_123457_Sw_01
set HM_123456_Btn_02 peerNeedsBurst off HM_123459_Sw_01
« Letzte Änderung: 29 Oktober 2020, 14:55:30 von wires.io »

Offline JochenSi

  • New Member
  • *
  • Beiträge: 24
Servus Kollegen ;-)

ich hab im Wiki ein HowTo angelegt wie man Schritt für Schritt mit VS-Code, PlatformIO und die Firmwareanpassung von Verkehrsrot für diese IDEs auf den Schalter bekommt. Für Hinweise falls doch irgendwo ein Fehler ist bin ich Dankbar. Bei mir klappt es. Danke für die Experten die das möglich gemacht haben.

https://wiki.fhem.de/wiki/HM-LC-Sw1PBU-FM_Alternative_Firmware_mit_VSCode_und_PlatformIO_flashen

Grüße Jochen

Offline Nighthawk

  • Full Member
  • ***
  • Beiträge: 425
Hallo zusammen,

ich nutze diese Firmware nun seit ~3 Jahren, leider kämpfe ich bis heute an der Zustandswiederherstellung nach Stromausfall.
Das heisst, Licht wurde am HM_LC_Sw1PBU_FM eingeschaltet (Relais wird geschlossen) und am entferntem Schalter ausgeschaltet, in diesem Fall bleibt das Relais angezogen (geschlossen). Wenn nun ein Stromausfall kommt, wird das Relais natürlich geöffnet und das Licht geht ungewollt an.
Hat einer von euch evtl. eine Lösung dafür gefunden?

Gruß
Alex

Offline Verkehrsrot

  • Jr. Member
  • **
  • Beiträge: 50
Mir fällt als Workaround nur ein, vor längerer Abwesenheit den mechanischen Wechselschalters so zu schalten, dass das Relais beim HM_LC_Sw1PBU_FM abgefallen ist. Man kann es an der LED erkennen, sie zeigt den Status des Relais an: leuchtet = Relais angezogen, aus = Relais abgefallen.

Alles ziemlich dämlich. Aber gibt's für HMGW und fhem inzwischen eine bessere Wechselschaltung taugliche Lösung?

Offline Verkehrsrot

  • Jr. Member
  • **
  • Beiträge: 50
ich hab im Wiki ein HowTo angelegt wie man Schritt für Schritt mit VS-Code, PlatformIO und die Firmwareanpassung von Verkehrsrot für diese IDEs auf den Schalter bekommt.

Da war ich heute dankbar für, denn es war wieder Zeit für das Umflashen eines Schalters, nachdem sich wieder Kondensatoren verabschiedet hatten. Ohne das Wiki hätte ich meinen selbst gebauten Lösungsweg nicht wieder gefunden. So war die Sache in 20 Minuten erledigt.

Offline JochenSi

  • New Member
  • *
  • Beiträge: 24
Hallo Verkehrsrot,
es freut mich das dir die Anleitung geholfen hat. Allerdings habe ich selber vor kurzem noch einen Schalter flashen müssen und mir ist aufgefallen das Visual Studio Code scheinbar die GIT Einbindung/Handling geändert hat. Nach ausprobieren in Linux und in Windows hab ich dann die Daten manuell runtergeladen da ich es nicht nach meiner Anleitung nach hinbekommen habe. Geht das nur mir so, dass die Einbindung nicht mehr wie in dem Howto beschrieben klappt?
Wenn jemand Tipps für das Handling von VS Code incl. PlatformIO hat bitte bei mir melden weil ich das HowTo gerne aktuell halten will.

Mir ist aber auch aufgefallen, dass geflashte Schalter ihren Peer vergessen wenn es zu einem Stromausfall kommt. Muss man die Peereinstellungen noch permanent speichern?
Grüße Jochen

Offline kingmathers

  • Full Member
  • ***
  • Beiträge: 284
Hallo,

In der Anleitung zum Flashen mit Raspberry Pi sind leider die links zu avrdude kaputt und laut der Anleitung benötigt man die verlinkte Version. Hat eventuell jemand die Dateien noch oder einen funktionierenden Link? Den Bootloader und die Firmware konnte ich vorbereiten, nur beim Flashen kann ich die Fuses nicht richtig setzen.
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

Offline gregorv

  • New Member
  • *
  • Beiträge: 9
Hallo,

ich versuche den HB-LC-Bl1PBU-FM (HM-LC-Bl1PBU-FM aber Taster getrennt) in FHEM einzubinden. In der HMConfig_AskSinPPCustom.pm ist aber kein Device mit der ID F337 vorhanden und Jab hat bei dem Hinweis zu HB-LC-Bl1PBU-FM eine 99_Asksin_HM_LC_Sw1PBU_FM_CustomFW.pm verlinkt, die aber, soweit ich das sehe, nur für den HM-LC-Sw1PBU-FM mit der ID FA09 funktionieren kann.
Hat jemand da schon eine Anpassung gemacht oder kann mir helfen, wie das geht ?
ich habe schon versucht aus einer Kopie Device F335 in der HMConfig_AskSinPPCustom.pm ein Device F337 zu bauen, aber es klappt nicht. FHEM legt zwar ein Device an, sieht aber nicht richtig aus. Die Channels Btn01, Btn02 und Blind werden angelegt, aber der nur Btn 2 funktioniert. Wenn ich Btn01 drücke, kommt im Channel 3: HM_D0A100_Blind Short, also sind einerseits die Cannels vertauscht und außerdem ist da auch der erwartete pos Befehl (um den Rolladen zu einer bestimmten Position zu fahren) nicht vorhanden.
Hier mein Versuch:
$HMConfig::culHmModel{"F337"} = {name=>"HM-LC-Bl1-FM-Cus",st=>'custom',cyc=>'',rxt=>'',lst=>'1,3:3p,3:1p.2p',chn=>"Btn:1:2,Blind:3:3"};
$HMConfig::culHmChanSets{"HM-LC-Bl1-FM-Cus00"}{fwUpdate} = "<filename>";
$HMConfig::culHmChanSets{"HM-LC-Bl1-FM-Cus01"} = $HMConfig::culHmSubTypeSets{"THSensor"};
$HMConfig::culHmChanSets{"HM-LC-Bl1-FM-Cus02"} = $HMConfig::culHmSubTypeSets{"THSensor"};
$HMConfig::culHmChanSets{"HM-LC-Bl1-FM-Cus03"} = $HMConfig::culHmSubTypeSets{"blindActuator"};
$HMConfig::culHmRegChan {"HM-LC-Bl1-FM-Cus01"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HM-LC-Bl1-FM-Cus02"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HM-LC-Bl1-FM-Cus03"} = $HMConfig::culHmRegType{blindActuator};
$customMsg{"HM-LC-Bl1-FM-Cus"} = sub {
  my ($msg,$target) = @_;
  return $msg->processRemote if $msg->isRemote;
  return $msg->processBlindStatus($target) if $msg->isStatus;
  return ();
};
Und die Device Details:
defmod HM_D0A100 CUL_HM D0A100
attr HM_D0A100 .mId F337
attr HM_D0A100 IODev CULHM
attr HM_D0A100 autoReadReg 4_reqStatus
attr HM_D0A100 expert rawReg
attr HM_D0A100 firmware 1.0
attr HM_D0A100 model HM-LC-Bl1-FM-Cus
attr HM_D0A100 room CUL_HM
attr HM_D0A100 serialNr HMD0A100TT
attr HM_D0A100 webCmd getConfig:clear msgEvents

setstate HM_D0A100 HM_D0A100_Blind Short
setstate HM_D0A100 2022-01-11 22:37:38 .D-devInfo 030100
setstate HM_D0A100 2022-01-11 22:37:38 .D-stc 30
setstate HM_D0A100 2022-01-11 22:40:35 .R-pairCentral 0xF10000
setstate HM_D0A100 2022-01-11 22:37:43 .associatedWith HM_D0A100,HM_D0A100_Blind,HM_D0A100_Btn_01,HM_D0A100_Btn_02,HM_D0A100
setstate HM_D0A100 2022-01-11 22:41:38 .protLastRcv 20220111224138
setstate HM_D0A100 2022-01-11 22:37:46 CommandAccepted yes
setstate HM_D0A100 2022-01-11 22:37:38 D-firmware 1.0
setstate HM_D0A100 2022-01-11 22:37:38 D-serialNr HMD0A100TT
setstate HM_D0A100 2022-01-11 22:41:38 IODev CULHM
setstate HM_D0A100 2022-01-11 22:40:35 PairedTo 0xF10000
setstate HM_D0A100 2022-01-11 22:40:35 RegL_00.  00:00 02:01 0A:F1 0B:00 0C:00 15:FF 18:00
setstate HM_D0A100 2022-01-11 22:41:50 cfgState PairMism
setstate HM_D0A100 2022-01-11 22:41:38 commState CMDs_done
setstate HM_D0A100 2022-01-11 22:41:38 state HM_D0A100_Blind Short

Edit: Schon etwas weiter...
Das Blind device in FHEM scheint doch OK zu sein das vermisste 'pos' heißt bei HM-Rolladen Aktoren offenbar 'pct'. also das ist doch ok. Von meinen Dooya Aktoren kenne ich das 'pos'.
Bleibt noch die Vertauschung von den Cannels Blind und Btn01.
Und das könnte eventuell am Scetch liegen. Ich sollte noch erwähnen, dass ich, da ich gar kein HB-LC-Bl1PBU-FM habe, sondern den mit Arduion MiniPro nachgebaut habe und weil der genannte Scetch für ATMEGA 644 gebaut ist, musste er natürlich umgebaut werden. Als Vorlage habe ich den HM-LC-Bl1PBU-FM von papa genommen und die zusätzlichen Codezeilen aus HB-LC-Bl1PBU-FM dort eingebaut. Beim Spielen mit der HMConfig_AskSinPPCustom.pm kann ich sogar inzwischen die Reihenfolge ändern, aber dann hat der Btn01 'Blind-Funktionen' z.B. Up Down... - ich schau mir morgen den Scetch erst nochmal an.
« Letzte Änderung: 12 Januar 2022, 01:18:43 von gregorv »

Offline gregorv

  • New Member
  • *
  • Beiträge: 9
OK, GELÖST.
Der Scetch ist war OK, es war doch meine AddOn Konfiguration in HMConfig_AskSinPPCustom.pm.
So geht es:
$HMConfig::culHmModel{"F337"} = {name=>"HM-LC-Bl1-FM-Cus",st=>'custom',cyc=>'',rxt=>'',lst=>'1,3:3p,3:1p.2p',chn=>"Btn:2:3,Blind:1:1"};
$HMConfig::culHmChanSets{"HM-LC-Bl1-FM-Cus00"}{fwUpdate} = "<filename>";
$HMConfig::culHmChanSets{"HM-LC-Bl1-FM-Cus01"} = $HMConfig::culHmSubTypeSets{"blindActuator"};
$HMConfig::culHmChanSets{"HM-LC-Bl1-FM-Cus02"} = $HMConfig::culHmSubTypeSets{"THSensor"};
$HMConfig::culHmChanSets{"HM-LC-Bl1-FM-Cus03"} = $HMConfig::culHmSubTypeSets{"THSensor"};
$HMConfig::culHmRegChan {"HM-LC-Bl1-FM-Cus01"} = $HMConfig::culHmRegType{blindActuator};
$HMConfig::culHmRegChan {"HM-LC-Bl1-FM-Cus02"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HM-LC-Bl1-FM-Cus03"} = $HMConfig::culHmRegType{remote};
$customMsg{"HM-LC-Bl1-FM-Cus"} = sub {
  my ($msg,$target) = @_;
  return $msg->processRemote if $msg->isRemote;
  return $msg->processBlindStatus($target) if $msg->isStatus;
  return ();
};
Ich habe 'chn' bei culHmModel UND die culHmChanSets/culHmRegChan Nummerierung tauschen müssen.
Vielleicht kann martinp876 die AddOn Konfiguration in Wiki mal etwas dokumentieren - oder zumindest sagen, wo die Doku dafür liegt. Das einzige, was ich gefunden hatte war hier:
https://forum.fhem.de/index.php/topic,25702.msg186947.html#msg186947

Falls jemand an dem Scetch HM-LC-Bl1-FM-Cus (HM-LC-Bl1-FM aber Taster unabhängig) interessiert ist, hier oder per E-Mail melden. Die FHEM AddOn konfig ist ja schon oben - ich nehme sie aber erst mal aus meiner HMConfig_AskSinPPCustom.pm raus und packe sie in eine eigene pm-Datei.

Und nun kommt der nächste Kniffel Teil - ich möchte nämlich die zum Blind Device gehörenden Up/Down Tasten zusätzlich drin haben (also insgesamt vier Taster)
Und noch einen Hinweis an den Moderator - ich bin hier nicht ganz so neu, wie es scheint aber irgendwie war mein alter Account (gregor) über die Jahre nicht mehr zugänglich. Kann man die beiden zusammenführen?

Online frank

  • Hero Member
  • *****
  • Beiträge: 11158
moin,

falls sich noch jemand am battery reading im fhem device stört, einfach folgende zeile im zusätzlichen HMConfig_HM_LC_Sw1PBU_FM_CustomFW.pm file auskommentieren:
    #push @evtEt,[$shash,1,"battery:". (($chn&0x80)?"low":"ok")]; # frank: no battery for this device
anschliessend noch reload und deletereading battery.
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