Kyocera FS-1350DN printer

This is work in progress (read: neither complete nor perfect), but it works and I wanted to share it with you.

It’s valid for System Firmware 2H4_3000.006.003 / Engine Firmware 2H4_1000.005.001 (seems to be from 2006) but might also fit for other versions and other models.

If page http://<ipaddress>/start/start.htm exists and starts with a comment like this:

<!-- Kyocera Command Center                                              -->
<!-- for Project code 2GR                                                -->
<!--                                                                     -->
<!-- Copyright (C) 2006 KYOCERA MITA Corporation                         -->

your printer most probably will be compatible.

services/http.cfg

KyoceraFS1350DN.url=http://<ipaddress>/start/start.htm
KyoceraFS1350DN.updateInterval=1000

items/KyoceraFS1350DN.items

Number:Dimensionless FS1350DN_Toner_Percent "FS-1350DN Toner [%.0f %%]" {http="<[KyoceraFS1350DN:60000:REGEX(.*[^/]+TLevel\\[0\\]\\s*=\\s*(\\d+);.*)]"}
String FS1350DN_Display_Line1   "FS-1350DN Display [%s]"          {http="<[KyoceraFS1350DN:1000:REGEX(.*[^/]LCD\\[0\\]\\s*=\\s*\"([^\"]+)\";.*)]"}
String FS1350DN_Tray0_Papersize "FS-1350DN Tray 0 Papersize [%s]" {http="<[KyoceraFS1350DN:60000:REGEX(.*[^/]sCol2\\[0\\]\\s*=\\s*papersize_([^;]+?);.*)]"}
Number FS1350DN_Tray0_Capacity  "FS-1350DN Tray 0 Capacity [%s]"  {http="<[KyoceraFS1350DN:60000:REGEX(.*[^/]sCol4\\[0\\]\\s*=\\s*\"([^\"]+)\";.*)]"}
String FS1350DN_Tray0_Level     "FS-1350DN Tray 0 Level [%s]"     {http="<[KyoceraFS1350DN:1000:REGEX(.*[^/]sCol5\\[0\\]\\s*=\\s*\"level_([^\"]+)\";.*)]"}
String FS1350DN_Tray1_Papersize "FS-1350DN Tray 1 Papersize [%s]" {http="<[KyoceraFS1350DN:60000:REGEX(.*[^/]sCol2\\[1\\]\\s*=\\s*papersize_([^;]+?);.*)]"}
String FS1350DN_Tray1_Level     "FS-1350DN Tray 1 Level [%s]"     {http="<[KyoceraFS1350DN:1000:REGEX(.*[^/]sCol5\\[1\\]\\s*=\\s*\"level_([^\"]+)\";.*)]"}
Number FS1350DN_Tray1_Capacity  "FS-1350DN Tray 1 Capacity [%s]"  {http="<[KyoceraFS1350DN:60000:REGEX(.*[^/]sCol4\\[1\\]\\s*=\\s*\"([^\"]+)\";.*)]"}

Tray 0 = MP Tray
Tray 1 = Cassette 1

ToDo:

  • read printer status from PtrVal[1]
  • put everything to a rule to not update the values when printer is offline
1 Like

Pretty cool, i didn’t know that my Printer can show this, altough it has snmp enabled anyway.

J4I:

MODELL: FS-1135MFP

VERSION: 2MJ_2F00.005.005

Oh I didn’t know about SNMP, tell me more! Does that have the same/more values (and quite immediate update intervals)?

To be honest i didn’t start yet with investigating time in the snmp implementation of kyocera.
I jsut saw that my printer has a configuration page for this in the web interface.

I have found these 2 sites so far:

http://www.oidview.com/mibs/1347/md-1347-1.html

and

http://www.mibdepot.com/cgi-bin/vendor_index.cgi?r=kyocera

Maybe this can already help you. :slight_smile:

I didn’t yet manage to have enough time to try out SNMP (yes there’s an OpenHAB 2 binding for it) but as I changed the toner drum, I wanted to start to also keep track of the pages printed - so there’s some more code:

services/http.cfg

KyoceraFS1350DNCounters.url=http://<ipaddress>/start/StatCntFunc.htm
KyoceraFS1350DNCounters.updateInterval=1000

items/KyoceraFS1350DN.items

Number FS1350DN_Counter_Total  "FS-1350DN Counter Total [%s]"         {http="<[KyoceraFS1350DNCounters:60000:REGEX(.*Usage\\[0\\]\\+\":\";\\s*sName\\[0\\]\\s*=\\s*\"([^\"]+)\";.*)]"}
Number FS1350DN_Counter_A4     "FS-1350DN Counter A4 [%s]"            {http="<[KyoceraFS1350DNCounters:60000:REGEX(.*PaperSize\\[4\\]\\+\":\";\\s*sName\\[0\\]\\s*=\\s*\"([^\"]+)\";.*)]"}
Number FS1350DN_Counter_OtherD "FS-1350DN Counter Other(Double) [%s]" {http="<[KyoceraFS1350DNCounters:60000:REGEX(.*PaperSize\\[44\\]\\+\":\";\\s*sName\\[7\\]\\s*=\\s*\"([^\"]+)\";.*)]"}
Number FS1350DN_Counter_OtherS "FS-1350DN Counter Other(Single) [%s]" {http="<[KyoceraFS1350DNCounters:60000:REGEX(.*PaperSize\\[45\\]\\+\":\";\\s*sName\\[8\\]\\s*=\\s*\"([^\"]+)\";.*)]"}

(I left out some other page sizes, but I guess you will get how it works)

Persist it and visualize it with Grafana:
Pages print

I only persited once a minute (enough resoution for me) that’s why you see such steps during the job.
Large print job was a job of 64 doublesided pages (each side counts as one page).

1 Like