New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

paulo-hortelan/onmt

This is my package onmt
2,361 1
Install
composer require paulo-hortelan/onmt
Latest Version:v1.11.1
PHP:^8.1
Laravel:10 – 13
License:MIT
Last Updated:Sep 25, 2026
Links: GitHub  ·  Packagist
Maintainer: paulo-hortelan

Optical Network Manager Toolkit (ONMT)

Latest Version on Packagist Tests Code Style Total Downloads Ko-fi

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

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

Vendor Models Transport
Fiberhome AN5516-04, AN5516-06, AN5516-06B TL1
Nokia FX16 Telnet and TL1
ZTE C300, C600 Telnet
Datacom DM4612 Telnet

Requirements

  • PHP ^8.1
  • Laravel components compatible with illuminate/contracts ^10.0, ^11.0, ^12.0, or ^13.0
  • Laravel 13 requires PHP ^8.3

Installation

composer require paulo-hortelan/onmt

Publish Config and Migrations

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

Quick Start

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

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

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

3) Disconnect

$zte->disconnect();

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

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

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

$batch = $zte->stopRecordingCommands();

Configuration

After publishing config, you can define a default operator:

ONMT_DEFAULT_OPERATOR=network-noc

Development

CI checks Laravel package bootstrapping and mocked Telnet behavior across Laravel 10, 11, 12, and 13, using the matching Orchestra Testbench major version. Hardware-backed tests remain available through composer test when the OLT test environment is configured.

composer test
composer analyse
composer format
composer lint

Changelog

See CHANGELOG.md.

Credits

License

This package is open-sourced software licensed under the MIT license.

Related Packages

paulo-hortelan/lara-cep

Pacote Laravel para consulta de CEPs brasileiros com múltiplos provedores, cache...

1,677 1
doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

648,266,899 9,701
laravel/framework

The Laravel Framework.

604,216,237 34,982
laravel/tinker

Powerful REPL for the Laravel framework.

512,508,631 7,443
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

429,221,767 607

Version History

Version Released PHP Laravel License
v1.11.1 ^8.1 ^10.0|^11.0|^12.0|^13.0 MIT
v1.11.0 ^8.1 ^10.0|^11.0|^12.0|^13.0 MIT
v1.10.9 ^8.1 ^10.0 MIT
v1.10.8 ^8.1 ^10.0 MIT
v1.10.7 ^8.1 ^10.0 MIT