Posnet Server – Status Drukarki

Komunikując się z drukarką fiskalną, należy co pewien czas sprawdzać jej status, czyli

  • czy drukarka jest online,
  • czy jest gotowa do przyjęcia do wydruku kolejnego paragonu/faktury,
  • czy nie kończy (lub skończył) się papier lub czy drukarka jest podłączona do zasilania

Status Online

Sprawdzenie statusu online można wykonać wysalając polecenie /status lub /devicestatus, przykładowo:

Dodatkowo, PosnetServer posiada funkcjonalność automatycznego monitorowania drukarki i zapisywania stanu w logach. Feature domyślnie jest wyłączony i aby go włączyć, należy w pliku konfiguracyjnym config.json, w sekcji posnet.ping, ustawić wartość atrybutu “enabled” na true.

Pole “interval” definiuje jak często PosnetServer ma sprawdzać status drukarki. W tym przykładzie jest to 60 000 ms (60s).

STATUS GOTOWOŚCI do wydruku

W tym celu należy przeanalizować odpowiedź z polecenia /devicestatus. Przykładowy response może wyglądać następująco:

  • mechanism.ok – Jeśli “true”, wówczas oznacza to że udało się uzyskać wartości “status” oraz “callservice”. W przeciwnym wypadku pola “status” oraz “callservice” nie są uzupełniane i należy zweryfikować połączenie z drukarką,
  • mechanism.status – Jeśli pole ma wartość “ok”, drukarka jest gotowa do przyjęcia nowego wydruku, w przeciwnym wypadku pole zawiera informację o błędzie, przykładowo: lever_open, mechanism_unavailable, cover_open, no_paper, wrong_temperature_or_power, temporal_power_issues, cutter_error, power_issue, cover_open_while_cutting
  • mechanism.callservice – Jeśli “true” wówczas należy wezwać serwis drukarki fiskalnej, kasjer najprawdopodobniej nie będzie w stanie używać drukarki fiskalnej.

Aby jednoznacznie potwierdzić że drukarka jest gotowa do przyjęcia kolejnego wydruku obydwa pola mechanism.status i device.status muszą mieć wartość “ok”.

Statusy dodatkowe

W tym celu również należy przeanalizować odpowiedź z polecenia /devicestatus.

  • device.ok – Jeśli “true”, wówczas oznacza to że udało się uzyskać wartości “queueempty”, “paperending” oraz “chargerconnected”. W przeciwnym wypadku pola “queueempty”, “paperending” oraz “chargerconnected” nie są uzupełniane i należy zweryfikować połączenie z drukarką,
  • device.status – Jeśli pole ma wartość “ok”, drukarka jest gotowa do przyjęcia nowego wydruku, w przeciwnym wypadku pole zawiera informację o błędzie, przykładowo: in_menu, waiting_button, waiting_action
  • device.chargerconnected – Jeśli “true” wówczas drukarka jest podłączona do zasilania, w przeciwnym wypadku pobiera prąd z wewnętrznego akumulatora (jeśli model z którym pracujemy posiada wbudowany akumulator)
  • device.paperending – Jeśli “true” wówczas paper w drukarce wkrótce się skończy. Należy poinformować kasjera aby możliwie najszybciej wymienił papier w drukarce.
  • device.queueempty – Jeśli “true”, wówczas drukarka jest aktualnie w trybie przetwarzania polecenia. Jeżeli z drukarką komunikuje się jedynie PosnetServer, wówczas wartość zawsze będzie “false”.

Share This

What's your reaction?
0Smile0Lol0Wow0Love0Sad0Angry

Leave a comment