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 before 2015-07-01, [LXCCU][], a real [CCU][], Windows configuration software,
53 ...) is used to connect to hmland, the `-I` switch might be needed to
54 impersonate a LAN-interface (this replaces the identity string HM-USB-IF with
56 Software which needs this will not keep a stable connection open to
57 hmland without this switch. It was the hardcoded default in versions
60 This incompatibility is needed so connecting software is able to
61 differentiate between HM-CFG-LAN and HM-CFG-USB.
63 [releases-directory]: https://git.zerfleddert.de/hmcfgusb/releases/
64 [hmcfgusb-HEAD-xxxxxxx.tar.gz]: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/snapshot/HEAD.tar.gz
65 [Homegear]: https://www.homegear.eu/
66 [LXCCU]: http://www.lxccu.com/
67 [CCU]: http://www.elv.de/homematic-zentrale-ccu-2.html
69 ### Updating the HM-CFG-USB firmware to version 0.967: ###
71 1. Compile the hmcfgusb utilities like in the hmland HowTo above
72 (steps 1 to 5) and stay in the directory
73 2. Download the new firmware: [hmusbif.03c7.enc][]:
74 `wget https://git.zerfleddert.de/hmcfgusb/firmware/hmusbif.03c7.enc`
75 3. Make sure that hmland is not running
76 4. Flash the update to the USB-stick:
77 `./flash-hmcfgusb hmusbif.03c7.enc` (You might need to use `sudo` for this)
79 [hmusbif.03c7.enc]: https://git.zerfleddert.de/hmcfgusb/firmware/hmusbif.03c7.enc
81 ### Updating HomemMatic devices over the air (OTA) (also for CUL devices): ###
83 1. Compile the hmcfgusb utilities like in the hmland HowTo above
84 (steps 1 to 5) and stay in the directory
85 2. Download the new firmware from [eQ-3][], in this example the HM-CC-RT-DN
87 3. Extract the tgz-file: `tar xvzf hm_cc_rt_dn_update_V1_4_001_141020.tgz`
88 4. Make sure that hmland is not running
89 * When using the **[HM-CFG-USB(2)][]**, flash the new firmware to the device
90 with serial *KEQ0123456*:
91 `./flash-ota -f hm_cc_rt_dn_update_V1_4_001_141020.eq3 -s KEQ0123456`
92 * When using a **[culfw][]**-based device (**[CUL][]/[COC][]/...**), flash
93 the new firmware to the device with serial *KEQ0123456*:
94 `./flash-ota -f hm_cc_rt_dn_update_V1_4_001_141020.eq3 -s KEQ0123456 -c /dev/ttyACM0`
96 [eQ-3]: http://www.eq-3.de/downloads.html
97 [culfw]: http://culfw.de/culfw.html
98 [CUL]: http://busware.de/tiki-index.php?page=CUL
99 [COC]: http://busware.de/tiki-index.php?page=COC