PHPackages                             paulo-hortelan/onmt - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. paulo-hortelan/onmt

ActiveLibrary

paulo-hortelan/onmt
===================

This is my package onmt

v1.10.1(1mo ago)11.1k1[2 PRs](https://github.com/paulo-hortelan/onmt/pulls)MITPHPPHP ^8.1CI passing

Since Jan 16Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/paulo-hortelan/onmt)[ Packagist](https://packagist.org/packages/paulo-hortelan/onmt)[ Docs](https://github.com/paulo-hortelan/onmt)[ GitHub Sponsors](https://github.com/paulo-hortelan)[ RSS](/packages/paulo-hortelan-onmt/feed)WikiDiscussions main Synced 3d ago

READMEChangelog (10)Dependencies (26)Versions (117)Used By (0)

Optical Network Manager Toolkit (ONMT)
======================================

[](#optical-network-manager-toolkit-onmt)

[![Latest Version on Packagist](https://camo.githubusercontent.com/73655bdf42305d2608903f488038f57d5ce24914048b11d22240bc61bf516f1e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7061756c6f2d686f7274656c616e2f6f6e6d742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/paulo-hortelan/onmt)[![Tests](https://camo.githubusercontent.com/71a6b153db4fcc72fda5c111b32007093cffcac912cac3ba2c892842250b893f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7061756c6f2d686f7274656c616e2f6f6e6d742f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/paulo-hortelan/onmt/actions?query=workflow%3Arun-tests+branch%3Amain)[![Code Style](https://camo.githubusercontent.com/1c0e6438ac21b6f37056ff7f5a1249519c386e91e5b0a364093ef35bc1bd0884/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7061756c6f2d686f7274656c616e2f6f6e6d742f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/paulo-hortelan/onmt/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/b79fa20fc72e52518243ae5a232c300066855c46451e2c4f3e32c08e9679cbad/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7061756c6f2d686f7274656c616e2f6f6e6d742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/paulo-hortelan/onmt)[![Ko-fi](https://camo.githubusercontent.com/5e6c22ac11c95473ae2deea9232233f58fe114b1c96d0de6dd7c08b4b8a4bb33/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4b6f2d2d66692d4275792532306d6525323061253230636f66666565212d2532333436623739382e737667)](https://ko-fi.com/paulohortelan)

ONMT is a Laravel package for automating OLT and ONT operations over Telnet and TL1, with a unified API across vendors.

Features
--------

[](#features)

- Unified facades for `Fiberhome`, `Nokia`, `ZTE`, and `Datacom`
- Connection helpers for Telnet and TL1 workflows
- High-level methods for optical data, provisioning, reboot, and cleanup
- Command recording with metadata and persistence support
- Designed for real-world ISP/FTTH operational flows

Supported Vendors and Models
----------------------------

[](#supported-vendors-and-models)

VendorModelsTransportFiberhomeAN5516-04, AN5516-06, AN5516-06BTL1NokiaFX16Telnet and TL1ZTEC300, C600TelnetDatacomDM4612TelnetRequirements
------------

[](#requirements)

- PHP `^8.1`
- Laravel components compatible with `illuminate/contracts ^10.0`

Installation
------------

[](#installation)

```
composer require paulo-hortelan/onmt
```

Publish Config and Migrations
-----------------------------

[](#publish-config-and-migrations)

```
php artisan vendor:publish --tag=onmt-config
php artisan vendor:publish --tag=onmt-migrations
php artisan migrate
```

Quick Start
-----------

[](#quick-start)

### 1) Connect to an OLT

[](#1-connect-to-an-olt)

```
use PauloHortelan\Onmt\Facades\ZTE;

$zte = ZTE::connectTelnet('10.0.0.10', 'username', 'password', 23);
```

### 2) Select targets and run commands

[](#2-select-targets-and-run-commands)

```
$zte->interfaces(['1/1/1:1']);

$optical = $zte->ontsOpticalPower();
$detail = $zte->detailOntsInfo();
```

### 3) Disconnect

[](#3-disconnect)

```
$zte->disconnect();
```

Example: Fiberhome by Serial
----------------------------

[](#example-fiberhome-by-serial)

```
use PauloHortelan\Onmt\Facades\Fiberhome;

$fiberhome = Fiberhome::connectTL1('10.0.0.20', 'username', 'password', 3337, '10.0.0.20');

$fiberhome->serials(['ALCL12345678', 'CMSZ12345678']);
$result = $fiberhome->ontsOpticalPower('NA-NA-1-1');

$fiberhome->disconnect();
```

Command Recording
-----------------

[](#command-recording)

```
$zte->startRecordingCommands(
    description: 'Night maintenance - optical check',
    ponInterface: '1/1/1'
);

$zte->interfaces(['1/1/1:1'])->ontsOpticalPower();

$batch = $zte->stopRecordingCommands();
```

Configuration
-------------

[](#configuration)

After publishing config, you can define a default operator:

```
ONMT_DEFAULT_OPERATOR=network-noc
```

Development
-----------

[](#development)

```
composer test
composer analyse
composer format
composer lint
```

Changelog
---------

[](#changelog)

See [CHANGELOG.md](CHANGELOG.md).

Credits
-------

[](#credits)

- [Paulo Hortelan](https://github.com/paulo-hortelan)

License
-------

[](#license)

This package is open-sourced software licensed under the [MIT license](LICENSE.md).

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance92

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 99.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~8 days

Recently: every ~53 days

Total

111

Last Release

38d ago

Major Versions

0.0.3 → v1.0.02024-08-06

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/135706260?v=4)[Paulo Hortelan Ribeiro](/maintainers/paulo-hortelan)[@paulo-hortelan](https://github.com/paulo-hortelan)

---

Top Contributors

[![paulo-hortelan](https://avatars.githubusercontent.com/u/135706260?v=4)](https://github.com/paulo-hortelan "paulo-hortelan (260 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

---

Tags

fiberhomelaravelnokiaopticsztelaravelPaulo Hortelanonmt

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/paulo-hortelan-onmt/health.svg)

```
[![Health](https://phpackages.com/badges/paulo-hortelan-onmt/health.svg)](https://phpackages.com/packages/paulo-hortelan-onmt)
```

###  Alternatives

[spatie/laravel-permission

Permission handling for Laravel 12 and up

12.9k102.4M1.4k](/packages/spatie-laravel-permission)[spatie/laravel-pdf

Create PDFs in Laravel apps

1.0k4.8M47](/packages/spatie-laravel-pdf)[dedoc/scramble

Automatic generation of API documentation for Laravel applications.

2.1k11.2M102](/packages/dedoc-scramble)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

816334.1k3](/packages/defstudio-telegraph)[spatie/laravel-passkeys

Use passkeys in your Laravel app

471890.7k39](/packages/spatie-laravel-passkeys)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
