To tak dla poszerzenia zrozumienia, jak działa AFE i prawdopodobnie jest tutaj ukryty problem:
- gdy z AFE wysyłane jest żądanie ON lub OFF po MQTT dla konkretnego IDX
- to Domoticz po otrzymaniu tej informacji zmienia wirtualny (fizyczny) sprzęt na ON lub OFF
- a następnie wysyła do MQTT Brokera wiadomość MQTT ON lub OFF dla tego samego IDX
- AFE przechwytuje tę wiadomość i ja przetwarza.
- teoretycznie nie ma tutaj problemu, bo
- z AFE wysyłam ON do Domoticz i Domoticz powrotnie wysyła ON - czyli stany się nie zmieniają
- ale jak się przełącza szybko, szybciej niż transmisja i przetwarzanie to Domoticz z AFE wpadnie w pętlę: AFE będzie wystał ON Domoticz OFF i tak w nieskończoność
- ten efekt szczególnie widoczny jest przy HTTP bo tam łatwo wprowadzić w taką pętlę - zabezpieczeniem jest parametr &source=domotcz w komendzie http (wtajemniczeni wiedzą o co chodzi)
- Zrobiłem w aktualny AFE (MQTT) taki myk, że jak AFE wyśle MQTT ON/OFF - to następne żądanie dla tego samego IDX przechodzącego z Domoticz AFE nie przetwarza - wycina go
Założenie 1:
- ta wersja beta może nie wysyła powrotne MQTT - natomiast AFE oczekuje go, więc efekt może być taki, że wycina co drugie żądanie
Założenie 2:
- pozmieniało się coś innego w MQTT DOmoticz API 😉
Zaraz wypuszczę wersje T6 2.1.0 - wgram kod do github i przyjrzę się Domoticz beta + AFE