How to make A Triggered Event automatically print to a reciept Printer on the network

I have a need to use an old Working Receipt Printer that I have that will print a couple lines of data on its receipt paper if an Event is triggered.
Example (Hypothetical)l : Say My Motion Detector in my Living room detects motion, and then automatically sends a couple lines of text over the network to my tiny receipt printer , Something like “Motion was detected on (Date), (Time) in the Living Room”.

The Printer has has a parallel interface to USB adapter that is plugged into the USB print server port on my Router.
It already works if I send a simple document in text from my home computer to the Network Receipt Printer attached to the Routers USB Print Server. However its not an HA supported printer like HP or Canon. It’s just a Simple Network Receipt printer that only prints Text. (Formerly used as a Cash Register Receipt Printer, in my Case it was once attached to my old Caddx NX8 Security System).

So to Clarify: I need to know how to simply send a Notification in Plain Text from Home Assistant to a Networked Receipt Printer that is plugged into my Home Router.

Hope that makes sense. Thank you in advance for your help.

1 Like

Do you have a command line utility to print text from the connected server to that printer? If so, you can create a shell command and use it as an action in your automation. If there exists a Python library for interfacing with that printer, a Python script would work too.

1 Like

I’m rather new at Home Assistant. But FYI. My HA runs on a Raspberry Pi 3b+.
My concept was too use my Netgear Router for the print server as it has a USB port for exactly that purpose.
I do however have a Windows Server with Windows 2016 is on it so it could be a print server also.
Keep in mind there are no needed drivers for the little Citizen receipt printer. It’s just a generic dot matrix printer.
So in windows I just use a generic dot matrix driver. That works fine.
So rather the win server hosts the printer or the Netgear Router doesn’t matter to me.
And another option is the Raspberry PI hosting the printer also if that’s possible.
Hope that answers your question. Thanks for your help.

How do you send commands to print something now?

What does the printer accept over the network?

That’s not really HA related so far.

  • Your printer is hooked to your router
  • You talk to the printer over the network
  • A protocol of some kind is used for that

2 options:

  • The protocol used is proprietary to netgear, and the only way to print is to use the windows specific netgear driver that you likely installed → likely no way to use the printer from Linux, and thus HA
  • The protocol is an open one (Internet Printing Protocol - IPP by example) → there is hope to be able to use it from HA

I’m not aware of any Netgear Driver needed. The routers USB port just allows the printer to be shared on the network. it shows up on all my networked devices without any specific drivers needed.
I can equally plug it into a local PC and share it across the network, again shows up and all networked devices that have print functions.
As far as driver, I think it just uses a generic Dot Matrix driver for any PC, I think even a Generic HP driver even works.
So if Home Assistant can allow printing to a Network printer, then that should be the way to go.
If easier. As I read the protocol is called CUPS?

Thanks for the ideas and thoughts…

Cups is what we needed. Command-Line Printing and Options

That sounds like what I need to find out.
I’m entry level at best in python or Home Assistant but I’m learning.
Any Windows is based computer in my house can see the little receipt printer. Puppy Linux can find the printer also on another PC that I have. For what that’s worth. Lol

The shell command sounds like what I need. If there is such an interface to run this from home assistant or a Python Script that would be awesome. Thank you for your assistance.

1 Like