Release version 0.100
[hmcfgusb] / README.md
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][].
3
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, ...).
7
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][].
13
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
21
22 ### Short hmland HowTo: ###
23
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):
45 `./hmland -p 1234 -D`
46 7. Configure Fhem to use your new HMLAN device:
47 ``define hmusb HMLAN 127.0.0.1:1234``
48 ``attr hmusb hmId <hmId>``
49
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
57 < 0.100.
58
59 This incompatibility is needed so connecting software is able to
60 differentiate between HM-CFG-LAN and HM-CFG-USB.
61
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
67
68 ### Updating the HM-CFG-USB firmware to version 0.967: ###
69
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)
77
78 [hmusbif.03c7.enc]: https://git.zerfleddert.de/hmcfgusb/firmware/hmusbif.03c7.enc
79
80 ### Updating HomemMatic devices over the air (OTA) (also for CUL devices): ###
81
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
85 firmware version 1.4
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`
94
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
Impressum, Datenschutz