Hey,
To control my home automation, i've got a KNX IP ROUTER 750.
Basically, this convert my ethernet network with the EIB.
Can you give me a hint how i can insert this into linuxmce in order to work?
http://wiki.linuxmce.org/index.php/EIB/KNX_with_eibd should be a good start.
Yes, indeed, that helped me started. I had contact with the maker of the eibd stuff since somewhere there was a mistake to start it (apperantly a file /tmp/eib wasn't created, but this has yet to be confirmed).
I was able to install the eibd with following:
/usr/bin/eibd -D -T -R -S -i -u --eibaddr=1.1.11 --daemon=/var/log/eibd.log ipt:192.168.111.21
In here, the eib addres for the IP gateway is the 1.1.11, and his IP is the 192.168.111.21.
I'm not sure if the eib address must be in there, but better safe then sorry?
All my lights are already working through the ETS software. So i'm focussing for the moment on 1 light, with the address 1/1/211.
I added this as a normal light (template 37).
Port/Channel Number is set to 1/1/211
But with the test command ON / OFF, nothing happens.
The thing that i'm not sure about, is the 'Controlled By: EIB' option. That EIB has been added by me (template 49), but i'm not sure if this is correct. I don't understand the wiki part about 'Use EIBd'. :(
Because when i check my device tree, this has some COM setting. Is this correct?
In my eibd log, i just see some 'heartbeats?
/usr/bin/eibd -D -T -R -S -i -u --eibaddr=1.1.1 -t1034 ipt:192.168.111.21
Layer 3(09F41290,4E29D38F) Open
Layer 3(09F41290,4E29D38F) registerBroadcast 09F71CD0
Layer 3(09F41290,4E29D38F) registerBroadcast 09F71CD0 = 1
Layer 3(09F41290,4E29D38F) registerGroup 09F71CD0
Layer 3(09F41290,4E29D38F) registerGroup 09F71CD0 = 1
Layer 3(09F41290,4E29D38F) registerIndividual 09F71CD0 0
Layer 3(09F41290,4E29D38F) registerIndividual 09F71CD0 = 1
Layer 1(09F20B78,4E29D38F) Send(020): 08 01 C0 A8 6F 01 0E 58 08 01 C0 A8 6F 01 0E 58 04 04 02 00
Layer 1(09F20B78,4E29D38F) Recv(014): 4B 00 08 01 C0 A8 6F 15 0E 57 04 04 FF FF
Layer 1(09F20680,4E29D3AD) Heartbeat
Layer 1(09F20B78,4E29D3AD) Send(010): 4B 00 08 01 C0 A8 6F 01 0E 58
Layer 1(09F20B78,4E29D3AD) Recv(002): 4B 00
Layer 1(09F20680,4E29D3CB) Heartbeat
Layer 1(09F20B78,4E29D3CB) Send(010): 4B 00 08 01 C0 A8 6F 01 0E 58
Layer 1(09F20B78,4E29D3CB) Recv(002): 4B 00
Layer 1(09F20680,4E29D3E9) Heartbeat
Layer 1(09F20B78,4E29D3E9) Send(010): 4B 00 08 01 C0 A8 6F 01 0E 58
Layer 1(09F20B78,4E29D3E9) Recv(002): 4B 00
Layer 1(09F20680,4E29D407) Heartbeat
Layer 1(09F20B78,4E29D407) Send(010): 4B 00 08 01 C0 A8 6F 01 0E 58
Layer 1(09F20B78,4E29D407) Recv(002): 4B 00
Layer 1(09F20680,4E29D425) Heartbeat
Layer 1(09F20B78,4E29D425) Send(010): 4B 00 08 01 C0 A8 6F 01 0E 58
Layer 1(09F20B78,4E29D425) Recv(002): 4B 00
Layer 1(09F20680,4E29D443) Heartbeat
Layer 1(09F20B78,4E29D443) Send(010): 4B 00 08 01 C0 A8 6F 01 0E 58
Layer 1(09F20B78,4E29D443) Recv(002): 4B 00
Layer 1(09F20680,4E29D461) Heartbeat
Layer 1(09F20B78,4E29D461) Send(010): 4B 00 08 01 C0 A8 6F 01 0E 58
Layer 1(09F20B78,4E29D461) Recv(002): 4B 00
Layer 1(09F20680,4E29D47F) Heartbeat
Layer 1(09F20B78,4E29D47F) Send(010): 4B 00 08 01 C0 A8 6F 01 0E 58
Layer 1(09F20B78,4E29D47F) Recv(002): 4B 00
Layer 1(09F20680,4E29D49D) Heartbeat
I would suspect that once i click 'test ON', something extra should happen here?
1/2/211 <== is that the group address for ON/OFF
Did you follow this: <http://wiki.linuxmce.org/index.php/EIB/KNX_with_eibd#Adding_a_light_switch>
EDIT: Another question: Are you running 1004 or 810?
It should be. :$
- ETS: To be sure, I've created new groups. Exactly the same as the example, and put the light (output) in there.
But i'm a bit lost here. The wiki says "on/off" and "read status". In ETS, i can only drag/drop the output of the light in that group. So i'm not sure what must be done in here.
I've changed the flags for this output to Communication/Read/Write/Transmit. Don't know if this has anything to do with it?
So for 0/0/1 i've added OutputD of 1.1.31
And for 0/0/2, I've added OutputD of 1.1.31
- LinuxMCE: In the PORT/CHANNEL number, i add 0/0/1|0/0/2
But nothing happens when i push the Test command ON/OFF. ???
Shouldn't i see more details in the debug of the eibd when i push the but On/off in the webmin? Or is there another log that i can check if the communication is going correctly?
Version is 8.10
When i check the log-files, i see:
01 07/23/11 13:48:29.388 Failed Opening EIB serial port: ttyS0 <0xb6197b90>
01 07/23/11 13:48:34.388 Failed Opening EIB serial port: ttyS0 <0xb6197b90>
01 07/23/11 13:48:39.389 Failed Opening EIB serial port: ttyS0 <0xb6197b90>
...
01 07/23/11 13:49:48.427 Failed Opening EIB serial port: ttyS0 <0xb60b4b90>
01 07/23/11 13:49:53.427 Failed Opening EIB serial port: ttyS0 <0xb60b4b90>
01 07/23/11 13:49:58.427 Failed Opening EIB serial port: ttyS0 <0xb60b4b90>
01 07/23/11 13:50:03.427 Failed Opening EIB serial port: ttyS0 <0xb60b4b90>
Since it's EIB over ethernet, there's something wrong?
Must i match somewhere the EIB drver to the eibd that runs in the background?
Or is this done automaticlly?
your setup looks correct. What you are experiencing is the fact that we still haven't packaged the EIB-eibd plugin.
Under http://deb.linuxmce.org/dists/intrepid/EIB you find the EIB device. Copy it into /usr/pluto/bin restart your system, and see what happens.
Quote from: posde on July 24, 2011, 12:43:12 PM
Under http://deb.linuxmce.org/dists/intrepid/EIB you find the EIB device. Copy it into /usr/pluto/bin rest...
Is it possible that this link isn't 100% correct? I'm not able to open it... :-[
Anybody an idea how i can go on with this?
Isn't there a log where i can see if the commands for the eib(d) are getting through?
Or is there something else i can try?
I really want to give linuxmce a try (i love the concept).
But if it doesn't work, it doesn't work... And i'll have to search for another solution. :-[
typo
http://deb.linuxmce.org/dists/intrepid/EIB
i don't see the difference... :$
Is it me, or does my computer read it wrong... ;)
this is the correct link: http://deb.linuxmce.org/ubuntu/dists/intrepid/EIB
br Hari
Thanks hari - I must have been out of caffeine
Hey,
I can confirm, now the link is working.
And it seems that this does something more... I got some output when i now push button. More then he did before.
Now figuring out what i'm doing wrong.
Through a console, i run: /usr/bin/eibd -D -T -R -S -i -u -t1023 ipt:192.168.111.21
By the webinterface (lights)
When i tried to activate (ON) the light:
Layer 8(09C76060,4E33EEF9) RecvMessage(006): 00 27 00 00 00 81
Layer 7(09C87524,4E33EEF9) Send(002): 00 81
Layer 4(09C760A8,4E33EEF9) Send GroupSocket T_DATA_XXX_REQ A_GroupValue_Write (small) 01
Layer 3(09C24290,4E33EEF9) Send L_Data low from 0.0.0 to 0/0/0 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
Layer 2(09C03680,4E33EEF9) Send L_Data low from 0.0.0 to 0/0/0 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
Layer 1(09C03680,4E33EEF9) SendTunnel(015): 04 46 03 00 11 00 BC F0 00 00 00 00 01 00 81
Layer 1(09C03B78,4E33EEF9) Send(015): 04 46 03 00 11 00 BC F0 00 00 00 00 01 00 81
Layer 0(09C03B78,4E33EEF9) Send(021): 06 10 04 20 00 15 04 46 03 00 11 00 BC F0 00 00 00 00 01 00 81
Layer 2(09C03680,4E33EEF9) Recv L_Data low from 0.0.0 to 0/0/0 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
Layer 3(09C24290,4E33EEF9) Recv L_Data low from 0.0.0 to 0/0/0 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
Layer 8(09C54CD0,4E33EEF9) Send_Route L_Data low from 0.0.0 to 0/0/0 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
Layer 1(09C54D40,4E33EEF9) Send(011): 29 00 BC E0 00 00 00 00 01 00 81
Layer 0(09C54D40,4E33EEF9) Send(017): 06 10 05 30 00 11 29 00 BC E0 00 00 00 00 01 00 81
Layer 0(09C03B78,4E33EEF9) Recv(010): 06 10 04 21 00 0A 04 46 03 00
Layer 1(09C03B78,4E33EEF9) Recv(004): 04 46 03 00
Layer 0(09C03B78,4E33EEF9) Recv(021): 06 10 04 20 00 15 04 46 03 00 2E 00 BC F0 FF FF 00 00 01 00 81
Layer 1(09C03B78,4E33EEF9) Recv(015): 04 46 03 00 2E 00 BC F0 FF FF 00 00 01 00 81
Layer 1(09C03B78,4E33EEF9) Send(004): 04 46 03 00
Layer 0(09C03B78,4E33EEF9) Send(010): 06 10 04 21 00 0A 04 46 03 00
And with the 'off' command
Layer 8(09C76060,4E33EEFF) RecvMessage(006): 00 27 00 00 00 80
Layer 7(09C87524,4E33EEFF) Send(002): 00 80
Layer 4(09C760A8,4E33EEFF) Send GroupSocket T_DATA_XXX_REQ A_GroupValue_Write (small) 00
Layer 3(09C24290,4E33EEFF) Send L_Data low from 0.0.0 to 0/0/0 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
Layer 2(09C03680,4E33EEFF) Send L_Data low from 0.0.0 to 0/0/0 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
Layer 1(09C03680,4E33EEFF) SendTunnel(015): 04 46 04 00 11 00 BC F0 00 00 00 00 01 00 80
Layer 1(09C03B78,4E33EEFF) Send(015): 04 46 04 00 11 00 BC F0 00 00 00 00 01 00 80
Layer 0(09C03B78,4E33EEFF) Send(021): 06 10 04 20 00 15 04 46 04 00 11 00 BC F0 00 00 00 00 01 00 80
Layer 2(09C03680,4E33EEFF) Recv L_Data low from 0.0.0 to 0/0/0 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
Layer 3(09C24290,4E33EEFF) Recv L_Data low from 0.0.0 to 0/0/0 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
Layer 8(09C54CD0,4E33EEFF) Send_Route L_Data low from 0.0.0 to 0/0/0 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
Layer 1(09C54D40,4E33EEFF) Send(011): 29 00 BC E0 00 00 00 00 01 00 80
Layer 0(09C54D40,4E33EEFF) Send(017): 06 10 05 30 00 11 29 00 BC E0 00 00 00 00 01 00 80
Layer 0(09C03B78,4E33EEFF) Recv(010): 06 10 04 21 00 0A 04 46 04 00
Layer 1(09C03B78,4E33EEFF) Recv(004): 04 46 04 00
Layer 0(09C03B78,4E33EEFF) Recv(021): 06 10 04 20 00 15 04 46 04 00 2E 00 BC F0 FF FF 00 00 01 00 80
Layer 1(09C03B78,4E33EEFF) Recv(015): 04 46 04 00 2E 00 BC F0 FF FF 00 00 01 00 80
Layer 1(09C03B78,4E33EEFF) Send(004): 04 46 04 00
Layer 0(09C03B78,4E33EEFF) Send(010): 06 10 04 21 00 0A 04 46 04 00
Does anybody knows if something must be set in the 'IP router' itself in order to receive the commands?
I'm a bit afraid to change things on there. Don't want to mess up that thing, it's expensive enough...
http://www.weinzierl.de/download/products/750/KnxIP_Router_750_BMA_EN.pdf
Bus access function (KNXnet/IP Tunneling)
The KNX IP Router 750 can be used as an interface to
KNX/EIB. KNX/EIB can be accessed from any point in the
LAN. For this purpose, a second physical address must
be assigned as described in the ETS Connection Manager
section
Just a FYI. This is how I call eibd:
usr/bin/eibd --no-tunnel-client-queuing -D -T -R -S -i -u --eibaddr=0.0.1 --daemon=/var/log/eibd.log ipt:10.1.2.179
Thanks...
Doesn't seem to help me out. :-X
Is there a commando i can try on the console to check the proper working between the server and the light relay? This way, i can narrow it down a bit...
Good news? Seems that the connection between the eibd and the hardware is working. When i push a (domotica)button, the debug (=linuxmce server with eibd) is receiving info:
Layer 0(09E1AB78,4E401AE8) Recv(021): 06 10 04 20 00 15 04 4E 01 00 29 00 B4 E0 11 0C 09 D4 01 00 80
Layer 1(09E1AB78,4E401AE8) Recv(015): 04 4E 01 00 29 00 B4 E0 11 0C 09 D4 01 00 80
Layer 1(09E1AB78,4E401AE8) Send(004): 04 4E 01 00
Layer 0(09E1AB78,4E401AE8) Send(010): 06 10 04 21 00 0A 04 4E 01 00
Layer 1(09E1A680,4E401AE8) Recv L_Data urgent from 1.1.12 to 1/1/212 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
Layer 2(09E1A680,4E401AE8) Recv L_Data urgent from 1.1.12 to 1/1/212 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
Layer 3(09E3B290,4E401AE8) Recv L_Data urgent from 1.1.12 to 1/1/212 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
Layer 8(09E6BCD0,4E401AE8) Send_Route L_Data urgent from 1.1.12 to 1/1/212 hops: 05 T_DATA_XXX_REQ A_GroupValue_Write (small) 00
Layer 1(09E6BD40,4E401AE8) Send(011): 29 00 B8 D0 11 0C 09 D4 01 00 80
Layer 0(09E6BD40,4E401AE8) Send(017): 06 10 05 30 00 11 29 00 B8 D0 11 0C 09 D4 01 00 80
Layer 4(09E8D0A8,4E401AE8) Recv GroupSocket(002): 00 80
Layer 7(09E9E524,4E401AE8) Recv(002): 00 80
Layer 8(09E8D060,4E401AE8) SendMessage(008): 00 27 11 0C 09 D4 00 80
When i put now 1/1/212 as a port/channel number, it doens't work.
So I suppose it's something wrong with the template?
please look at http://forum.linuxmce.org/index.php/topic,11870.0.html and follow the steps.
You should be able to send commands with the groupwrite command line utility. Use the same group address in the template.
br Hari
When i tried the groupwrite command, i see a lot of things happening in the debug, but no lights going on.
groupwrite ip:192.168.111.1 0/0/3 1
groupwrite ip:192.168.111.1 0/0/3 1 1
groupwrite ip:192.168.111.1 1/1/212 1 (this is the group i see in the output when i push a button).
When i check the output, i see it coming from 0.0.0.
Don't i need to configure this somewhere in ETS so that the domotica is listening to it?
I check if i could create a 'dummy' input in ETS, but could'nt find anything about this.
The output
Layer 8(09FB5620,4E47D2FF) New Connection
Layer 8(09FF7060,4E47D2FF) ClientConnection Init
Layer 8(09FF7060,4E47D2FF) RecvMessage(005): 00 22 00 03 FF
Layer 7(0A0085F4,4E47D2FF) OpenGroup
Layer 4(09FF70A8,4E47D2FF) OpenGroup 0/0/3 WO
Layer 8(09FF7060,4E47D2FF) SendMessage(002): 00 22
Layer 8(09FF7060,4E47D2FF) RecvMessage(005): 00 25 00 80 01
Layer 7(0A0085F4,4E47D2FF) Send(003): 00 80 01
Layer 4(09FF70A8,4E47D2FF) Send Group T_DATA_XXX_REQ A_GroupValue_Write 01
Layer 3(09FA5290,4E47D2FF) Send L_Data low from 0.0.0 to 0/0/3 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write 01
Layer 2(09F84680,4E47D2FF) Send L_Data low from 0.0.0 to 0/0/3 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write 01
Layer 1(09F84680,4E47D2FF) SendTunnel(016): 04 45 00 00 11 00 BC F0 00 00 00 03 02 00 80 01
Layer 1(09F84B78,4E47D2FF) Send(016): 04 45 00 00 11 00 BC F0 00 00 00 03 02 00 80 01
Layer 0(09F84B78,4E47D2FF) Send(022): 06 10 04 20 00 16 04 45 00 00 11 00 BC F0 00 00 00 03 02 00 80 01
Layer 2(09F84680,4E47D2FF) Recv L_Data low from 0.0.0 to 0/0/3 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write 01
Layer 3(09FA5290,4E47D2FF) Recv L_Data low from 0.0.0 to 0/0/3 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write 01
Layer 8(09FD5CD0,4E47D2FF) Send_Route L_Data low from 0.0.0 to 0/0/3 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write 01
Layer 1(09FD5D40,4E47D2FF) Send(012): 29 00 BC E0 00 00 00 03 02 00 80 01
Layer 0(09FD5D40,4E47D2FF) Send(018): 06 10 05 30 00 12 29 00 BC E0 00 00 00 03 02 00 80 01
Layer 0(09F84B78,4E47D2FF) Recv(010): 06 10 04 21 00 0A 04 45 00 00
Layer 1(09F84B78,4E47D2FF) Recv(004): 04 45 00 00
Layer 7(0A0085F4,4E47D2FF) CloseGroup
Layer 4(09FF70A8,4E47D2FF) CloseGroup
Layer 3(09FA5290,4E47D2FF) deregisterGroupCallBack 09FF70A8 = 0
Layer 8(09FF7060,4E47D2FF) ClientConnection closed
Layer 0(09F84B78,4E47D2FF) Recv(022): 06 10 04 20 00 16 04 45 00 00 2E 00 BC F0 FF FF 00 03 02 00 80 01
Layer 1(09F84B78,4E47D2FF) Recv(016): 04 45 00 00 2E 00 BC F0 FF FF 00 03 02 00 80 01
Layer 1(09F84B78,4E47D2FF) Send(004): 04 45 00 00
Layer 0(09F84B78,4E47D2FF) Send(010): 06 10 04 21 00 0A 04 45 00 00
^CLayer 8(09FB5620,4E47D310) StopServer
Ps, i must use the real ip instead of the local one. Don't think that this is important, but maybe nice to know...
brononi,
if you have problems when you use groupwrite, check with the bcusdk guys. That's all part of the eibd arena, maybe they have an idea of what's going on. It has nothing to do with LinuxMCE. See, if you can get help with them, if you can't get back, and we will try to investigate further.
Hey,
I'm back. And a bit closer to the solution.
With the help of Martin and the forum of KNX Germany, i've learned that there's a difference between groupwrite and groupswrite (bin and hex).
And when i run in a terminal "groupswrite ip:127.0.0.1 1/1/212 1", the lights are turned on.
And with "groupswrite ip:127.0.0.1 1/1/212 0", the lights are turned out.
When i now add this 1/1/212 into the template, it doesn't work.
Can this have something to do with the groupwrite / groupswrite difference?
did you do a quick reload after changing the port/channel to that new value?
br Hari
The problem was my EIB interface apperantly.
When i:
- removed this one
- reloaded router
- recreated it (interface > EIB interface > advance ip 127.0.0.1)
- reloaded router
- put a light switch in (controlled by EIB) > only one group address (fe 0/0/3)
- reloaded router
And YEZZZZZ, light are on/off by the test buttons...
ps i'm going to write my installation steps down as clean as possible, I'll post them shortly...