Cześć,
mam pytanie - czy jest jakiś limit na ilość wywołań directlink w jednostce czasu? Jeśli tak to jaki on jest? Ostatnio zaczęły mi się pojawiać błędy "(429) Too Many Requests". Wykorzystuję sporo tych wywołań w swoich projektach, ale problem zaczął się pojawiać od małych kilku tygodni. Po zrobieniu doświadczeń i pokodowania logów błąd pojawia sie cyklicznie co pewną ilość wywołań (233). Liczbę tę zaobserwowałem jednym urządzeniu, ale jednocześnie wiele różnych jest wołanych w różnych odstępach czasu - stąd może to byc taka "abstrakcyjna" liczba.
Ponieważ mam ponawianie - to po 9 kolejnych próbach (3 razy po 3 próby) wszystko wraca do normy i wykonuje sie poprawnie kolejne 233 razy...
Limit na ilość wywołań directlink w jednostce czasu
-
KaDet
- Posts: 52
- Joined: Fri Nov 27, 2020 5:06 pm
- Location: Dąbrowa Górnicza
Dzięki za odpowiedź - jakoś nigdy tam nie dotarłem. Niestety wygląda na to, ze osiągam limit wywołań do API. I to znów się kłania moje pytanie/propozycja o mozliwość odczytu danych z kanału poprzez Clouda a nie directlinki. Rozumiem, że temat nie jest oczywisty (bo juz kiedyś prowadzilismy dyskusję) - to czy jako workaround moge prosić o zwiększenie limitu? Niedługo tez pewnie (taki plan) moge osiągnąc limit ilości urządzeń... 
Pozdrawiam
Pozdrawiam
-
klew
- Posts: 13906
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Cloud ma API, ale też ma jakieś ograniczenia co do ilości zapytań.
Masz też MQTT - chyba najprościej się przez to integrować.
Napisz może co tam robisz i jak tego używasz, to będzie łatwiej coś poradzić
Masz też MQTT - chyba najprościej się przez to integrować.
Napisz może co tam robisz i jak tego używasz, to będzie łatwiej coś poradzić
Najlepsze suple dla Twojego domu 
-
KaDet
- Posts: 52
- Joined: Fri Nov 27, 2020 5:06 pm
- Location: Dąbrowa Górnicza
Generalnie chodzi o to, że mam szereg urządzeń i czujników i chodzi o to, że urządzenia działają różnie w zależności od stanu czujników.
Przykładowo - lampa UV działa tylko wtedy gdy załączona jest pompa wody, zawory podlewania zamykają się (by się nie przegrzać) w przypadku, gdy woda nie płynie (np. przypadkiem zostanie zamknięty zawór główny), termostaty zaczynają lub kończą prace w zależności wartości temperatury zewnętrznej itp.
Ciekawostka: limit żądań osiągam na 57 sekund przed upłynięciem 1h....
Przykładowo - lampa UV działa tylko wtedy gdy załączona jest pompa wody, zawory podlewania zamykają się (by się nie przegrzać) w przypadku, gdy woda nie płynie (np. przypadkiem zostanie zamknięty zawór główny), termostaty zaczynają lub kończą prace w zależności wartości temperatury zewnętrznej itp.
Ciekawostka: limit żądań osiągam na 57 sekund przed upłynięciem 1h....
-
KaDet
- Posts: 52
- Joined: Fri Nov 27, 2020 5:06 pm
- Location: Dąbrowa Górnicza
Te które mogę to juz mam na reakcjach. Bo reakcje mają ograniczona funkcjonalność - tam zazwyczaj jest to nieco bardzie skomplikowane.
To MQTT moze być jakimś kierunkiem, ale musze rozpoznać. Brokera sobie postawię na Windzie lub malince, ale logikę musze przemyśleć, bo jak zapewne jesteś w stanie zobaczyć mam parę urządzeń i większość to DIY. Zmiana softu będzie chwilę trwała (jak już wymyśle jak i przygotuję sobie narzędzia).
Tymczasowo będę potrzebował zwiększenia limitu, ze swojej strony zmniejszę częstotliwość odpytywania tam gdzie mogę - bo mam w planie dodanie kilku nowych urządzeń, które też korzystają z linków.
To MQTT moze być jakimś kierunkiem, ale musze rozpoznać. Brokera sobie postawię na Windzie lub malince, ale logikę musze przemyśleć, bo jak zapewne jesteś w stanie zobaczyć mam parę urządzeń i większość to DIY. Zmiana softu będzie chwilę trwała (jak już wymyśle jak i przygotuję sobie narzędzia).
Tymczasowo będę potrzebował zwiększenia limitu, ze swojej strony zmniejszę częstotliwość odpytywania tam gdzie mogę - bo mam w planie dodanie kilku nowych urządzeń, które też korzystają z linków.
-
klew
- Posts: 13906
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
MQTT działa na serwerze Supli - nie musisz niczego zmieniać w sofcie urządzeń. Dla DIY nie ma przygotowanej implementacji "lokalnego MQTT" na urządzeniach.KaDet wrote: Fri Oct 17, 2025 11:48 am Te które mogę to juz mam na reakcjach. Bo reakcje mają ograniczona funkcjonalność - tam zazwyczaj jest to nieco bardzie skomplikowane.
To MQTT moze być jakimś kierunkiem, ale musze rozpoznać. Brokera sobie postawię na Windzie lub malince, ale logikę musze przemyśleć, bo jak zapewne jesteś w stanie zobaczyć mam parę urządzeń i większość to DIY. Zmiana softu będzie chwilę trwała (jak już wymyśle jak i przygotuję sobie narzędzia).
O limity pisz do Przemka - najlepiej napisz maila na [email protected] z maila na którym masz konto w Supli
Najlepsze suple dla Twojego domu 
-
KaDet
- Posts: 52
- Joined: Fri Nov 27, 2020 5:06 pm
- Location: Dąbrowa Górnicza
Do Przemka oczywiście napiszę.
Mam jednak pytania:
1. Jak rozumiem mogę wskazać własnego brokera (lokalnego) i ustawić topic jaki będzie wysyłany (sprawdziłem, ze w UI urządzenia jest, ale potwierdzam)
2. w DIY (klasy mqtt*) mogę zasubskrybować konkretne topic'i (jeden? więcej?) i analizując payload otrzymać informacje o wartościach, stanie przekaźnika itd?
Jeśli tak jest jak powyżej - to wydaje się, ze mogę osiągnąć to co chcę. Przykładowo termometr publikuje swoją temperaturę a wszystkie urządzenia, które go zasubskrybowały otrzymają informacje o tej temperaturze. To juz mogę wykorzystać do logiki mojego działania. Mogę też pokryć to jakąś klasa pochodna o termometru i widoczne bedzie jako dodatkowy termometr. Czy to co napisałem klei sie?
I pytanie o same limity - ten limit wywołań API dotyczy tylko directlink'ów, czy wszystkich odwołac do clouda przez urządzenia.
Mam jednak pytania:
1. Jak rozumiem mogę wskazać własnego brokera (lokalnego) i ustawić topic jaki będzie wysyłany (sprawdziłem, ze w UI urządzenia jest, ale potwierdzam)
2. w DIY (klasy mqtt*) mogę zasubskrybować konkretne topic'i (jeden? więcej?) i analizując payload otrzymać informacje o wartościach, stanie przekaźnika itd?
Jeśli tak jest jak powyżej - to wydaje się, ze mogę osiągnąć to co chcę. Przykładowo termometr publikuje swoją temperaturę a wszystkie urządzenia, które go zasubskrybowały otrzymają informacje o tej temperaturze. To juz mogę wykorzystać do logiki mojego działania. Mogę też pokryć to jakąś klasa pochodna o termometru i widoczne bedzie jako dodatkowy termometr. Czy to co napisałem klei sie?
I pytanie o same limity - ten limit wywołań API dotyczy tylko directlink'ów, czy wszystkich odwołac do clouda przez urządzenia.
