Unterstützung Homematic HB-Geräte

Begonnen von Horti, 15 März 2020, 19:29:03

Vorheriges Thema - Nächstes Thema

Horti

Hallo martinp876,

der Jerome aka jp112sdl, der hier nur noch als Gast unterwegs ist, hat eine beachtliche Sammlung Homebrew-Geräte entwickelt, inkl. eines entsprechenden AddOns für die CCU:
https://github.com/jp112sdl/JP-HB-Devices-addon

Besteht die Hoffnung, dass die irgendwann mal auch vom CUL_HM-Modul unterstützt werden? Ich bin mittlerweile im Besitz eines HB-DIS-EP-42BW und hoffe auch noch ein HB-RC-12-EP zu bekommen. Ich habe zwar auch eine RaspberryMatic im Betrieb für HMIP, aber mit einer deutlich schlechteren Funkabdeckung bei mir zu Hause, so dass ich viel lieber die beiden Geräte direkt in FHEM nutzen würde mit bekannten Vorzügen wie VCCU und WLAN-IOs :)

Da werden mir auch sicherlich andere beipflichten, s. z.B. auch hier:
https://forum.fhem.de/index.php/topic,73954.msg961491.html#msg961491

weini

Habe mich gerade mit dem Thema herumgeschlagen und fände eine besser integrierte Lösung echt super, siehe: https://forum.fhem.de/index.php/topic,109230.0.html

kpwg

#2
Ich habe das mittlerweile anders gelöst, da auch HmIP Geräte eingezogen sind: der Raspi hat einen HM-MOD-RPI-PCB bekommen und ist zusätzlich mit debmatic bestückt. Für "normales" HomeMatic nutze ich noch einen CUL mit a-culfw (was übrigens sehr gut läuft), einige neue Gerätehole ich mit der CCU von debmatic ins FHEM. Klar tut man sich damit eine weitere Baustelle auf, aber nach anfänglicher Frickelei läuft das Ganze super. Alex hat das sehr gut dokumentiert, so das man aus dem Stand die Sache ans Laufen bekommt. Damit steht auch das volle Sprektrum von Jeromes Ideen zur Verfügung, man muss nichts mehr frickeln oder softwareseitig modifizieren.

Horti

Wie ich bereits geschrieben habe, RaspberryMatic habe ich bereits im Betrieb (ist genauer gesagt eine piVCCU auf demselben Raspi, auf dem auf FHEM läuft, mit einem HM-MOD-RPI-PCB). Wäre aber für die HB-Geräte nur eine Notlösung, da, wie gesagt, bei mir die Funkabdeckung nur mit einem HM-MOD-RPI-PCB schlechter ist als bei FHEM mit mehreren HM-WLAN-GWs. Außerdem gibt es immer wieder Probleme mit HMCCU, wenn der Raspi mal wieder neu gestartet werden muss, absichtlich oder nicht. Wenn keine Hoffnung auf die Einbindung über CUL_HM besteht, würde ich die Lösung irgendwann mal in Angriff nehmen, aber die Hoffnung stirbt zuletzt :)

kpwg

Zitat von: Horti am 22 März 2020, 20:33:59
Wie ich bereits geschrieben habe, RaspberryMatic habe ich bereits im Betrieb
Stimmt.. da habe ich nur die Hälfte gelesen und war in Gedanken schon wieder woanders.  ::)
Zitat...bei mir die Funkabdeckung nur mit einem HM-MOD-RPI-PCB schlechter ist als bei FHEM mit mehreren HM-WLAN-GWs.
Mit externen Antennen kann man noch ein wenig optimieren, aber viel möglich ist da oft nicht. Wirklich besser wird es dann nur, wenn der RasPi samt kurzer Antennenkabel und externer Antenne einen exponierten Standort bezieht. Leider geht das nicht immer so, wie man es gerne hätte.
ZitatAußerdem gibt es immer wieder Probleme mit HMCCU, wenn der Raspi mal wieder neu gestartet werden muss, absichtlich oder nicht.
Das ist lösbar: https://forum.fhem.de/index.php/topic,104132.msg993434.html#msg993434
Mit ein paar Anpassungen für die piVCCU sollte das machbar sein. Das Problem besteht darin, das FHEM bereits die Schnittstellen der CCU anspricht, welche noch nicht vollständig gestartet ist. Das "Gebilde" kommt dann aus dem Tritt, lässt sich nur mit shutdown restart wiederbeleben. Das delay beim HMCCU Modul wirkt dann auch nicht.

ext23

Ich hab auch ein HB-DIS-EP-42BW zusammengebaut, weiß jemand wie ich da jetzt über den Kanal 11 irgendwelche Texte auf das Display bekomme? Von der CCU klappt es mit den Programmen aber ich wollte das von FHEM aus machen.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

papa

Das geht bestimmt, da ja Jerome nichts neues erfunden hat. Aber ich weiß nicht, wie das aus FHEM anzusteuern ist. Ich habe auch kein entsprechendes Geräte und damit auch wenig Lust, mich damit zu beschäftigen. Bin aber wie immer gerne bereit Unterstützung zu geben.
Man müsste sich halt mal ansehen, wie die originalen Geräte mit Text in FHEM verarbeitet werden.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Horti

Man kriegt das Ding (HB-DIS-EP-42BW) mit Sicherheit über HMCCU angesteuert, aber schön ist es für eingefleischte FHEM-HMler bestimmt nicht. Ich könnte mir vorstellen, dass der Aufwand sich für martinp876 in Grenzen halten würde, da das Gerät nach Jeromes Aussage irgendwo im orangenen Forum stark an HM-Dis-WM55 (glaube ich zumindest) angelehnt ist, und HM-Dis-WM55 von FHEM unterstützt wird. Die anderen HB-Geräte sind ja deutlich einfacher gestrickt. Zumindest was HB-DIS-EP-42BW betrifft, würde ich auch gerne als Alpha-Tester zur Verfügung stehen. Aber auch ein "Nein" wäre natürlich eine Antwort, dann wüsste ich wenigstens, dass Warten keinen Sinn mehr macht und ich mich an HMCCU dran machen müsste. ;D
Eine weitere Möglichkeit, Logik direkt innerhalb der CCU zu haben, will ich erst gar nicht in Betracht ziehen, bis jetzt habe ich die CCU nur als eine Art IO-Device betrachtet.

papa

Ich habe mal einfach alles vom Dis-WM55 zusammenkopiert. Trage mal folgendes in die HMConfig_AskSinPPSustom.pm ein:

$HMConfig::culHmModel{"F343"} = {name=>"HB-DIS-EP-42BW",st=>'display',cyc=>'',rxt=>'c',lst=>'1,p',chn=>"Dis:1:11"};
$HMConfig::culHmRegModel{"HB-DIS-EP-42BW"} = { intKeyVisib     =>1,transmDevTryMax =>1
                         ,powerSupply     =>1,localResDis     =>1,wakeupBehavior  =>1
                         ,wakeupBehavMsg  =>1,wakeupBehavMsg_R=>1,statMsgTxtAlign =>1
                         ,displayInvert   =>1};
$HMConfig::culHmChanSets{"HB-DIS-EP-42BW01"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-DIS-EP-42BW02"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-DIS-EP-42BW03"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-DIS-EP-42BW04"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-DIS-EP-42BW05"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-DIS-EP-42BW06"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-DIS-EP-42BW07"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-DIS-EP-42BW08"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-DIS-EP-42BW09"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-DIS-EP-42BW10"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-DIS-EP-42BW11"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmRegChan {"HB-DIS-EP-42BW01"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-DIS-EP-42BW02"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-DIS-EP-42BW03"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-DIS-EP-42BW04"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-DIS-EP-42BW05"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-DIS-EP-42BW06"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-DIS-EP-42BW07"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-DIS-EP-42BW08"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-DIS-EP-42BW09"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-DIS-EP-42BW10"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-DIS-EP-42BW11"} = $HMConfig::culHmRegType{remote};


Keine Ahnung, ob das funktioniert. Vor allem ist mir nicht klar, wofür der Channel 11 ist.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Tom Major

ich hatte letztes Jahr einen ScriptHelper geschrieben um Texte möglichst einfach aus HM Script ans Display zu senden
https://github.com/TomMajor/SmartHome/blob/master/HB-Dis-EP-42BW/Script_Helper/epaper42.tcl

Eventuell reicht es, die Zeilen

append rega_cmd "dom.GetObject('BidCos-RF.$SERIAL:11.SUBMIT').State('$displayCmd');"
array set regaRet [rega_script $rega_cmd]


durch ein entsprechendes Interface bei FHEM zum Senden von raw bytes (falls vorhanden?) zu ersetzen, in displayCmd steht die payload drin die ans Display geht.
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

Horti

#10
Ich habe am Wochenende ein wenig mit dem HB-DIS-EP-42BW und FHEM rumgespielt, musste aber ziemlich schnell die Versuche einstellen. Anlernen liess sich das Ding ohne Weiteres an FHEM und wurde sofort richtig angelegt inkl. der 11 Kanäle. Tastendrücke wurden erkannt und im Event Monitor angezeigt. Doch damit hörte es auch schon auf. "getConfig" konnte kein einziges Mal abgeschlossen werden, ganz egal wie oft ich den Config-Button betätigt habe. Auch ein
set HB-DIS-EP-42BW_01 text Fenster\_auf Fenster\_zu
wie im Wiki zu HM-Dis-WM55 beschrieben, schien nichts zu bewirken, auch die Ausgabe auf dem Display wollte mir nicht gelingen, wobei ich hier nicht ausschließen kann, dass ich auch noch Fehler eingebaut hatte.

Leider war ich relativ blind unterwegs, denn mein HB-DIS-EP-42BW hat keine LED verbaut und auch serielle Ausgaben kann ich nicht ohne größere Modifikationen lesen. Am Ende wusste ich nicht, ob die mangelhafte Kommunikation nun an mir, FHEM, oder dem möglicherweise fehlehaftem CC1101 Modul des HB-DIS-EP-42BW lag. Aber nachdem ich den HB-DIS-EP-42BW wieder an der CCU angelernt hatte, lief es wieder ohne Probleme und FHEM Event Monitor füllte sich mit der Kommunikation zwischen der CCU und dem HB-DIS-EP-42BW.

frank

du nutzt ein wlan io?
versuch es mit lan oder direkt am gpio.
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

Horti

Nein, in diesem Fall war es eine als LAN-GW gemoddete CCU2.

maclovlin

#13
Hallo,

dank Papa's großartiger "alles vom Dis-WM55 zusammenkopiert" Aktion war ich heute in der Lage, mit Anpassungen, meinen frisch zusammengebauten HB-RC-12-EP unter FHEM in Betrieb zu nehmen!

Vorgehensweise:

Im Verzeichniss "/opt/fhem/FHEM/" eine Datei mit dem Namen "HMConfig_HMHB.pm" erstellen Ich denke es ist egal wie die Datei heißt, wenn "HMConfig" davor steht)

