1 This repository contains utilities to use the [HM-CFG-USB(2)](http://www.elv.de/homematic-usb-konfigurations-adapter-1.html) (HomeMatic USB Konfigurations-Adapter) from [ELV](http://www.elv.de/) on Linux/Unix by using [libusb 1.0](http://www.libusb.org/).
3 The HM-CFG-USB can be used to send and receive [BidCoS-Packets](https://sathya.de/HMCWiki/index.php/BidCoS_Packets) to control [HomeMatic](http://www.homematic.com/) home automation devices (like remote controllable sockets, switches, sensors, ...).
5 This repository contains, amongst others, an application, which emulates the HomeMatic LAN configuration adapter-protocol to make it possible to use the HM-CFG-USB in [Fhem](http://fhem.de/) or as a lan configuration tool for the CCU or the HomeMatic windows configuration software, also supporting devices using AES-signing like [KeyMatic](http://www.elv.de/homematic-funk-tuerschlossantrieb-keymatic-silber-inkl-funk-handsender.html).
7 ### Short hmland HowTo: ###
9 1. Install prerequisites: `apt-get install libusb-1.0-0-dev build-essential git`
10 2. Get the current version of this software (choose **one** option):
11 * Get the current version via git (can be easily updated with `git pull`):
12 1. `git clone git://git.zerfleddert.de/hmcfgusb`
13 2. Change into the new directory: `cd hmcfgusb`
14 * Get the current version as an archive:
15 1. [hmcfgusb-HEAD-xxxxxxx.tar.gz](https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/snapshot/HEAD.tar.gz) (xxxxxxx is part of the commit-id. xxxxxxx is just a placeholder for this HowTo, use your value)
16 2. Extract the archive: `tar xzf hmcfgusb-HEAD-xxxxxxx.tar.gz`
17 3. Change into the new directory: `cd hmcfgusb-HEAD-xxxxxxx`
18 3. Build the code: `make`
19 4. Optional: Install udev-rules so normal users can access the device: `sudo cp hmcfgusb.rules /etc/udev/rules.d/`
20 5. Plug in the HM-CFG-USB
21 6. Run hmland (with debugging the first time, see `-h` switch): `./hmland -p 1234 -D`
22 7. Configure Fhem to use your new HMLAN device:
23 ``define hmusb HMLAN 127.0.0.1:1234``
24 ``attr hmusb hmId <hmId>``
26 ### Updating the HM-CFG-USB firmware to version 0.967: ###
28 1. Compile the hmcfgusb utilities like in the hmland HowTo above (steps 1 to 5) and stay in the directory
29 2. Download the new firmware: [hmusbif.03c7.enc](https://git.zerfleddert.de/hmcfgusb/firmware/hmusbif.03c7.enc): `wget https://git.zerfleddert.de/hmcfgusb/firmware/hmusbif.03c7.enc`
30 3. Make sure that hmland is not running
31 4. Flash the update to the USB-stick: `./flash-hmcfgusb hmusbif.03c7.enc` (You might need to use `sudo` for this)
33 ### Updating HomemMatic devices over the air (OTA): ###
35 1. Compile the hmcfgusb utilities like in the hmland HowTo above (steps 1 to 5) and stay in the directory
36 2. Download the new firmware from [eQ-3](http://www.eq-3.de/downloads.html), in this example the HM-CC-RT-DN firmware version 1.4
37 3. Extract the tgz-file: `tar xvzf hm_cc_rt_dn_update_V1_4_001_141020.tgz`
38 4. Make sure that hmland is not running
39 * When using the **HM-CFG-USB**, flash the new firmware to the device with serial KEQ0123456:
40 `./flash-ota -f hm_cc_rt_dn_update_V1_4_001_141020.eq3 -s KEQ0123456`
41 * When using a **culfw**-based device (**CUL/COC/...**), flash the new firmware to the device with serial KEQ0123456:
42 `./flash-ota -f hm_cc_rt_dn_update_V1_4_001_141020.eq3 -s KEQ0123456 -c /dev/ttyACM0`