paulo-hortelan / onmt
This is my package onmt
Fund package maintenance!
v1.10.1
2026-05-28 10:44 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.20
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
- dev-main
- v1.10.1
- v1.10.0
- 1.9.30
- v1.9.29
- v1.9.28
- v1.9.27
- v1.9.26
- v1.9.25
- v1.9.24
- v1.9.23
- v1.9.22
- v1.9.21
- v1.9.20
- v1.9.19
- v1.9.18
- v1.9.17
- v1.9.16
- v1.9.15
- v1.9.14
- v1.9.13
- v1.9.12
- v1.9.11
- v1.9.10
- v1.9.9
- v1.9.8
- v1.9.7
- v1.9.6
- v1.9.5
- v1.9.4
- v1.9.3
- v1.9.2
- v1.9.1
- v1.9.0
- v1.8.7
- v1.8.6
- v1.8.5
- v1.8.4
- v1.8.3
- v1.8.2
- v1.8.1
- v1.8.0
- v1.7.7
- v1.7.6
- v1.7.5
- v1.7.4
- v1.7.3
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.5
- v1.6.4
- v1.6.3
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.17
- v1.5.16
- v1.5.15
- v1.5.14
- v1.5.13
- v1.5.12
- v1.5.11
- v1.5.10
- v1.5.9
- v1.5.8
- v1.5.7
- v1.5.6
- v1.5.5
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.14
- v1.4.13
- v1.4.12
- v1.4.11
- v1.4.10
- v1.4.9
- v1.4.8
- v1.4.7
- v1.4.6
- v1.4.5
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.10
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.1
- v1.0.0
- 0.0.3
- 0.0.2
- 0.0.1
- dev-dependabot/github_actions/dependabot/fetch-metadata-2.2.0
- dev-backup
- dev-fiberhome
- dev-onmt-full
- dev-dependabot/github_actions/ramsey/composer-install-3
This package is auto-updated.
Last update: 2026-05-28 10:45:30 UTC
README
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, andDatacom - 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.