This is my package onmt

Maintainers

Package info

github.com/paulo-hortelan/onmt

pkg:composer/paulo-hortelan/onmt

Fund package maintenance!

paulo-hortelan

Statistics

Installs: 905

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 2

v1.10.1 2026-05-28 10:44 UTC

README

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

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

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.