krasselt/m2m-data-usage

Extract SIM card data usage from the m2m-mobil.de management portal

Maintainers

Package info

github.com/mkrasselt1/m2m-data-usage

pkg:composer/krasselt/m2m-data-usage

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-04-16 08:30 UTC

This package is auto-updated.

Last update: 2026-04-27 10:39:10 UTC


README

PHP library to extract SIM card data usage from the m2m-mobil.de management portal.

Installation

composer require krasselt/m2m-data-usage

Library Usage

use Krasselt\M2mDataUsage\Client;

$client = new Client('username', 'password');
$client->login();

// Fetch all SIM cards
$simCards = $client->fetchSimCards();

// Fetch monthly usage details for all SIMs
$allDetails = $client->fetchAllUsageDetails($simCards, function ($current, $total, $sim) {
    echo "[$current/$total] {$sim->iccid}\n";
});

// Get available months (newest first)
$months = Client::availableMonths($allDetails);

// Access data
foreach ($simCards as $sim) {
    echo "{$sim->iccid} | {$sim->rufnummer} | {$sim->status} | {$sim->tagsAsString()}\n";

    foreach ($allDetails[$sim->cardId] ?? [] as $usage) {
        echo "  {$usage->month}: {$usage->usedMb} MB / {$usage->includedMb} MB\n";
        echo "  Completed: " . ($usage->isCompleted() ? 'yes' : 'no') . "\n";
        echo "  YYYY-MM: {$usage->yearMonth()}\n";
    }
}

CLI Usage

# Copy and edit config
cp m2m_config.ini.example m2m_config.ini

# All available months (per-month files for completed months)
php bin/m2m-extract --month all

# Only completed months
php bin/m2m-extract --month completed

# Specific month
php bin/m2m-extract --month "März 2026"

# Custom output directory
php bin/m2m-extract --month all --output-dir ./reports

# Pass credentials directly
php bin/m2m-extract -u username -p password --month all

Config File

Create m2m_config.ini:

[credentials]
username = your_username
password = your_password

Output

CSV files with semicolon delimiter containing:

Column Description
month Month name (e.g. "März 2026")
iccid SIM card ICCID
rufnummer Phone number
tarif Tariff name
status SIM status (Aktiv/Deaktiviert)
tags Comma-separated tags
used_mb Data used in MB
included_mb Data included in plan in MB

Requirements

  • PHP 8.1+
  • guzzlehttp/guzzle ^7.5

License

MIT