Search by

This is my package onmt

Package info

github.com/paulo-hortelan/onmt

pkg:composer/paulo-hortelan/onmt

Fund package maintenance!

paulo-hortelan

Statistics

Installs: 1 959

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 2

v1.11.0 2026-09-18 15:40 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, ^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.