-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KNX read request #3165
Comments
Hi, Tasmota will answer a KNX read request only for relays, temperature, humidity, etc. What are you trying to do that requires an extra answer? |
Don't know if it's intentional or an error but you have the last digit on Send and Receive setup differently. |
Hi jeylites, that is intend to be so. In the visualisation you would like to have a clear state and do not want to react just on the switching signal. For example I could send out a "1" on 1/4/0 to relay1 and when the message reaches the device I get a "1" on the 1/4/1 back. If the message on 1/4/0 does not reach the device I do not get the "1" on 1/4/1 but the visualisation would think that the relay is on on since it takes just the "switching Signal". Therefore a different adress between "Switching Signal" and "State Signal" is wanted on the bus for clarify. Regards |
right, I think I understand now what you are trying to do. It seems similar to my setup. If Output 1 on Device 1 is turn ON, Output 1 on Device 2 does as well. Vice-versa.... |
In a simpler form, there needs to be an Output, Output Toggle and Button, Output . See the example below. |
Hi, my Setup consists of a logic engine which also provides the visualisation (EDOMI) and one Sonoff 4CH Pro device. For start up the logic engine / visualisation I Need the actual state of the device because it can occure that the logic engine restarts and looses the knowledge about the last state. And here my Problem kicks in: I don't get the answer to the read request on the defined "Data to Send to Group Addresses". |
Tasmota answer the state when a read request arrives to the "group address
to receive data".
Tasmota is not listening the "group address to send data"
|
Ok understand. I will try to solve this by a rule. |
Hi, You dont need a rule for a read request. If you want to know the state of your relay, put your relay at the GROUP ADDRESSES TO RECEIVE DATA FROM. That list will receive the write command (to change the state of the relay) AND ALSO the read requests that will not change the state of the relay and will respond the actual state. You will need to use the same address for read and for write. |
Hi Ascillato2, yes this I know, but I do not need the answer on this group address (in my example 1/4/0 for switching the relay), I need it on the group address for the state of the relay (in my example 1/4/1). That is exactly the problem with this constellation: Group address for switching and address for state are different. Regards Sven |
Ok
So add that address also in the "group address to read data from" and problem solved.
|
You can have in the "group address to read data from" 2 different address for the same thing like: 1/4/0 -> Output 1 So in your KNX network, you will use 1/4/0 for setting the state of the Output 1 and 1/4/1 for reading the actual state of the same Output 1 |
Hi @ss83 Have you managed to solve your issue? |
Hi Seems that your question has been addressed. Closing this issue. Please, reopen if needed. Thanks. |
Hi ascillato2, sorry for late answer, was out with the kids for some days. Unfortunatelly the Tasmota is missing some commands, but this was the same with my own sketch using the envy library. I think this is more or less a problem on the knx-wifi-connection itself. Thanks for your help! Regards |
Hi,
No need to apologize. I was asking just for follow up the issue. It is all ok.
Great! 👍
Yes, exactly. Multicast relays on your router configuration. For improve that, try:
Hope this helps. Thanks |
Tasmota now has a KNX Enhanced Communication option that solves that issue for several brands of routers. |
Sorry for using this old issue, but it seems, that Tasmota has still the same behaviour like mentioned here. KNX devices have the possibility to declare which GAs are responding to read requests (read flag in ETS). |
Hi, the Tasmota knx driver and knx library is small and optimized for small RAM and flash usage. For your usecase, Tasmota allows you to have a group address you want to read the state by adding it to the "group address to read data from" You can have in the "group address to read data from" 2 different address for the same thing like: 1/4/0 -> Output 1 So in your KNX network, you will use 1/4/0 for setting the state of the Output 1 and 1/4/1 for reading the actual state of the same Output 1 By using in this way, there is no need to add more RAM and FLASH usage. The checkbox you are requesting will make the driver to start listening to another GA, consuming more flash and RAM. In the actual way, the resources usage is very low. Please, try it. Thanks |
I use it at home like this and the initial reading of the KNX network works fine with relays state, temperature, etc. |
Hi , I have a similar problem as ss83. I also tried to implement the solution as described, but it ends in a loop on the KNX bus. I need on the KNX group address 3/5/3 (Schalten = Switch -> 0 or 1) also state from Tasmota when a ReadREq form KNX Bus is comming. The solution which are described here #3165 (comment) also ends in a loop. Setup Output 1 -> 3/5/3 If I configure this, it comes to a loop on the bus. thx and regards |
Hello, As always I do realy apreciate all the effort thats been put in this devolpment for tasmota knx. I have exacly the same problem! Cheers:) |
Hi, You can not use the same GA for input and output. That is a loop and won't work. Tasmota answer the state when a read request arrives to the "group address to receive data". If you make HA to read the GA "group address to receive data", Tasmota will work as expected. You need to put different GA for "group address to receive data" and "group address to send data". |
Thanks for answering! Could you maybe think with me how to make this situation possible? Sonof relay with a switch button. Home assistant. It is working indeed because I used both adresses group adress to recieve data when testing. What is logic in my brain that the group state would indeed be at group adress to send. because then I can send the relay change to the same adress as 2/2/56. Or am i missing something? |
I'm a little bit struggeling with the KNX function. In the Wiki it says that for rules Tasmota can "receive a KNX read request" which would be done with a rule triggered by "KNX RX 1" for example.
Some KNX device like logic engines or visualisations perform some sort of init scan when they start up to get the actual state on the other devices. In this case they send out a read request and don't expect a normale write as answer.
From the knx lib of envy I know that there are two ways to write data to the knx bus. The first one is something like "knx.write1Bit" which results in a message on the bus with the value or state. The second one is "knx.answer1Bit" which will be recognized by the knx devices on the bus as a reponse to a read request. The normale write is not recognized for this, even if it is triggered as "KNX TX 1" within the rule.
So it would be fine to have not only the "KNX TX 1" for sensding to be knx bus but also a subject for an answer.
I think the most comfortable way to realize that would be to have a checkbox beside the defined group adresses to enable theses adresse to answer on an read request ( knx.answer1Bit ). I think this would only be needed on the sending group adresses.
Regards
Sven
The text was updated successfully, but these errors were encountered: