ELV Max! Radio Signal Protocol 868.3MHz
Moderator: jrkalf
ELV Max! Radio Signal Protocol 868.3MHz
Has anyone a description about the Radio Signals at 868.3MHz.
I want to get rid of the max! cube itself.
ELV offers an USB Stick, which can communicate directly with the devices. Maybe this stick can be used for the max! devices.
Is the Protocol KNX or M-BUS compatible?
Thanx,
SF
I want to get rid of the max! cube itself.
ELV offers an USB Stick, which can communicate directly with the devices. Maybe this stick can be used for the max! devices.
Is the Protocol KNX or M-BUS compatible?
Thanx,
SF
7x Thermostat / 1x WindowContact / 1x Max! Cube
Re: ELV Max! Radio Signal Protocol 868.3MHz
Hi SF,
I think your best oppertunity was to read the sticky topics at the start of this forum. The top one being: http://www.domoticaforum.eu/viewtopic.php?f=66&t=6654. The Max Protocol description
Good luck on reading up on how it all works. Various people have been reverse engineering it.
I think your best oppertunity was to read the sticky topics at the start of this forum. The top one being: http://www.domoticaforum.eu/viewtopic.php?f=66&t=6654. The Max Protocol description
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
Good luck on reading up on how it all works. Various people have been reverse engineering it.
If you can't fix it with a hammer, you've got an electrical problem!
Fibaro HC2, various z-wave switching, alerting, detection modules.
ELV FHT80b heating system.
Fibaro HC2, various z-wave switching, alerting, detection modules.
ELV FHT80b heating system.
-
- Member
- Posts: 62
- Joined: Tue Oct 18, 2011 10:07 am
Re: ELV Max! Radio Signal Protocol 868.3MHz
I don't think any of those posts actually concern the RF protocol, only the (TCP) protocol to talk to the Cube. I haven't been looking at the RF protocol at all, but cool to hear that there's an USB stick (it wasn't there when I ordered my stuff last month). Do you know how it is intended to be used? The Windows/Mac application can perhaps use it to talk to the devices, or?
Re: ELV Max! Radio Signal Protocol 868.3MHz
I think sfischer is talking about a CUL-like USB stick, cause I don't see a ELV MAX! USB stick anywhere.
The Max App can only communicate with the Cube, I think I've seen enough of the Java code to conclude that.
The Max App can only communicate with the Cube, I think I've seen enough of the Java code to conclude that.
Re: ELV Max! Radio Signal Protocol 868.3MHz
hi guys,
I got some info from rudolf koenig how to read the CUL messages when the CUL is set to X67
=============================================================================
> this: p 3 432 784 848 400 4 6 7 FB 2D4467F5F0FFFA
3 # State Internal state of the state machine
3 == the program thinks it got a whole packet.
432us # zhi avg. high-time of the zero bit
784us # zlo avg. low- time of the zero bit
848us # ohi avg. high-time of the one bit
400us # olo avg. low- time of the one bit
- A zero bit consist of 0.4ms high followed by 0.8ms low
- A one bit consist of 0.8ms high followed by 0.4ms low
4 # Nsync Number of 0 sync bits
This paket had 4 0-bits followed by a 1 bit as sync sequence.
6 # Nbyte Number of whole bytes received
7 # Nbit Number of bits (last partial byte)
6*8+7 = 55 bits of total data (with start/stop/parity bits, if
present), i.e. the last bit in the last byte displayed as raw data
must be discarded.
FB # RSSI RSSI, if the RSSI bit is set, see X cmd
(ignore this)
2D446...# NNNN Raw data with parity/checksum, without sync.
Your task is to figure out, how many parity/stop bits are in this
sequence, and how the checksum is computed. I guess it has 5 bytes of
net data, 7 parity/stop/etc bits, and one checksum byte. But maybe I am
wrong.
If you are done, program this in culfw/rf_receive.c, and output the net
data (without parity and checksum) with a new prefix e.g. B1122334455
After that you have to figure out, which byte means what, and implement
a fhem module for it.![Smile :)](./images/smilies/icon_smile.gif)
=============================================================================
Hope it will help you
I got some info from rudolf koenig how to read the CUL messages when the CUL is set to X67
=============================================================================
> this: p 3 432 784 848 400 4 6 7 FB 2D4467F5F0FFFA
3 # State Internal state of the state machine
3 == the program thinks it got a whole packet.
432us # zhi avg. high-time of the zero bit
784us # zlo avg. low- time of the zero bit
848us # ohi avg. high-time of the one bit
400us # olo avg. low- time of the one bit
- A zero bit consist of 0.4ms high followed by 0.8ms low
- A one bit consist of 0.8ms high followed by 0.4ms low
4 # Nsync Number of 0 sync bits
This paket had 4 0-bits followed by a 1 bit as sync sequence.
6 # Nbyte Number of whole bytes received
7 # Nbit Number of bits (last partial byte)
6*8+7 = 55 bits of total data (with start/stop/parity bits, if
present), i.e. the last bit in the last byte displayed as raw data
must be discarded.
FB # RSSI RSSI, if the RSSI bit is set, see X cmd
(ignore this)
2D446...# NNNN Raw data with parity/checksum, without sync.
Your task is to figure out, how many parity/stop bits are in this
sequence, and how the checksum is computed. I guess it has 5 bytes of
net data, 7 parity/stop/etc bits, and one checksum byte. But maybe I am
wrong.
If you are done, program this in culfw/rf_receive.c, and output the net
data (without parity and checksum) with a new prefix e.g. B1122334455
After that you have to figure out, which byte means what, and implement
a fhem module for it.
![Smile :)](./images/smilies/icon_smile.gif)
=============================================================================
Hope it will help you
Re: ELV Max! Radio Signal Protocol 868.3MHz
I have an unused CUL here, maybe I can help to provide more data if needed.
Re: ELV Max! Radio Signal Protocol 868.3MHz
I think that Sfisher is talking about this stick which is offered by ELV for the ETH comfort series thermostates. That is not working with the Max thermostates.
The Protokol of these are worked by Microcontroller.net members. The Max is looking similar and it would be interesting to compare the inside of the thermostates and find out the rfm protokol if that is possible. Maybe there is any electronic specialist to work with the max thermostate the same way as the microcontoller members.
The Protokol of these are worked by Microcontroller.net members. The Max is looking similar and it would be interesting to compare the inside of the thermostates and find out the rfm protokol if that is possible. Maybe there is any electronic specialist to work with the max thermostate the same way as the microcontoller members.
Re: ELV Max! Radio Signal Protocol 868.3MHz
The firmware of CUL has now been extended to support MAX! You need to use current svn head version and recompile it with
#define HAS_MORITZ
in board.h
Enable receiver with:
Zr
send with:
Zs<data>
The data is framed as Homematic, the Payload is quite similar to the TCP findings. Security or protection has not been implemented. Componets are transmitting datagrams even without being paired. I.e. the Eco-Switch:
"AUTO":
Z0C13025000C20F000000000001
"ECO":
Z0C14025000C20F000000000000
Ventils are broadcasting any change like (spaces I have inserted):
Z 0F 00 0460 034EA0 000000 0009 3C3A 011B (this is ventil position - set temperature - current temperature)
Enjoy!
#define HAS_MORITZ
in board.h
Enable receiver with:
Zr
send with:
Zs<data>
The data is framed as Homematic, the Payload is quite similar to the TCP findings. Security or protection has not been implemented. Componets are transmitting datagrams even without being paired. I.e. the Eco-Switch:
"AUTO":
Z0C13025000C20F000000000001
"ECO":
Z0C14025000C20F000000000000
Ventils are broadcasting any change like (spaces I have inserted):
Z 0F 00 0460 034EA0 000000 0009 3C3A 011B (this is ventil position - set temperature - current temperature)
Enjoy!
-
- Member
- Posts: 62
- Joined: Tue Oct 18, 2011 10:07 am
Re: ELV Max! Radio Signal Protocol 868.3MHz
Hmm, does your example mean that the radiator valves are actually transmitting their current temperature? IIRC one of the limitations of the ELV Max! thing was that you couldn't get current temperature readings, but it seems that they could be made available, if your example is correct?
Re: ELV Max! Radio Signal Protocol 868.3MHz
We already found (in German, sorry):
Z 0F 0004 60 034EA0 000000 00 09 3C 3A 011B -> HeatingThermoState
60 - HeatingThermostatState
034EA0 - eigene Adresse
000000 - Zieladresse == Broadcast
00 - Raum -> nicht zuheordnet / Hausgerät / für Befehl nicht gebraucht
09 ??
hex(3C)=60 ist die aktuelle Ventilstellung in %
hex(3A)=58 / 2 = 29 Grad - testweise eingestellte Zieltemperatur
011B = 283 / 10 = 28.3C aktuelle Temperatur
Z 0C 5804 42 029D99 000000 00 A2 22 -> SetPointAndCurrentTemperature
42 - SetPointAndCurrentTemperature
029D99 - eigene Adresse
000000 - Zieladresse == Broadcast
00 - Zielraum
A2 - Aktuelle Temperatur ? hex(A2) = 162 / 8 = 20,25°C? oder 162 /10 + 4,5(festes Offset) = 20,7°C
22 - Sollwert 17°C (hex(22)/2) eingestellt
other knows IDs are:
0 - SystemInformation
1 - Inclusion
2 - Answer
3 - TimeInformation
16 - ConfigWeekTemperatureProfile
17 - ConfigTemperatures
18 - ConfigValveFunctions
32 - AddLinkPartner
33 - RemoveLinkPartner
34 - SetGroupAddress
35 - RemoveGroupAddress
48 - ShutterConactState
64 - ControlMode
65 - SetPointTemperature
66 - SetPointAndCurrentTemperature
67 - ComfortTemperature
68 - EcoTemperature
69 - CurrentTemperatureAndHumidity
80 - PushButtonState
96 - HeatungThermostatState
-128 - LockManualControls
-127 - DaylightSavingTimeMode
-126 - SwitchDisplaySetPointActual
-16 - Reset
-15 - WakeUp
-1 - Test
i.e.:
Z 17 0000 00 029D99 00B917 00 12030049455130353132323534 -> SystemInfos
00 - SystemInformation
029D99 - eigene Adresse
00B917 - Zieladresse
00 - ZielRaum
120300 - ?
49455130353132323534 - IEQ0512254 - Seriennummer Gerät
Z 0A 000A 03 029D99 00B917 00 -> Anfrage Sende Uhrzeit
03 - TimeInformation
029D99 - eigene Adresse
00B917 - Zieladresse
00 - ZielRaum
Z 0F D200 03 00B917 029D99 00 0C 06 8E8365 -> Übertragung Uhrzeit
03 - TimeInformation
029D99 - eigene Adresse
00B917 - Zieladresse
00 - ZielRaum
0C - 12 - Jahreszahl - 2000
06 - Tag
8E8365 - ? müsste aktuelle Uhrzeit sein - sekundengenau
Z 0F 0004 60 034EA0 000000 00 09 3C 3A 011B -> HeatingThermoState
60 - HeatingThermostatState
034EA0 - eigene Adresse
000000 - Zieladresse == Broadcast
00 - Raum -> nicht zuheordnet / Hausgerät / für Befehl nicht gebraucht
09 ??
hex(3C)=60 ist die aktuelle Ventilstellung in %
hex(3A)=58 / 2 = 29 Grad - testweise eingestellte Zieltemperatur
011B = 283 / 10 = 28.3C aktuelle Temperatur
Z 0C 5804 42 029D99 000000 00 A2 22 -> SetPointAndCurrentTemperature
42 - SetPointAndCurrentTemperature
029D99 - eigene Adresse
000000 - Zieladresse == Broadcast
00 - Zielraum
A2 - Aktuelle Temperatur ? hex(A2) = 162 / 8 = 20,25°C? oder 162 /10 + 4,5(festes Offset) = 20,7°C
22 - Sollwert 17°C (hex(22)/2) eingestellt
other knows IDs are:
0 - SystemInformation
1 - Inclusion
2 - Answer
3 - TimeInformation
16 - ConfigWeekTemperatureProfile
17 - ConfigTemperatures
18 - ConfigValveFunctions
32 - AddLinkPartner
33 - RemoveLinkPartner
34 - SetGroupAddress
35 - RemoveGroupAddress
48 - ShutterConactState
64 - ControlMode
65 - SetPointTemperature
66 - SetPointAndCurrentTemperature
67 - ComfortTemperature
68 - EcoTemperature
69 - CurrentTemperatureAndHumidity
80 - PushButtonState
96 - HeatungThermostatState
-128 - LockManualControls
-127 - DaylightSavingTimeMode
-126 - SwitchDisplaySetPointActual
-16 - Reset
-15 - WakeUp
-1 - Test
i.e.:
Z 17 0000 00 029D99 00B917 00 12030049455130353132323534 -> SystemInfos
00 - SystemInformation
029D99 - eigene Adresse
00B917 - Zieladresse
00 - ZielRaum
120300 - ?
49455130353132323534 - IEQ0512254 - Seriennummer Gerät
Z 0A 000A 03 029D99 00B917 00 -> Anfrage Sende Uhrzeit
03 - TimeInformation
029D99 - eigene Adresse
00B917 - Zieladresse
00 - ZielRaum
Z 0F D200 03 00B917 029D99 00 0C 06 8E8365 -> Übertragung Uhrzeit
03 - TimeInformation
029D99 - eigene Adresse
00B917 - Zieladresse
00 - ZielRaum
0C - 12 - Jahreszahl - 2000
06 - Tag
8E8365 - ? müsste aktuelle Uhrzeit sein - sekundengenau
Re: ELV Max! Radio Signal Protocol 868.3MHz
Hello.
I've spent all day reading the Max! posts here and Digit's blog.
Basically I was hoping the eQ-3 Max! wall thermostat would be able to be queried for current temperature (and the wireless radiator actuator, but more so the former), however, until reading this post it looked as if I was on to nothing.
So my question is, if you can now pull the current temperature over 868.3MHz, it should now be possible over the wired protocol via the Max! Cube? I've not invested in any items for testing yet, however, I've an application that needs to be pc-free, so USB wireless is out (and while I could use Enocean actuators and temp. sensors, for this scenario they would be hideously over-budget).
Great information here and saved me a lot of time. Thank you.
R.
I've spent all day reading the Max! posts here and Digit's blog.
Basically I was hoping the eQ-3 Max! wall thermostat would be able to be queried for current temperature (and the wireless radiator actuator, but more so the former), however, until reading this post it looked as if I was on to nothing.
So my question is, if you can now pull the current temperature over 868.3MHz, it should now be possible over the wired protocol via the Max! Cube? I've not invested in any items for testing yet, however, I've an application that needs to be pc-free, so USB wireless is out (and while I could use Enocean actuators and temp. sensors, for this scenario they would be hideously over-budget).
Great information here and saved me a lot of time. Thank you.
R.
Re: ELV Max! Radio Signal Protocol 868.3MHz
Hi,
I have developed a piggy-back board for the raspberry pi (rpi) with the RF22B transceiver module. Since some weeks, my wMBUS software stack is up and running. pls see the following entry @ rpi forum: http://www.raspberrypi.org/phpBB3/viewt ... 45&t=20432
My next plan is a sw module which can communicate with the max!.
To move further, I need the RF settings like the exact
freqency (868.3MHz?)
FSK or GFSK? modulation
cps (character per sec) transmision rate
sync word ?
preamble lenght
can someone place the information pls.?
The rpi is powerful enough to host a web gui and possibly a my-sql db. Can someone give a recommendation, which web package is the most suitable for that project.
Ruby, cgi, php?, which webserver (lighthttp, apache?)
I don't want to spend so much time to implement a web gui for it. Is there any free source code available to give a head start?
Thanks,
sfischer
I have developed a piggy-back board for the raspberry pi (rpi) with the RF22B transceiver module. Since some weeks, my wMBUS software stack is up and running. pls see the following entry @ rpi forum: http://www.raspberrypi.org/phpBB3/viewt ... 45&t=20432
My next plan is a sw module which can communicate with the max!.
To move further, I need the RF settings like the exact
freqency (868.3MHz?)
FSK or GFSK? modulation
cps (character per sec) transmision rate
sync word ?
preamble lenght
can someone place the information pls.?
The rpi is powerful enough to host a web gui and possibly a my-sql db. Can someone give a recommendation, which web package is the most suitable for that project.
Ruby, cgi, php?, which webserver (lighthttp, apache?)
I don't want to spend so much time to implement a web gui for it. Is there any free source code available to give a head start?
Thanks,
sfischer
7x Thermostat / 1x WindowContact / 1x Max! Cube
Re: ELV Max! Radio Signal Protocol 868.3MHz
Do you know about this topic: http://www.mikrocontroller.net/topic/244432#2825928
The culfw code should provide you all the information you need, I guess.
The culfw code should provide you all the information you need, I guess.
Re: ELV Max! Radio Signal Protocol 868.3MHz
Thanks,
But I cant find the requested Info like cps, frequency...
Stefan
But I cant find the requested Info like cps, frequency...
Stefan
7x Thermostat / 1x WindowContact / 1x Max! Cube
Re: ELV Max! Radio Signal Protocol 868.3MHz
Well, I guess that will all be in the code somewhere, like for instance how the CC1101 registers are set?
CC1101 is well documented, so that should reveal the info you need. And the code of course.
Or post on the mikrocontroller forum if you don't have the time to search for it yourself?
Somebody must know the answers already![Wink :wink:](./images/smilies/icon_wink.gif)
CC1101 is well documented, so that should reveal the info you need. And the code of course.
Or post on the mikrocontroller forum if you don't have the time to search for it yourself?
Somebody must know the answers already
![Wink :wink:](./images/smilies/icon_wink.gif)