1 This repository contains utilities to use the [HM-CFG-USB(2)][] (HomeMatic USB
2 Konfigurations-Adapter) from [ELV][] on Linux/Unix by using [libusb 1.0][].
4 The HM-CFG-USB can be used to send and receive [BidCoS-Packets][] to control
5 [HomeMatic][] home automation devices (like remote controllable sockets,
6 switches, sensors, ...).
8 This repository contains, amongst others, an application, which emulates the
9 HomeMatic LAN configuration adapter-protocol to make it possible to use the
10 HM-CFG-USB in [Fhem][] or as a lan configuration tool for the CCU or the
11 HomeMatic windows configuration software, also supporting devices using
12 AES-signing like [KeyMatic][].
14 [HM-CFG-USB(2)]: http://www.elv.de/homematic-usb-konfigurations-adapter-1.html
15 [ELV]: http://www.elv.de/
16 [libusb 1.0]: http://www.libusb.org/
17 [BidCoS-Packets]: http://homegear.eu/index.php/BidCoS%C2%AE_Packets
18 [HomeMatic]: http://www.homematic.com/
19 [Fhem]: http://fhem.de/
20 [KeyMatic]: http://www.elv.de/homematic-funk-tuerschlossantrieb-keymatic-silber-inkl-funk-handsender.html
22 ### Short hmland HowTo: ###
24 1. Install prerequisites:
25 `apt-get install libusb-1.0-0-dev build-essential git`
26 2. Get the current version of this software (choose **one** option):
27 * Get the current *release*-version as a .tar.gz:
28 1. Download the latest version from the [releases-directory][].
29 Version 0.100 is used as an example for the following commands.
30 2. Extract the archive: `tar xzf hmcfgusb-0.100.tar.gz`
31 3. Change into the new directory: `cd hmcfgusb-0.100`
32 * Get the current *development*-version via git (can be easily updated with `git pull`):
33 1. `git clone git://git.zerfleddert.de/hmcfgusb`
34 2. Change into the new directory: `cd hmcfgusb`
35 * Get the current *development*-version as an archive:
36 1. [hmcfgusb-HEAD-xxxxxxx.tar.gz][] (xxxxxxx is part of the commit-id.
37 xxxxxxx is just a placeholder for this HowTo, use your value)
38 2. Extract the archive: `tar xzf hmcfgusb-HEAD-xxxxxxx.tar.gz`
39 3. Change into the new directory: `cd hmcfgusb-HEAD-xxxxxxx`
40 3. Build the code: `make`
41 4. Optional: Install udev-rules so normal users can access the device:
42 `sudo cp hmcfgusb.rules /etc/udev/rules.d/`
43 5. Plug in the HM-CFG-USB
44 6. Run hmland (with debugging the first time, see `-h` switch):
46 7. Configure Fhem to use your new HMLAN device:
47 ``define hmusb HMLAN 127.0.0.1:1234``
48 ``attr hmusb hmId <hmId>``
50 **Important compatibility information:**
51 If older Fhem-versions (before 2015-06-19) or other software ([Homegear][],
52 [LXCCU][], a real [CCU][], Windows configuration software, ...) is used
53 to connect to hmland, the `-I` switch might be needed to impersonate a
54 LAN-interface (this replaces the identity string HM-USB-IF with HM-LAN-IF).
55 Software which needs this will not keep a stable connection open to
56 hmland without this switch. It was the hardcoded default in versions
59 This incompatibility is needed so connecting software is able to
60 differentiate between HM-CFG-LAN and HM-CFG-USB.
62 [releases-directory]: https://git.zerfleddert.de/hmcfgusb/releases/
63 [hmcfgusb-HEAD-xxxxxxx.tar.gz]: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/snapshot/HEAD.tar.gz
64 [Homegear]: https://www.homegear.eu/
65 [LXCCU]: http://www.lxccu.com/
66 [CCU]: http://www.elv.de/homematic-zentrale-ccu-2.html
68 ### Updating the HM-CFG-USB firmware to version 0.967: ###
70 1. Compile the hmcfgusb utilities like in the hmland HowTo above
71 (steps 1 to 5) and stay in the directory
72 2. Download the new firmware: [hmusbif.03c7.enc][]:
73 `wget https://git.zerfleddert.de/hmcfgusb/firmware/hmusbif.03c7.enc`
74 3. Make sure that hmland is not running
75 4. Flash the update to the USB-stick:
76 `./flash-hmcfgusb hmusbif.03c7.enc` (You might need to use `sudo` for this)
78 [hmusbif.03c7.enc]: https://git.zerfleddert.de/hmcfgusb/firmware/hmusbif.03c7.enc
80 ### Updating HomemMatic devices over the air (OTA) (also for CUL devices): ###
82 1. Compile the hmcfgusb utilities like in the hmland HowTo above
83 (steps 1 to 5) and stay in the directory
84 2. Download the new firmware from [eQ-3][], in this example the HM-CC-RT-DN
86 3. Extract the tgz-file: `tar xvzf hm_cc_rt_dn_update_V1_4_001_141020.tgz`
87 4. Make sure that hmland is not running
88 * When using the **[HM-CFG-USB(2)][]**, flash the new firmware to the device
89 with serial *KEQ0123456*:
90 `./flash-ota -f hm_cc_rt_dn_update_V1_4_001_141020.eq3 -s KEQ0123456`
91 * When using a **[culfw][]**-based device (**[CUL][]/[COC][]/...**), flash
92 the new firmware to the device with serial *KEQ0123456*:
93 `./flash-ota -f hm_cc_rt_dn_update_V1_4_001_141020.eq3 -s KEQ0123456 -c /dev/ttyACM0`
95 [eQ-3]: http://www.eq-3.de/downloads.html
96 [culfw]: http://culfw.de/culfw.html
97 [CUL]: http://busware.de/tiki-index.php?page=CUL
98 [COC]: http://busware.de/tiki-index.php?page=COC