hektiker1983 / openhab

Automatically exported from code.google.com/p/openhab
0 stars 0 forks source link

Homematic: Support for LAN Adapter #266

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
We have multiple request for support of the LAN adapter.

Since the protocol spoke by the LAN adapter is different from the CCU, this is 
not easily possible.

As a workaround you can use the homematic binding with the BidCos Service. This 
runs native under windows, but also under wine.

Original issue reported on code.google.com by thomas.letsch.de on 30 Apr 2013 at 6:54

GoogleCodeExporter commented 9 years ago

Original comment by kai.openhab on 5 May 2013 at 6:42

GoogleCodeExporter commented 9 years ago
As Thomas already mentioned a work-around, I have to spread the word that the 
HM-CFG-USB-2-Adpater is also able to emulate as HM-CFG-LAN, saving a LAN port, 
power and about 25€.

All you need is an HM-CFG-USB-2 and the software from here: 
https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb

As the HM-CFG-LAN is compatible emulated with this package, maybe it helps in 
integrating the LAN-support into the Homematic binding.

Original comment by hlw31...@gmail.com on 6 Jul 2013 at 11:59

GoogleCodeExporter commented 9 years ago
Hello Thomas
I'm using the HM-CFG-LAN with fhem.
Could we assist you ? Testing, etc. ?

Original comment by petersau...@hotmail.de on 10 Jul 2013 at 8:38

GoogleCodeExporter commented 9 years ago
The best would probably be a protocol specification. But I don't assume that 
FHEM ships with something like that?

Original comment by till.klo...@gmail.com on 11 Jul 2013 at 7:10

GoogleCodeExporter commented 9 years ago
Not a specification but an implementation including some documentation for 
HMLAN: http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/FHEM/00_HMLAN.pm

Original comment by hlw31...@gmail.com on 11 Jul 2013 at 10:17

GoogleCodeExporter commented 9 years ago
I'm currently getting my feet wet by porting the perl module from FHEM to a 
simple shell script. Then I need help to port this to a binding.

Original comment by honkton...@gmail.com on 15 Aug 2013 at 10:41

GoogleCodeExporter commented 9 years ago
I also started investigating the protocol of the HMLAN and how FHEM uses it. As 
far as I understand it we need to implement the pairing of the devices, which 
doesn't seem too difficult. But we have to store these pairings in a persistent 
storage. This storage should be independent from the items config file, so we 
can freely configure our items and don't have to manipulate user generated 
files.
But currently I can't see that any binding stores information persistently. Is 
there a preferred way in openHAB to do this? Right know I would simply prefer a 
file in some format (XML, JSON, CSV...) which is parsed at binding startup and 
written everytime we pair a new device.

Original comment by till.klo...@gmail.com on 28 Aug 2013 at 3:44

GoogleCodeExporter commented 9 years ago
I only have HM-SEC-RHS in operatio, however the following scenario which does 
not need any 'persistent' storage (pairing etc.):
 - Sensor is configured using HM-CFG-USB2 and the windows software ('paired')
 - CFG adapter is plugged into arm board running hmland (https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb)
 - State is posted to openhab using curl (script attached)

The sensor sends data and the usb adapter confirms so the led shows green.

I don't know about other devices but as you see the pairing is seems to be done 
with the hmId.

As FHEM is able to dynamically add new (detected) devices, maybe this is the 
storage you stumbled upon :-?

Original comment by hlw31...@gmail.com on 3 Oct 2013 at 9:17

GoogleCodeExporter commented 9 years ago
And here's the script:
#!/bin/bash

mkfifo in
nc -vdt openhab 1000 > in &

while true
do
cat in | while read line
do
  echo $line
  typ=$(echo $line | cut -c1)
  if [ "$typ" = "E" ]
  then
    data=$(echo $line | cut -c53-54)
    echo "E:$data"
    case $data in
      64) oh_cmd set C_Terrasse OPEN
          ;;
      C8) oh_cmd set C_Terrasse CLOSED
          ;;
    esac
  fi
done
sleep 3
done

Original comment by hlw31...@gmail.com on 3 Oct 2013 at 5:38

GoogleCodeExporter commented 9 years ago
Found this detailed German page 
http://www2.htw-dresden.de/~wiki_sn/index.php5/HomeMatic

Original comment by hlw31...@gmail.com on 9 Oct 2013 at 4:45

GoogleCodeExporter commented 9 years ago
Theoretically I got the right page to look at and got it figured out:
  - Open port 1000 on the HMLan-Adapter.
  - Wait for string starting with "HHM-LAN-IF"
    - Status is in strings starting with 'E'
    - Details in hmsniff.c:93
  - To keep the device alive, periodic send "K" command

It's good understandable in this code: 
https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/blob_plain/HEAD:/hmsniff.
c

Original comment by hlw31...@gmail.com on 9 Oct 2013 at 2:44

GoogleCodeExporter commented 9 years ago
I probably should have mentionend that communication with HMLAN-CFG is working. 
basic packet parsing is also implement but somewhat hackisch. Currently I'm 
trying to generate Java code from the XML files delivered with HMLAN software. 
These files describe the binary payload of each package. The payload is the 
really interesting part since it is different for each device.

Original comment by till.klo...@gmail.com on 9 Oct 2013 at 3:36

GoogleCodeExporter commented 9 years ago
Wow - great work. I don't want to nag but I'm eager to test with my devices 
(HM-SEC-KM, HM-SEC-RHS, HM-RM-4-2) so please release as early as possible to 
get early bugs ;)

Original comment by honkton...@gmail.com on 13 Oct 2013 at 1:27

GoogleCodeExporter commented 9 years ago

Original comment by teichsta on 5 Nov 2013 at 10:47

GoogleCodeExporter commented 9 years ago
Has there been any progress on this issue? I browsed github deeply but did not 
find any references to the LAN adapter. 

May somebody please help me out? 

Original comment by honkton...@gmail.com on 6 Nov 2013 at 7:36

GoogleCodeExporter commented 9 years ago
Hello, any news about using the HM LAN IF. I have tried it on my mac, but it 
doesn't  work. Then I saw this issue/topic here. I would lie to use the IF with 
your openhab Software. Is there a timeline for it?  

Original comment by ulrich.b...@gmail.com on 15 Nov 2013 at 6:01

GoogleCodeExporter commented 9 years ago
This issue has been migrated to Github. If this issue id is greater than103 its 
id has been preserved on Github. You can open your issue by calling the URL 
https://github.com/openhab/openhab/issues/<issueid>. Issues with ids less or 
equal 103 new ids were created.

Original comment by teichsta on 17 Nov 2013 at 8:08

GoogleCodeExporter commented 9 years ago
see above!

Issue has been migrated to Github and should be discussed there.

Original comment by teichsta on 21 Nov 2013 at 1:51