RPC

Informacja

Aktualnie jesteśmy w trakcie migracji na nowy system rpc. Po zakończeniu migracji pojawią się nowe możliwości i stany. Sama forma pozostanie bez zmian.

Remote proxy call jest to narzędzie które ma służyć do wykonywania zdalnych poleceń na jakiś urządzeniach. Polecenie można wykonywać zarówno na proxy jak i na settoboxach. Odpowiedź rpc jest zawsze taka sama i posiada strukturę:

{'status': ... , 'result': ..., 'task_id': ...}

Dostępne statusy

  • PENDING - oczekuje na wykonanie lub jest w trakcie wykonania

  • ENDING* - zadanie jest w trakcie zakończania

  • RECEIVED* - zadanie zakolejkowane

  • STARTED* - zadanie jest wykonywane

  • SUCCESS - zadanie zakończyło się sukcesem

  • FAILURE - zadanie zakończyło się porażką

  • REVOKED* - system odmówił wykonania zadania (zadanie zadane wielokrotnie)

  • RETRY* - zadanie próbuje wykonać się ponownie

zadania oznaczone * nie sa używane przez obecny silnik rpc

Dostępne są metody

class Stb
classmethod arp(request, mac)

Wypisz rezultat wywołania komendy arp, pokazujacej cache kernelowej tablicy arpów.

Parametry:

mac (string) – Adres MAC urządzenia

classmethod factory_reset(request, mac)

Przeprowdź przywrócenie ustawień fabrycznych. Usuwa wszystkie dane aplikacji w tym wszystkie lokalne ustawienia i przeprowadza reboot.

Parametry:

mac (string) – Adres MAC urządzenia

classmethod iperf(request, mac, host=None, port=None, udp=False, reverse=False)

Startuje klienta iperf3. Wymaga do poprawnego działania serwera iperf3.

Parametry:
  • mac (string) – Adres MAC urządzenia

  • host (string) – Host do przetestowania

  • port (int) – Port; Domyślnym portem dla iperf3 jest 5201

  • udp (bool) – Użyj udp zamiast tcp

  • reverse (bool) – Odwróć kierunek tesowania

classmethod ota_update(request, mac, tag)

Pobierz wskazany firmware i przeprowdz aktualizację oprogramowania. To prowadzi do restartu urządzenia i może potrwać długo.

Parametry:
  • mac (string) – Adres MAC urządzenia

  • mac – Tag firmware’u do zinstalowania

classmethod ping(request, mac, host)

Wywołuje ping.

Parametry:
  • mac (string) – Adres MAC urządzenia

  • host (string) – Host do przetestowania

classmethod reboot(request, mac)

Zresetuj urządzenie. Zupełnie jak restart prądowy urządzenia.

Parametry:

mac (string) – Adres MAC urządzenia

classmethod reload_db(request, mac)

Zamknij aplikację telewizyjną. Usuń wszystkie pobrane dane i pobież je na nowo z serwera. Pomocne gdy coś się zmieniło dla urządzenia, jak na przykład pakiet, i chcesz bez czekania kilku godzin wymusić pobranie nowej listy kanałów.

Parametry:

mac (string) – Adres MAC urządzenia

classmethod set_av_output(request, mac)

Ustawia domyśną wartość rozdzielczości oraz wyjścia audio. Przy hdmi ustawia tryb 720p a przy cvbs ustawia tryb PAL. Wyjście audio ustawiane jest zawsze na PMC. :param mac: Adres MAC urządzenia

classmethod traceroute(request, mac, host)

Wywołaj traceroute

Parametry:
  • mac (string) – Adres MAC urządzenia

  • host (string) – Host do przetestowania

classmethod uptime(request, mac)

Pokazuje uptime urządzenia.

Parametry:

mac (string) – Adres MAC urządzenia

class Proxy
classmethod arp(request, hostname)

Przeładowanie konfiguracji. Wynik przeładowania może posiadać wartości:

  • OK_CHANGED

  • OK_UNCHANGED

  • ERROR_NETCHANGED

  • ERROR_CONNECT

  • ERROR_*

Ostatnia wartość zawiera zamiast * szczegółowy błąd

Parametry:

hostname (string) – nazwa hosta który ma zostać przeładowany

Zwraca:

Wynik przeładowania

Typ zwracany:

string

classmethod ifaces(request, hostname)

Przeładowanie konfiguracji. Wynik przeładowania może posiadać wartości:

  • OK_CHANGED

  • OK_UNCHANGED

  • ERROR_NETCHANGED

  • ERROR_CONNECT

  • ERROR_*

Ostatnia wartość zawiera zamiast * szczegółowy błąd

Parametry:

hostname (string) – nazwa hosta który ma zostać przeładowany

Zwraca:

Wynik przeładowania

Typ zwracany:

string

classmethod ping(request, hostname)

Przeładowanie konfiguracji. Wynik przeładowania może posiadać wartości:

  • OK_CHANGED

  • OK_UNCHANGED

  • ERROR_NETCHANGED

  • ERROR_CONNECT

  • ERROR_*

Ostatnia wartość zawiera zamiast * szczegółowy błąd

Parametry:

hostname (string) – nazwa hosta który ma zostać przeładowany

Zwraca:

Wynik przeładowania

Typ zwracany:

string

classmethod reload(request, hostname)

Przeładowanie konfiguracji. Wynik przeładowania może posiadać wartości:

  • OK_CHANGED

  • OK_UNCHANGED

  • ERROR_NETCHANGED

  • ERROR_CONNECT

  • ERROR_*

Ostatnia wartość zawiera zamiast * szczegółowy błąd

Parametry:

hostname (string) – nazwa hosta który ma zostać przeładowany

Zwraca:

Wynik przeładowania

Typ zwracany:

string