arendst / Tasmota

Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
https://tasmota.github.io/docs
GNU General Public License v3.0
22.12k stars 4.79k forks source link

KNX ignored requests #2738

Closed gtortone closed 6 years ago

gtortone commented 6 years ago

Make sure these boxes are checked [x] before submitting your issue - Thank you!

I configured a Wemos D1 mini with Sonoff-Tasmota as following:

knx-ss

I launched KNXd with following command line:

server/knxd -e 0.0.1 -D -R -S -E 15.15.0:8 -i -I eth0

I also added a static route for multicast network 224.0.23.12:

route add -net 224.0.23.12 netmask 255.255.255.255 eth0

Using knxtool I'm able to turn off/on the relay on D7 pin

tools/knxtool off ip:127.0.0.1 2/2/8
or
tools/knxtool on ip:127.0.0.1 2/2/8

The problem is that 'sometimes' if I quickly switch on and off the relay the status of relay does not change from last status... it seems that the KNX request is ignored from Sonoff-Tasmota;

I verify that KNX frame is received correctly by KNXd because I'm using knxtool in a different shell to 'spy' KNX messages...

tools/knxtool vbusmonitor1 ip:localhost

(Please, remember to close the issue when the problem has been addressed)

ascillato commented 6 years ago

Hi,

First of all, you have a problem in your config.

If you send Temperature AND Humidity to the same group address you will not be able to know which one you are receiving there. You need to set different Group Address for those.

Just as example I share a piece of my configuration.yaml from HomeAssistant:

sensor:  
  - platform: knx
    name: Outside Temperature
    address: '4/1/1'
    type: 'temperature'
  - platform: knx
    name: Outside Humidity
    address: '4/1/2'
    type: 'humidity

There you see that HomeAssistant is receiving data from different group address. You need to separate those, if not you will see only the last value sent that will be humidity.

The problem is that 'sometimes' if I quickly switch on and off the relay the status of relay does not change from last status... it seems that the KNX request is ignored from Sonoff-Tasmota

Multicast have some issues on some wifi routers and much more with wifi repeaters. The problem is not that Tasmota is ignoring. Is that is not receiving the telegram. I understand that you can see some telegrams that should be sent to Tasmota on other device but also that depends on how that device manage the IGMP with the router. ESP is very picky with some IGMP Router versions and the router forgets to send data to the ESP. Besides this, you are using a compiled version with "Core":"2_4_1" that has some bugs and is not very stable. That's why it is recommended to use v2.3.0 that is more stable.

Try to see if in your wifi router's configuration you have:

That should improves the communication

gtortone commented 6 years ago

Thanks a lot for your explanations ! I have some elements to further investigation on this subject...

ascillato commented 6 years ago

:+1:

if I quickly switch on and off the relay the status of relay does not change

Soon I will release a little enhacement for KNX communication for that.

ascillato commented 6 years ago

Hi, can you test the actual v5.14.0a that has an improvement on KNX ? Thanks.

gtortone commented 6 years ago

I tested it with 5.14.0a (git pull 5 minutes ago) and core 2.3.0 but the behaviour is always the same I described in the issue... sorry about this bad news...

it could be a fault of my router that is 'branded' from my ADSL company and it has not options about IGMP and Multicast (or they are hidden from home-user)