HomeMatic Wired: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
K (Link auf nicht existierende Seite entfernt)
 
(51 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''HomeMatic Wired''' (HMW / HM485) ist ein auf RS485 basierendes Bussystem für die Hausautomation. Die Auswahl an Aktoren und Sensoren ist im Vergleich zum HomeMatic-Funksystem geringer. Die wichtigsten Funktionen wie Lichtsteuerung, Rollläden, Tür- / Fenstersensoren, Schalter und Taster lassen sich aber integrieren. Über verschiedene I/O-Module lassen sich viele weitere Geräte anschließen. Auch z.B. analoge Messwert können ausgewertet werden, so dass hier z.B. auch Temperatursensoren integriert werden könnten.  
'''HomeMatic Wired''' (HMW / HM485) ist ein auf RS485 basierendes Bussystem für die Hausautomation. Die Auswahl an Aktoren und Sensoren ist im Vergleich zum [[HomeMatic]]-Funksystem geringer. Die wichtigsten Funktionen wie Lichtsteuerung, Rollläden, Tür- / Fenstersensoren, Schalter und Taster lassen sich aber integrieren. Über verschiedene I/O-Module lassen sich viele weitere Geräte anschließen. Auch analoge Messwerte können ausgewertet werden, so dass hier z.B. auch Temperatursensoren integriert werden könnten.  


Alle Module sind rückkanalfähig. D.h. es erfolgen Rückmeldung, ob Aktionen ausgeführt wurden (''ACK'' für '''Ack'''nowledgement, also Empfangsbestätigung). Auch werden externe Statusänderungen der Module unmittelbar über den Bus weitergeleitet.  
Alle Module sind rückkanalfähig, d.h. es erfolgt eine Rückmeldung, wenn ein Gerät eine Nachricht erhalten hat (''ACK'' für '''Ack'''nowledgement, also Empfangsbestätigung). Auch werden externe Zustandsänderungen der Geräte unmittelbar über den Bus weitergeleitet (bei den meisten Geräten ist letzteres abschaltbar).


'''Stromversorgung'''
Alle HMW-Module werden über den Bus mit Energie versorgt. Batteriebetriebene Module sind nicht vorgesehen und auch nicht sinnvoll, da HMW ein kabelgebundenes System ist.
Alle HMW-Module werden über den Bus mit Energie versorgt. Batteriebetriebene Module sind nicht vorgesehen und auch nicht sinnvoll, da HMW ein kabelgebundenes System ist.


== Installation und Upgrade in FHEM ==
Für den Einsatz mit FHEM benötigt man die entsprechende [[:Kategorie:Server_Hardware|Rechner-Hardware]], FHEM selbst und einen Übertragungs- bzw. Konfigurationsadapter ([[Interface]]) wie z.B. einen [[Serial/Netzwerk-RS485-Adapter]] oder das [[HomeMatic Wired RS485 LAN Gateway]], wobei letzteres nicht wirklich empfohlen werden kann.


'''Hinweis:''' Die Integration von HMW in FHEM ist noch nicht fertig und daher auch noch nicht komplett. Somit ist dieser Artikel auch noch nicht vollständig.
HM485 ist nicht automatisch Teil von FHEM. Es muss explizit installiert bzw. hinzugefügt werden. Die Installation funktioniert folgendermaßen:
Viele Funktionen sind aber schon verfügbar.
* Falls man sich seiner Sache nicht ganz sicher ist, empfiehlt sich zuerst ein Backup der FHEM-Installation.
* HM485 benötigt das Perl-Modul XML::Simple. Unter Debian (inklusive normaler Raspberry-Installationen) ist dieses Modul im Paket libxml-simple-perl enthalten, kann also mittels <code>apt-get install libxml-simple-perl</code> (auf Betriebssystemebene als root) installiert werden. Ansonsten kann es z.B. über Cpan installiert werden.
* Falls man den letzten FHEM-Update vor dem 24.12.2015 gemacht hat, dann muss man vor der HM485-Installation einen Update durchführen. Also im Kommandofeld eingeben:<code>update</code> Dann den Update-Vorgang abwarten und Neustarten:<code>shutdown restart</code>.
* Dann das HM485-Repository zum FHEM Update hinzufügen:
** <code>update add https://raw.githubusercontent.com/kc-GitHub/FHEM-HM485/master/controls_hm485.txt</code>
* Jetzt <code>update force hm485</code> und <code>shutdown restart</code>. HM485 sollte jetzt installiert sein.
* Es muss jetzt noch sichergestellt werden, dass das Programm HM485d.pl (im Verzeichnis FHEM/lib/HM485/HM485d) für den User fhem ausführbar ist. Das ist normalerweise nicht automatisch der Fall. Es muss im Zweifelsfall per <code>sudo chmod a+x HM485d.pl</code> ausführbar gemacht werden.


Zum Upgrade reicht ein <code>update</code>, wenn man HM485 wie oben beschrieben installiert hat. Ansonsten kann man auch das HM485-Repository nachträglich eintragen wie oben beschrieben. Wenn man von einer manuellen Installation auf die "update add"-Variante wechselt, dann sollte man das erste Mal immer <code>update force hm485</code> machen. Will man nur den HM485-Teil aktualisieren und nicht alles in FHEM, dann geht das mit <code>update all hm485</code>.


== Betrieb mit FHEM ==
Falls es insbesondere beim Upgrade oder nach einem Upgrade Probleme gibt (welcher Art auch immer), sollten die folgenden Punkte geprüft werden:
Für den Einsatz mit FHEM benötigt man die entsprechende [[:Kategorie:Server_Hardware|Rechner-Hardware]], FHEM selbst und einen Übertragungs- bzw. Konfigurationsadapter ([[Interface]]) wie z.B. einen [[Serial/Netzwerk-RS485-Adapter]] oder das [[HomeMatic Wired RS485 LAN Gateway]].
* Wird das richtige Repository benutzt? Man kann das mit <code>update list</code> überprüfen. Wenn der Eintrag für hm485 nicht genau so aussieht wie oben beschrieben, dann sollte er per <code>update delete</code> gelöscht werden und dann genau so eingetragen werden wie oben beschrieben. Insbesondere Zwischenversionen wie "dev", "v0800" oder "thorsten" gibt es nur temporär und sollten nur zum Testen verwendet werden. 
* Ist XML::Simple installiert? Siehe die Installationanleitung weiter oben für Details.
* FHEM braucht Schreibrechte im Verzeichnis <fhem>/FHEM/lib/HM485/Devices (<fhem> steht meistens für /opt/fhem) und allen Dateien und Unterverzeichnissen. Auf Betriebssystemebene (Linux) kann man das mit <code>ls -ls</code> überprüfen. Meistens kann es mit folgendem Befehl repariert werden: <code>chown -R fhem:dialout /opt/fhem/FHEM/lib/HM485/Devices</code>.  
* Wenn das nicht hilft, dann kann man auch vor einem <code>shutdown restart</code> alle pm-Dateien im Devices-Verzeichnis löschen (<code>rm /opt/fhem/FHEM/lib/HM485/Devices/*.pm</code>). Diese Dateien werden beim nächsten FHEM-Start neu generiert.


Ausserdem müssen die unten verlinkten Module heruntergeladen und installiert werden, da diese noch nicht Teil von FHEM sind.
== Verkabelung ==
Das folgende Bild zeigt die Verkabelung von HM-Wired am Beispiel eines seriellen USB-Adapters und zwei Geräten.
[[File:HM-Wired-Verkabelung-Digitus.jpg|border|700px|Verkabelungsbeispiel HM-Wired]]


Vorteile von FHEM statt der eQ-3-Software:
Im Unterschied zu anderen RS485-Bussystemen wird GND immer mit verbunden. Außerdem sind die Widerstandswerte des sogenannten Busabschluss zu beachten.
* Hier gelten die selben Vor- / Nachteile wie für die [[HomeMatic#Betrieb_mit_FHEM|HomeMatic-Funk-Komponenten]]


== Pair / Peer bzw. pairen und peeren ==
HMW-Geräte können unter- bzw. miteinander <ins>gep'''ee'''rt</ins> werden, wenn z.B. ein Sensor einen Aktor direkt (ohne Zentrale) steuern soll.


'''Hinweis:''' Das Peeren der Module untereinander ist mit aktuellem Softwarestand mit FHEM noch nicht möglich.
== Der sogenannte Busabschluss ==
 
Im Gegensatz zu anderen RS485-Bussystemen braucht Homematic Wired keinen echten Busabschluss. Die Datenübertragungsrate ist zu niedrig, als dass es zu Problemen wegen Reflexionen kommt. Wahrscheinlich kann es durch den üblichen RS485-Busabschluss (etwa 120 Ohm zwischen A und B) sogar vorkommen, dass der Bus nicht richtig funktioniert oder sogar Geräte beschädigt werden.
Das, was von eq3 als Abschlusswiderstand verkauft wird, ist kein Busabschluss, sondern ein Widerstandsnetzwerk, welches den Bus auf ein definiertes Potential bringt, wenn kein Busteilnehmer sendet. Die genauen Werte können dem obigen Bild entnommen werden. Das ganze ist so berechnet, dass sich zwischen A und B in etwa ein Unterschied von 5V ergibt. (Sehe auch Homematic Inside [https://homematic-forum.de/forum/viewtopic.php?t=15128])
Wenn man jetzt noch zusätzlich 120Ohm (möglicherweise zweimal) an den Bus hängt, dann hat man in etwa 60Ohm zwischen A und B. Dadurch liegen A und B fast auf demselben Potential und man hat in etwa das Gegenteil von dem erreicht, was man eigentlich wollte.
 
In vielen Fällen funktioniert ein Homematic Wired System auch ohne Abschlusswiderstand, insbesondere wenn Homebrew-Geräte am Bus angeschlossen sind. Allerdings haben bisherige Erfahrungen gezeigt, dass das System mit der Zeit instabil werden kann, wenn z.B. der Bus verlängert wird oder mehr Geräte dazukommen. Für einen "produktiven" Einsatz wird daher empfohlen, einen Abschlusswiderstand zu verwenden, auch wenn es im Test oft ohne geht. Das gilt insbesondere dann, wenn man nur Original-eq3-Geräte verwendet.


Falls man nur Homebrew-Devices am Bus hat, hat man möglicherweise gar keine 24V. Dann ist auch der eq3-Abschlusswiderstand nicht sinnvoll. Es reicht dann ein einfacher Pulldown an B und ein Pullup auf 5V an A.


HMW-Geräte müssen andererseits mit einer Zentrale <ins>gepairt</ins> werden, wenn diese Zentrale die Geräte (um-)konfigurieren bzw. steuern oder zumindest auslesen können soll.
== Pair / Peer bzw. pairen und peeren ==
HMW-Geräte können unter- bzw. miteinander [[Peering (HomeMatic)|gepeert]] werden, wenn z.B. ein Sensor einen Aktor direkt (ohne Zentrale) steuern soll. Ein einfaches Peering zweier Kanäle kann meistens ohne Zentrale erfolgen, d.h. mit den Bedienelementen direkt an den Geräten. Allerdings ist es über die FHEM-Oberfläche in der Regel einfacher. Außerdem können dann weitere Parameter der jeweiligen Verknüpfung angegeben werden.


Anders als bei den HomeMatic-Funk-Geräten erfolgt dieses Pairing automatisch, sobald ein Gerät das erste Mal Nachrichten über den RS485 Bus sendet. Zusätzlich besteht die Möglichkeit über einen Discovery-Befehl alle am Bus angeschlossenen Module zu ermitteln. Auch bei diesem Vorgang erfolgt im Anschluss ein automatisches Pairing aller bis dahin unbekannten Geräte mit der Zentrale bzw. mit FHEM.
HMW-Geräte müssen andererseits mit einer Zentrale ''gepairt'' werden, wenn diese Zentrale die Geräte (um-)konfigurieren bzw. steuern oder zumindest auslesen können soll.


Anders als bei den HomeMatic-Funk-Geräten erfolgt dieses Pairing automatisch, sobald ein Gerät erstmalig Nachrichten über den RS485 Bus sendet. Zusätzlich besteht die Möglichkeit, über einen Discovery-Befehl alle am Bus angeschlossenen Module zu ermitteln. Auch bei diesem Vorgang erfolgt im Anschluss daran ein automatisches Pairing aller bis dahin unbekannten Geräte mit der Zentrale bzw. mit FHEM.


== Aktoren / Sensoren ==
== Aktoren / Sensoren ==
Eine Übersicht und weitere Informationen über die von FHEM unterstützten HomeMatic-Geräte ist hier zu finden: [http://www.fhemwiki.de/wiki/Kategorie:HomeMatic_Components diese Seite].
Eine Übersicht und weitere Informationen über die von FHEM unterstützten HomeMatic-Geräte ist [[:Kategorie:HomeMatic Components| hier]] zu finden:


Hier dennoch eine dedizierte Liste aller HMW-Geräte und der benötigten Interfaces:
Hier dennoch eine dedizierte Liste aller HMW-Geräte und der benötigten Interfaces:
* [[Serial/Netzwerk-RS485-Adapter]] Netzwerk-/Serial-/USB-RS485 Adapter
* [[Serial/Netzwerk-RS485-Adapter]] Netzwerk-/Serial-/USB-RS485 Adapter
* [[HomeMatic Wired RS485 LAN Gateway|HMW-LGW-O-DR-GS-EU]] HomeMatic Wired RS485 LAN Gateway, Hutschienenmontage
* [[HomeMatic Wired RS485 LAN Gateway|HMW-LGW-O-DR-GS-EU]] HomeMatic Wired RS485 LAN Gateway, Hutschienenmontage
* [[HMW-Sen-SC-12|HMW-Sen-SC-12-DR]] HomeMatic Wired RS485 Schließerkontakt, 12 Eingänge, Hutschienenmontage
* ''HMW-Sen-SC-12|HMW-Sen-SC-12-DR'' HomeMatic Wired RS485 Schließerkontakt, 12 Eingänge, Hutschienenmontage
* [[HMW-Sen-SC-12|HMW-Sen-SC-12-FM]] HomeMatic Wired RS485 Schließerkontakt, 12 Eingänge, Unterputzmontage
* ''HMW-Sen-SC-12|HMW-Sen-SC-12-FM'' HomeMatic Wired RS485 Schließerkontakt, 12 Eingänge, Unterputzmontage
* [[HMW-IO-12-FM]] HomeMatic Wired RS485 I/O-Modul, 12 Ein-/Ausgänge, Unterputzmontage
* ''HMW-IO-12-FM'' HomeMatic Wired RS485 I/O-Modul, 12 Ein-/Ausgänge, Unterputzmontage
* [[HMW-IO-12-Sw14-DR]] HomeMatic Wired RS485 I/O-Modul 12 Eingänge und 14 Ausgänge, Hutschienenmontage
* [[HMW-IO-12-Sw14-DR Wired RS485 I/O-Modul 12 Eingänge 14 Ausgänge]], Hutschienenmontage
* [[HMW-LC-Sw2-DR]] HomeMatic Wired RS485-Schaltaktor 2fach, Hutschienenmontage
* ''HMW-LC-Sw2-DR'' HomeMatic Wired RS485-Schaltaktor 2fach, Hutschienenmontage
* [[HMW-IO-12-SW7-DR]] HomeMatic Wired RS485-I/O-Modul 12 Eingänge und 7 Schaltausgänge, Hutschienenmontage
* [[HMW-IO-12-Sw7-DR Wired RS485 I/O-Modul 12 Eingänge 7 Ausgänge]], Hutschienenmontage
* [[HMW-IO-4-FM]] HomeMatic Wired RS485 4fach-I/O-Modul, 4 Ein-/Ausgänge, Unterputzmontage
* ''HMW-IO-4-FM'' HomeMatic Wired RS485 4fach-I/O-Modul, 4 Ein-/Ausgänge, Unterputzmontage
* [[HMW-LC-Bl1-DR]] HomeMatic Wired RS485-Rollladenaktor, 1fach, Hutschienenmontage
* ''HMW-LC-Bl1-DR'' HomeMatic Wired RS485-Rollladenaktor, 1fach, Hutschienenmontage
* [[HMW-LC-Dim1L-DR]] HomeMatic Wired RS485-Dimmaktor 1fach, Phasenanschnitt, Hutschienenmontage
* HMW-LC-Dim1L-DR Wired RS485 Dimmaktor 1fach, Phasenanschnitt, Hutschienenmontage
 
Momentan werden außerdem "HM-Homebrew" Geräte entwickelt.
* [[HBW-1W-T10]] HomeBrew Wired 10 Kanal Temperatursensor


Momentan werden (bzw. wurden) außerdem "HM-Homebrew" Geräte entwickelt.


{|  class="wikitable"
{|  class="wikitable"
Zeile 60: Zeile 77:
| [[HBW-1W-T10]]
| [[HBW-1W-T10]]
| 0x81
| 0x81
| 10-fach 1-Wire Temperatursensor
| {{Link2Forum|Topic=22952|Message=207372|LinkText=ja}}
| ja
| [https://github.com/kc-GitHub/HM485-Lib/tree/thorsten/HBW-1W-T10 Git]
|-
| ''HBW-LC-Bl-4''
| 0x82
| 4-Kanal Rollladenaktor
| ja
|
| [https://github.com/ThorstenPferdekaemper/HBWired/tree/master/HBW-LC-BL-4 Git]
|-
| ''HBW-LC-Bl-8''
| 0x92
| 8-Kanal Rollladenaktor
| ja
|
| [https://github.com/ThorstenPferdekaemper/HBWired/tree/master/HBW-LC-BL-8 Git]
|-
| ''HBW-LC-Sw8''
| 0x83
| 8-fach Schaltaktor
| ja
|
| [https://github.com/ThorstenPferdekaemper/HBWired/tree/master/HBW-LC-Sw-8 Git]
|-
| ''HBW-LC-Sw-12''
| 0x93
| 12-fach Schaltaktor
| ja
|
| [https://github.com/ThorstenPferdekaemper/HBWired/tree/master/HBW-LC-Sw-12 Git]
|-
| ''HBW-Sen-EP''
| 0x84
| 8-fach S0-Interface
| ja
|
| [https://github.com/kc-GitHub/HM485-Lib/tree/thorsten/HBW-Sen-EP Git]
|-
| ''HBW-Sen-KEY''
| 0x85
| RFID-Interface
| ja
|
| [https://github.com/kc-GitHub/HM485-Lib/tree/markus/HBW-Sen-KEY Git]
|-
| ''HBW-Sen-SC8''
| 0x86
| 8-fach Tasterschnittstelle
| ja
|
| [https://github.com/mago0211/HBW-RS485 Git]
|-
| {{Link2Forum|Topic=64700|Message=563558|LinkText=HBW-Sen-Key-12}}
| 0x95
| 12-fach Tasterschnittstelle
| ja
|
| [https://github.com/ThorstenPferdekaemper/HBWired Git]
|-
| {{Link2Forum|Topic=22952|Message=270160|LinkText=HBW-CC-Vd2-T}}
| 0x87
| Steuerung 24V-Ventile
| ja
|
| [https://github.com/hresalg/HBW/tree/dev/HBW_CC_Vd2_T Git]
|-
|
| 0x88
| Wettersensor
|
|
|
|-
|-
| HB-PB-1-6 Homematic-Homebrew-Taster ({{Link2Forum|Topic=19657|Message=132656|LinkText=Thread dazu im Fhem-Forum)}}
|  
| 0xF103
| 0x89
| Tastsensor
|
|  
|  
|-
|-
| HB-IRU (HM <-> Infrarot-Umsetzer)
| {{Link2Forum|Topic=22952|Message=186435|LinkText=HBW-Sec-MDIR-2}}
| 0xF104
| 0x91
| Bewegungsmelder-Schnittstelle
|
|
| [https://github.com/kc-GitHub/HM485-Lib/tree/rene/HBW-Sec-MDIR-2 Git]
|-
| ''HMW-LC-Sw2-DR''
| 0x11
|
| ja
| ja
| [https://github.com/kc-GitHub/HM485-Lib/blob/thorsten/HMW-LC-Sw2-DR Git], {{Link2Forum|Topic=22952|Message=251906|LinkText=Forum}}
|-
| ''HMW-LC-Bl1-DR''
| 0x15
| 1-Kanal Rollladenaktor
| ja
| ja
| [https://github.com/kc-GitHub/HM485-Lib/tree/markus/HMW-LC-Bl1-DR Git]
|-
| ''HMW-IO-12-FM''
|
|
| nein
| nein
| [https://github.com/kc-GitHub/HM485-Lib/tree/thorsten/HMW-IO-12-FM Git]
|-
| {{Link2Forum|Topic=22952|Message=275898|LinkText=HBW_LC_RGB1_CV}}
| 0xA0
| 3-fach Dimmer als RGB-Controller
| ja
| ?
| [https://github.com/BrainHunter/RGB-CTRL Git]
|-
| HBW-SD6-Multikey
| 0xB1
| Reserviert für 6-fach Taster von [http://haus-bus.de/ haus-bus.de]
| nein
| nein
| [https://github.com/haus-bus/MultitasterSD6/tree/HM-Wired Git]
|-
| {{Link2Forum|Topic=22952|Message=837275|LinkText=HBW-SC-10-Dim-6}}
| 0x96
| 6-fach Dimmer mit 10 digitalen Eingängen
|
|
| [https://github.com/loetmeister/HBWired/tree/master/HBW-SC-10-Dim-6 Git]
|-
|-
|HB-1W-''xxx''
| 0xF200-0xF2FF
|}
|}


In der obigen Liste der Homematic-Wired-Homebrew Geräte kommen auch Modellbezeichnungen von Original-Homematic-Geräten vor (HMW...). In diesen Fällen handelt es sich um Homebrew-Geräte, die sich gegenüber FHEM bzw. der CCU wie das angegebene Gerät verhalten. Unter Umständen weicht aber das Verhalten von dem der Original-Geräte ab.
Die Spalten "FHEM" und "CCU" besagen, ob das entsprechende Gerät in FHEM bzw. in der CCU erkannt wird und funktioniert. Ist in beiden Spalten ein "nein" eingetragen, dann kann davon ausgegangen werden, dass das Gerät noch gar nicht funktioniert. Bei einem "ja" kann es auch noch Einschränkungen geben.


 
Zur Erstellung eigener HBW Geräte mittels Arduino gibt es ein {{Link2Forum|Topic=61780|LinkText=Tutorial}} von Thorsten im Forum.


== Links ==
== Links ==
* [https://github.com/kc-GitHub/FHEM-HM485 Github Repository] der HM485 Module
* [https://github.com/kc-GitHub/FHEM-HM485 Github Repository] der HM485 Module (für FHEM)
* [https://github.com/kc-GitHub/FHEM-HM485/archive/master.zip aktuelle Version] der HM485 Module zum Download
* [https://github.com/kc-GitHub/FHEM-HM485/archive/master.zip aktuelle Version] der HM485 Module zum Download (für FHEM)
* [https://github.com/kc-GitHub/HM485-Lib Arduino HBW lib] wird nicht mehr aktuallisiert !!!
* [https://github.com/ThorstenPferdekaemper/HBWired Arduino HBWired lib] aktuelle Version
* {{Link2Forum|Topic=61780|LinkText=Tutorial}} zur Erstellung eigener HBW Geräte mit Arduino
* [http://www.homematic.com/ HomeMatic] Homepage
* [http://www.homematic.com/ HomeMatic] Homepage
* Hersteller [http://www.eq-3.de eQ-3]  
* Hersteller [http://www.eq-3.de eQ-3]  

Aktuelle Version vom 3. Dezember 2021, 13:27 Uhr

HomeMatic Wired (HMW / HM485) ist ein auf RS485 basierendes Bussystem für die Hausautomation. Die Auswahl an Aktoren und Sensoren ist im Vergleich zum HomeMatic-Funksystem geringer. Die wichtigsten Funktionen wie Lichtsteuerung, Rollläden, Tür- / Fenstersensoren, Schalter und Taster lassen sich aber integrieren. Über verschiedene I/O-Module lassen sich viele weitere Geräte anschließen. Auch analoge Messwerte können ausgewertet werden, so dass hier z.B. auch Temperatursensoren integriert werden könnten.

Alle Module sind rückkanalfähig, d.h. es erfolgt eine Rückmeldung, wenn ein Gerät eine Nachricht erhalten hat (ACK für Acknowledgement, also Empfangsbestätigung). Auch werden externe Zustandsänderungen der Geräte unmittelbar über den Bus weitergeleitet (bei den meisten Geräten ist letzteres abschaltbar).

Alle HMW-Module werden über den Bus mit Energie versorgt. Batteriebetriebene Module sind nicht vorgesehen und auch nicht sinnvoll, da HMW ein kabelgebundenes System ist.

Installation und Upgrade in FHEM

Für den Einsatz mit FHEM benötigt man die entsprechende Rechner-Hardware, FHEM selbst und einen Übertragungs- bzw. Konfigurationsadapter (Interface) wie z.B. einen Serial/Netzwerk-RS485-Adapter oder das HomeMatic Wired RS485 LAN Gateway, wobei letzteres nicht wirklich empfohlen werden kann.

HM485 ist nicht automatisch Teil von FHEM. Es muss explizit installiert bzw. hinzugefügt werden. Die Installation funktioniert folgendermaßen:

  • Falls man sich seiner Sache nicht ganz sicher ist, empfiehlt sich zuerst ein Backup der FHEM-Installation.
  • HM485 benötigt das Perl-Modul XML::Simple. Unter Debian (inklusive normaler Raspberry-Installationen) ist dieses Modul im Paket libxml-simple-perl enthalten, kann also mittels apt-get install libxml-simple-perl (auf Betriebssystemebene als root) installiert werden. Ansonsten kann es z.B. über Cpan installiert werden.
  • Falls man den letzten FHEM-Update vor dem 24.12.2015 gemacht hat, dann muss man vor der HM485-Installation einen Update durchführen. Also im Kommandofeld eingeben:update Dann den Update-Vorgang abwarten und Neustarten:shutdown restart.
  • Dann das HM485-Repository zum FHEM Update hinzufügen:
  • Jetzt update force hm485 und shutdown restart. HM485 sollte jetzt installiert sein.
  • Es muss jetzt noch sichergestellt werden, dass das Programm HM485d.pl (im Verzeichnis FHEM/lib/HM485/HM485d) für den User fhem ausführbar ist. Das ist normalerweise nicht automatisch der Fall. Es muss im Zweifelsfall per sudo chmod a+x HM485d.pl ausführbar gemacht werden.

Zum Upgrade reicht ein update, wenn man HM485 wie oben beschrieben installiert hat. Ansonsten kann man auch das HM485-Repository nachträglich eintragen wie oben beschrieben. Wenn man von einer manuellen Installation auf die "update add"-Variante wechselt, dann sollte man das erste Mal immer update force hm485 machen. Will man nur den HM485-Teil aktualisieren und nicht alles in FHEM, dann geht das mit update all hm485.

Falls es insbesondere beim Upgrade oder nach einem Upgrade Probleme gibt (welcher Art auch immer), sollten die folgenden Punkte geprüft werden:

  • Wird das richtige Repository benutzt? Man kann das mit update list überprüfen. Wenn der Eintrag für hm485 nicht genau so aussieht wie oben beschrieben, dann sollte er per update delete gelöscht werden und dann genau so eingetragen werden wie oben beschrieben. Insbesondere Zwischenversionen wie "dev", "v0800" oder "thorsten" gibt es nur temporär und sollten nur zum Testen verwendet werden.
  • Ist XML::Simple installiert? Siehe die Installationanleitung weiter oben für Details.
  • FHEM braucht Schreibrechte im Verzeichnis <fhem>/FHEM/lib/HM485/Devices (<fhem> steht meistens für /opt/fhem) und allen Dateien und Unterverzeichnissen. Auf Betriebssystemebene (Linux) kann man das mit ls -ls überprüfen. Meistens kann es mit folgendem Befehl repariert werden: chown -R fhem:dialout /opt/fhem/FHEM/lib/HM485/Devices.
  • Wenn das nicht hilft, dann kann man auch vor einem shutdown restart alle pm-Dateien im Devices-Verzeichnis löschen (rm /opt/fhem/FHEM/lib/HM485/Devices/*.pm). Diese Dateien werden beim nächsten FHEM-Start neu generiert.

Verkabelung

Das folgende Bild zeigt die Verkabelung von HM-Wired am Beispiel eines seriellen USB-Adapters und zwei Geräten. Verkabelungsbeispiel HM-Wired

Im Unterschied zu anderen RS485-Bussystemen wird GND immer mit verbunden. Außerdem sind die Widerstandswerte des sogenannten Busabschluss zu beachten.


Der sogenannte Busabschluss

Im Gegensatz zu anderen RS485-Bussystemen braucht Homematic Wired keinen echten Busabschluss. Die Datenübertragungsrate ist zu niedrig, als dass es zu Problemen wegen Reflexionen kommt. Wahrscheinlich kann es durch den üblichen RS485-Busabschluss (etwa 120 Ohm zwischen A und B) sogar vorkommen, dass der Bus nicht richtig funktioniert oder sogar Geräte beschädigt werden. Das, was von eq3 als Abschlusswiderstand verkauft wird, ist kein Busabschluss, sondern ein Widerstandsnetzwerk, welches den Bus auf ein definiertes Potential bringt, wenn kein Busteilnehmer sendet. Die genauen Werte können dem obigen Bild entnommen werden. Das ganze ist so berechnet, dass sich zwischen A und B in etwa ein Unterschied von 5V ergibt. (Sehe auch Homematic Inside [1]) Wenn man jetzt noch zusätzlich 120Ohm (möglicherweise zweimal) an den Bus hängt, dann hat man in etwa 60Ohm zwischen A und B. Dadurch liegen A und B fast auf demselben Potential und man hat in etwa das Gegenteil von dem erreicht, was man eigentlich wollte.

In vielen Fällen funktioniert ein Homematic Wired System auch ohne Abschlusswiderstand, insbesondere wenn Homebrew-Geräte am Bus angeschlossen sind. Allerdings haben bisherige Erfahrungen gezeigt, dass das System mit der Zeit instabil werden kann, wenn z.B. der Bus verlängert wird oder mehr Geräte dazukommen. Für einen "produktiven" Einsatz wird daher empfohlen, einen Abschlusswiderstand zu verwenden, auch wenn es im Test oft ohne geht. Das gilt insbesondere dann, wenn man nur Original-eq3-Geräte verwendet.

Falls man nur Homebrew-Devices am Bus hat, hat man möglicherweise gar keine 24V. Dann ist auch der eq3-Abschlusswiderstand nicht sinnvoll. Es reicht dann ein einfacher Pulldown an B und ein Pullup auf 5V an A.

Pair / Peer bzw. pairen und peeren

HMW-Geräte können unter- bzw. miteinander gepeert werden, wenn z.B. ein Sensor einen Aktor direkt (ohne Zentrale) steuern soll. Ein einfaches Peering zweier Kanäle kann meistens ohne Zentrale erfolgen, d.h. mit den Bedienelementen direkt an den Geräten. Allerdings ist es über die FHEM-Oberfläche in der Regel einfacher. Außerdem können dann weitere Parameter der jeweiligen Verknüpfung angegeben werden.

HMW-Geräte müssen andererseits mit einer Zentrale gepairt werden, wenn diese Zentrale die Geräte (um-)konfigurieren bzw. steuern oder zumindest auslesen können soll.

Anders als bei den HomeMatic-Funk-Geräten erfolgt dieses Pairing automatisch, sobald ein Gerät erstmalig Nachrichten über den RS485 Bus sendet. Zusätzlich besteht die Möglichkeit, über einen Discovery-Befehl alle am Bus angeschlossenen Module zu ermitteln. Auch bei diesem Vorgang erfolgt im Anschluss daran ein automatisches Pairing aller bis dahin unbekannten Geräte mit der Zentrale bzw. mit FHEM.

Aktoren / Sensoren

Eine Übersicht und weitere Informationen über die von FHEM unterstützten HomeMatic-Geräte ist hier zu finden:

Hier dennoch eine dedizierte Liste aller HMW-Geräte und der benötigten Interfaces:

  • Serial/Netzwerk-RS485-Adapter Netzwerk-/Serial-/USB-RS485 Adapter
  • HMW-LGW-O-DR-GS-EU HomeMatic Wired RS485 LAN Gateway, Hutschienenmontage
  • HMW-Sen-SC-12|HMW-Sen-SC-12-DR HomeMatic Wired RS485 Schließerkontakt, 12 Eingänge, Hutschienenmontage
  • HMW-Sen-SC-12|HMW-Sen-SC-12-FM HomeMatic Wired RS485 Schließerkontakt, 12 Eingänge, Unterputzmontage
  • HMW-IO-12-FM HomeMatic Wired RS485 I/O-Modul, 12 Ein-/Ausgänge, Unterputzmontage
  • HMW-IO-12-Sw14-DR Wired RS485 I/O-Modul 12 Eingänge 14 Ausgänge, Hutschienenmontage
  • HMW-LC-Sw2-DR HomeMatic Wired RS485-Schaltaktor 2fach, Hutschienenmontage
  • HMW-IO-12-Sw7-DR Wired RS485 I/O-Modul 12 Eingänge 7 Ausgänge, Hutschienenmontage
  • HMW-IO-4-FM HomeMatic Wired RS485 4fach-I/O-Modul, 4 Ein-/Ausgänge, Unterputzmontage
  • HMW-LC-Bl1-DR HomeMatic Wired RS485-Rollladenaktor, 1fach, Hutschienenmontage
  • HMW-LC-Dim1L-DR Wired RS485 Dimmaktor 1fach, Phasenanschnitt, Hutschienenmontage

Momentan werden (bzw. wurden) außerdem "HM-Homebrew" Geräte entwickelt.

Modell ID Beschreibung FHEM CCU Firmware
HBW-1W-T10 0x81 10-fach 1-Wire Temperatursensor ja ja Git
HBW-LC-Bl-4 0x82 4-Kanal Rollladenaktor ja Git
HBW-LC-Bl-8 0x92 8-Kanal Rollladenaktor ja Git
HBW-LC-Sw8 0x83 8-fach Schaltaktor ja Git
HBW-LC-Sw-12 0x93 12-fach Schaltaktor ja Git
HBW-Sen-EP 0x84 8-fach S0-Interface ja Git
HBW-Sen-KEY 0x85 RFID-Interface ja Git
HBW-Sen-SC8 0x86 8-fach Tasterschnittstelle ja Git
HBW-Sen-Key-12 0x95 12-fach Tasterschnittstelle ja Git
HBW-CC-Vd2-T 0x87 Steuerung 24V-Ventile ja Git
0x88 Wettersensor
0x89 Tastsensor
HBW-Sec-MDIR-2 0x91 Bewegungsmelder-Schnittstelle Git
HMW-LC-Sw2-DR 0x11 ja ja Git, Forum
HMW-LC-Bl1-DR 0x15 1-Kanal Rollladenaktor ja ja Git
HMW-IO-12-FM nein nein Git
HBW_LC_RGB1_CV 0xA0 3-fach Dimmer als RGB-Controller ja ? Git
HBW-SD6-Multikey 0xB1 Reserviert für 6-fach Taster von haus-bus.de nein nein Git
HBW-SC-10-Dim-6 0x96 6-fach Dimmer mit 10 digitalen Eingängen Git

In der obigen Liste der Homematic-Wired-Homebrew Geräte kommen auch Modellbezeichnungen von Original-Homematic-Geräten vor (HMW...). In diesen Fällen handelt es sich um Homebrew-Geräte, die sich gegenüber FHEM bzw. der CCU wie das angegebene Gerät verhalten. Unter Umständen weicht aber das Verhalten von dem der Original-Geräte ab. Die Spalten "FHEM" und "CCU" besagen, ob das entsprechende Gerät in FHEM bzw. in der CCU erkannt wird und funktioniert. Ist in beiden Spalten ein "nein" eingetragen, dann kann davon ausgegangen werden, dass das Gerät noch gar nicht funktioniert. Bei einem "ja" kann es auch noch Einschränkungen geben.

Zur Erstellung eigener HBW Geräte mittels Arduino gibt es ein Tutorial von Thorsten im Forum.

Links