Hi @byackee1
YW! All’s good, it was just meant as a little tip for other users with their Homey & printers on different subnets. Thanks again for this nice app!
And to be complete, here’s what it reports
(app v1.1.3)
Hi @byackee1
YW! All’s good, it was just meant as a little tip for other users with their Homey & printers on different subnets. Thanks again for this nice app!
And to be complete, here’s what it reports
(app v1.1.3)
I use a Brother MFC-L2827DW black-and-white laser printer. Until now, I’ve been importing the printer’s data into Homey via Home Assistant. Now that your app is available, I’ve given it a go.
With SNMP version v2c, I can’t establish a connection at all. With v1, a lot of data – such as the toner level – isn’t displayed. Is there a solution to this?
With SNMP version v2c, I can’t establish a connection at all.
With v1, a lot of data – such as the toner level – isn’t displayed.
Two separate things, and only one of them I can answer today.
The missing toner level is this app’s one known gap, and Brother is the brand it is about. Every level it shows comes from the standard Printer-MIB supply table. Brother leaves that table flat — 0 or 100 regardless of the real level — and puts the actual percentages in a private, undocumented OID. I have deliberately not implemented that: reverse-engineering a vendor’s private MIB without the printer in front of me means guessing at numbers, and a made-up toner level is worse than none at all.
You have the printer, which changes that. If you are willing to run a couple of SNMP walks against it and paste the output, I will implement it properly rather than by guesswork. That is the only way this gets fixed for MFC-L2827DW owners, and I would rather do it from your machine’s real answers than from a forum post someone wrote about a different Brother model in 2019.
The v2c failure is something else, and I would rather pin it down than assume. During pairing the app probes v2c first and falls back to v1 on its own, so if it settled on v2c your printer must have answered that first question. A table walk is a different shape of request though — GETBULK under v2c — and some agents answer a plain GET happily while failing that.
That is a hypothesis, not a diagnosis. I have been wrong three times in this thread by reasoning ahead of the evidence, so I will not tell you it is the answer until something shows it.
What would settle it: open the app’s own settings page — Homey Settings → Apps → Network Printer → Configure. It reads your printer live and prints, for each supply, the raw level / maxCapacity unit · class N, plus the exact SNMP error when a read fails. That single screen distinguishes “the table is empty”, “the table is flat”, and “the table was never read at all”, which are three different problems with three different fixes.
If you paste that for both v1 and v2c, I will know which one you have.
@Peter_Kawa — thanks for the screenshots, good to see 1.1.3 settled in on the CP1025nw.
That is exactly the right set of screenshots, and the Home Assistant one changes what I told you an hour ago. I was wrong about Brother, and specifically about your model.
I said Brother leaves the standard supply table flat at 0 or 100. Yours does not. It answers:
Black Toner Cartridge
-3 / -2 tenthsOfGrams · class 3 some left
-3 is not a bad number, it is the Printer-MIB’s way of saying “there is some left and I will not tell you how much”. So your printer is not lying in the standard table — it is declining to answer there, which is a different problem with a different fix. Sorry for sending you off with the wrong description.
Home Assistant showing Verbleibender Schwarz-Toner 92 % proves the number exists and is reachable — it just is not in the standard table. HA’s Brother integration reads Brother’s private OIDs to get it.
Everything else you and HA see agrees exactly, which is the reassuring part:
| this app (v1) | Home Assistant | |
|---|---|---|
| Drum | 78 % · 11630 / 15000 | 78 % · 11.630 Seiten |
| Pages | 3370 | 3.370 Seiten |
| Status | idle · “Energiesparen” | energiesparen |
So the v1 read is correct as far as it goes. Only the toner number is missing, and only because your printer keeps it somewhere I do not look yet.
What would let me fix it properly. A walk of Brother’s private branch, from any machine on that network:
snmpwalk -v1 -c public 192.168.1.147 1.3.6.1.4.1.2435
Paste the output — or the part around the toner if it is enormous — and I will implement it from your printer’s actual answers rather than from a forum post about a different Brother. That is the difference between supporting your model and guessing at it.
Two other things from your screenshots.
Your Drum Unit is the first measure_part row anyone has confirmed on real hardware. Every printer I could test on has no separate maintenance parts at all, so that path shipped on reasoning alone. It works. Thank you — genuinely useful.
And the v2c puzzle got narrower. Your sweep result found the printer over v2c and read its model and serial, so plain SNMP GETs work on v2c; it is the reads after that which time out. That still points at how the tables are walked rather than at v2c itself, but I am not going to call it until I have seen it. Stay on v1 for now — as your screenshot shows, it gives you everything except the toner number, and that gap is the same on either version.
the app settings found my printer, I cant figure out how to install it on homey my printer is a Epson Wf-3530
I don’t understand exactly what you need from me. Please explain to me exactly what I need to do, as I’m not an expert.
You need to add a new device to your Homey and select the Network Printer app during that process.
The developer is trying to find out what that actual messages are your printer is sending to Homey. Those messages are sent via the SNMP-protocol. The snmpwalk tool listens to those messages from your printer and displays them on your screen. It is a command line tool so you need to run the tool on your computer in a command/terminal window.
snmpwalk is available on Linux, a Mac, but not (by default) on Windows. If you use Windows, you can download a free alternative tool: SnmpWalk.
Whichever tool you use, open a command/terminal window. If you use the SnmpWalk tool then you need to open the command window in the directory that holds the tool.
Then paste and execute the command in the command window:
snmpwalk -v1 -c public 192.168.1.147 1.3.6.1.4.1.2435SnmpWalk -v:1 -c:public -r:192.168.1.147 -os:1.3.6.1.4.1.2435 -op:1.3.6.1.4.1.2436Copy the output from the tool here in this topic.
Not sure how much info it is (the max post is approx 30k characters on this forum), but you could copy it over in a ‘Hide Details’ block on this forum, using the following option:
By the way: was there an error in the command I suggested? I removed the trailing dot (which was not part of the command, so might have been confusing) and also corrected the case of the command (the standard command line tool of Windows does not look at the case, but PowerShell might).
@Undertaker good news — you can stop. The problem was my request, not your computer.
I sent you after Brother’s entire private tree: thousands of lines, exactly what you saw. The toner figure actually sits in one single value, and the very first line of your screenshot already told me what I needed.
So it is done. Brother keeps the toner percentage in its own private corner instead of the standard one — that is why the app could only say “some left”. Version 1.2.0 reads it there, the same way Home Assistant has been doing on Brother printers for years. It only fills in what was blank: your drum at 78 % and your page count were already right, and nothing touches them.
One thing I would still like from you once 1.2.0 is in the store: does the black toner then show around 92 %, like Home Assistant? I do not own a Brother, so you are the only one who can tell me.
And so that nobody has to go through this again, Settings now has a “Report what a printer answers” button. One press and you get a text you can paste straight into this topic. No tool to install, nothing to type. That is what I should have given you in the first place.
@SunBeech your command was fine. The only thing missing was the .\ that PowerShell insists on before a local program, which is a Windows quirk and not your mistake. Thank you for the Hide Details tip, and for getting @Ronwell sorted as well.
I have an Epson XP4200 … by the looks of it, your app works with my printer, but I cannot turn it on and off via the app. Is this due to the app or my printer?
@Undertaker small update: you do not have to wait for the store. A test version is ready now.
Open that link, install it, and have a look at your black toner. Does it show a number now, close to what Home Assistant tells you?
If yes, I send 1.2.0 to the store. If no, tell me — Settings now has a “Report what a printer answers” button, and one paste of that gives me everything I need without you touching a command line again.
@Dominique_Vanhessche that one is the app, and it is on purpose: it only reads. Levels, status, paper, page count — but no switch. Turning a printer on and off is not something the standard protocol it speaks can do, so there is no button to give you. Your XP4200 is fine.
I tried that yesterday nothing came up when selecting the device to install.
it worked today though, i got the printer installed. I tested power controls, they didn’t work.
Good that you were able to connect your printer.
As the developer indicated a few posts up, the protocol the app uses can only read status info from your printer. It cannot control it. Hence the power button is read-only (reflecting the availability status of the printer).
@Tom_Van_Zele your Canon started this one, and it ended somewhere larger than a single printer.
Your screenshot tells me more than you might think. R, C, PGY and MBK are there, named correctly — so your Pro-1000S does publish a supplies table, and the app is reading it. It simply refuses to put a number in it. That is a different problem from “no supplies at all”, and a far more fixable one.
1.3.0 Introducing IPP.
SNMP answers in full → nothing changes for you
SNMP leaves a level blank → IPP fills in that level, and never overwrites a number your printer already gave. A level read that way is labelled in Settings
No SNMP at all → the printer can now be added and read over IPP alone: levels, paper, status, and the printer’s own reason for having stopped
Finding a printer asks both protocols now — mDNS, the subnet sweep, and typing an address by hand
One honest limitation: IPP defines no printer-level page counter, so a printer read that way shows no page count. I would rather say that plainly than display a permanent zero.
Test version: https://homey.app/a/com.dataweavelabs.netprinter/test/
@Tom_Van_Zele — install that and look at your ink. If numbers appear, tell me and it goes to the store. If they do not, press Report what a printer answers in Settings and paste the result here: the report now has an IPP section, so it will show exactly what your Pro-1000S publishes and where. I wrote this against the specification, not against a Canon — I do not own one — so your machine is what turns it from correct-in-theory into working. ![]()
Anyone else whose supplies never appeared: same button, same paste. That report covers every brand now, not only Brother — that part shipped as 1.2.1.
@SunBeech thank you again ![]()
Though not relevant for my Lexmark printer, I just wanted to try the Report option in the new version of the app.
It seems the report is capped somewhere in the ‘private branch’ section with message
Stopped at 250 rows — this branch has more. Say so in the topic and I will point the next report at the part that matters.
I assume the IPP section comes after the private branch section?