Mit diesen Inhalt, evtl. die Werte "F345" anpassen ( F345 = Farbiges Display, F346 = Mono Display ) und "HB-RC-12-EP-C" / "HB-RC-12-EP-BW":

$HMConfig::culHmModel{"F345"} = {name=>"HB-RC-12-EP-C",st=>'display',cyc=>'',rxt=>'c',lst=>'1,p',chn=>"Dis:1:11"};
$HMConfig::culHmRegModel{"HB-RC-12-EP-C"} = { intKeyVisib     =>1,transmDevTryMax =>1
                         ,powerSupply     =>1,localResDis     =>1,wakeupBehavior  =>1
                         ,wakeupBehavMsg  =>1,wakeupBehavMsg_R=>1,statMsgTxtAlign =>1
                         ,displayInvert   =>1};
$HMConfig::culHmChanSets{"HB-RC-12-EP-C01"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
                        ,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-RC-12-EP-C02"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
                        ,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-RC-12-EP-C03"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
                        ,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-RC-12-EP-C04"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
                        ,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-RC-12-EP-C05"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
                        ,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-RC-12-EP-C06"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
                        ,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-RC-12-EP-C07"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
                        ,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-RC-12-EP-C08"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
                        ,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-RC-12-EP-C09"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
                        ,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-RC-12-EP-C10"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
                        ,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmChanSets{"HB-RC-12-EP-C11"} = { displayWM =>"[long|short|help] -lineX- -textNo1- -color1- -icon1- [-textNo2- -color2- -icon2-] ...[-textNo6- -color6- -icon6-] "
                                                ,peerChan  =>"-btnNumber- -actChn- ... single [set|unset] [actor|remote|both]"
                        ,text      =>"-txt1- -txt2-..." };
$HMConfig::culHmRegChan {"HB-RC-12-EP-C01"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-RC-12-EP-C02"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-RC-12-EP-C03"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-RC-12-EP-C04"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-RC-12-EP-C05"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-RC-12-EP-C06"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-RC-12-EP-C07"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-RC-12-EP-C08"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-RC-12-EP-C09"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-RC-12-EP-C10"} = $HMConfig::culHmRegType{remote};
$HMConfig::culHmRegChan {"HB-RC-12-EP-C11"} = $HMConfig::culHmRegType{remote};


Fhem neu starten mit "shutdown restart", bei Docker den kompletten Container einmal durchtreten.

Danach kann man die Fernbedienung ganz normal mit FHEM pairen und einrichten nach
https://wiki.fhem.de/wiki/HM-Dis-WM55_Funk_Statusanzeige
https://wiki.fhem.de/wiki/HM-RC-12_Funkfernbedienung_12_Tasten


Vielen Dank an Papa!!!

Horti

Das sind ja gute Nachrichten! Ich frage mich dann wirklich, woran es bei mir gelegen haben mag. Hast Du denn noch irgendwas an papas pm-Datei geändert, außer der Modell-ID und -Bezeichnung?

Oder gibt es zw. HB-RC-12-EP und HB-DIS-EP-42BW irgendeinen Unterschied, den ich noch nicht bedacht habe?