PrintDeck
Zbiera dane Twoich drukarek
Wysyłaj status drukarek i zdarzenia wydruku do własnego lokalnego brokera. Twórz panele, powiadomienia i automatyzacje w wybranych przez siebie narzędziach.
PrintDeck wysyła ujednolicone dane drukarek do lokalnego brokera, np. Mosquitto. Aplikacje subskrybują aktualizacje, zamiast cyklicznie odpytywać REST API. HTTP i MQTT mogą działać niezależnie lub jednocześnie.
Zbiera dane Twoich drukarek
Dostarcza aktualizacje subskrybentom
MosquittoPanele, światła, powiadomienia
Node-RED · Home AssistantZacznij od jednej drukarki i jednej subskrypcji. Home Assistant jest opcjonalny.
Użyj lokalnego brokera MQTT, np. Mosquitto. PrintDeck i Twoja aplikacja łączą się z nim jako klienci; PrintDeck sam nie jest brokerem. Utwórz dane logowania i nadaj PrintDeck uprawnienia do publikowania, a aplikacji do odczytu jego tematów.
W Web Config otwórz Ustawienia urządzenia > Unified API. Włącz MQTT, podaj adres brokera, port i dane logowania, a następnie zapisz i sprawdź połączenie. Dopasuj ustawienia TLS do brokera. Dla własnej aplikacji pozostaw wykrywanie Home Assistant wyłączone.
Podłącz klienta MQTT do tego samego brokera. Skopiuj główny temat MQTT z Web Config i dopisz /printers/+/status. Znak + pasuje do każdej zapisanej drukarki. Wybierz drukarkę online na PrintDeck i poczekaj około pięciu sekund na świeże dane.
Główny temat ma postać printdeck/<printdeck_id>/v1. Skopiuj swój temat z Web Config i dopisz jeden z tych sufiksów. Użyj ID drukarki z katalogu printers albo + dla wszystkich drukarek.
Przeczytaj pełną dokumentację API/printersKatalog zapisanych drukarek wraz z ID. Zachowywany na brokerze.
/printers/+/statusBieżący stan zadania, postęp, temperatury i dziennik ostatnich zdarzeń. Wiadomości na żywo, mniej więcej co pięć sekund.
/printers/+/eventsPoszczególne zaobserwowane zdarzenia, np. started, completed lub milestone. Użyj event_type do wyboru akcji, a event_id do identyfikacji powiadomienia.
/availabilityZachowywany stan online lub offline połączenia PrintDeck z brokerem. Każda drukarka ma własne status.connection.state w wiadomości statusu.

Wybierz jedną ścieżkę dla każdego PrintDeck, aby zachować jeden zestaw encji.
Dane tylko do odczytu, wspólne dla obu połączeń
MQTT używa tych samych ujednoliconych pól drukarki co REST, z dodatkowymi metadanymi przesyłania. Aktualizacje statusu docierają mniej więcej co pięć sekund; nieaktywne drukarki nadal korzystają z ustawienia odświeżania listy drukarek. Bieżąca telemetria i zdarzenia nie są zachowywane na brokerze.
Przed użyciem odczytu sprawdź status.connection.state, status.connection.stale i status.connection.detail_level. Nieznane wartości to null. Porównuj _mqtt_generation w katalogu i wiadomościach statusu; po jego zmianie usuń stare odczyty.
Zdarzenia opisują zaobserwowane zmiany; krótkie przejścia mogą zostać pominięte. Pojedyncze zdarzenia używają QoS 0 i nie są zachowywane ani odtwarzane. Dziennik statusu przechowuje osiem ostatnich obserwacji. Śledź stream_id i sequence, aby uniknąć powtórnych akcji, a po ponownym połączeniu ustal punkt odniesienia bez wywoływania akcji. Pełny kontrakt zdarzeń opisuje instrukcja API.
Sprawdź adres brokera, port, TLS i uprawnienia do tematów. Użyj dokładnego głównego tematu z Web Config. Bieżący status nie jest zachowywany, więc poczekaj na kolejną aktualizację. Dane logowania do brokera są niezależne od tokenu REST.
Gdy TLS jest włączone, PrintDeck sprawdza certyfikat i nazwę brokera. W razie potrzeby dodaj własny certyfikat CA. Zapisane sekrety pozostają na PrintDeck. Po restarcie brokera PrintDeck łączy się ponownie i publikuje świeże dane.
Przed zmianą brokera lub przejściem na MQTT przez HACS wyłącz Discovery przy dostępnym starym brokerze i poczekaj na zakończenie porządkowania. Jeśli broker jest nieosiągalny, jego zachowane wpisy Discovery mogą wymagać ręcznego usunięcia. Zmiana nazwy zachowuje tożsamość drukarki; usunięcie profilu usuwa jej konfigurację Discovery.
Pełny opis tematów, pól wiadomości i zasad przesyłania znajdziesz w instrukcji API.