Skip to content

myDevicesIoT/mydevices-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

myDevices CLI

Command-line tool for managing your myDevices IoT platform.

Installation

Download Binary (Recommended)

Download the latest release for your platform from GitHub Releases:

Platform Download
macOS (Apple Silicon) mydevices-darwin-arm64
macOS (Intel) mydevices-darwin-x64
Linux (x64) mydevices-linux-x64
Linux (ARM64) mydevices-linux-arm64
Windows mydevices-windows-x64.exe

After downloading:

# macOS/Linux: Make it executable and move to PATH
chmod +x mydevices-darwin-arm64
sudo mv mydevices-darwin-arm64 /usr/local/bin/mydevices

# Verify installation
mydevices --version

Build from Source

Requires Bun installed.

git clone https://github.com/myDevicesIoT/mydevices-cli.git
cd mydevices-cli
bun install
bun run build

Quick Start

# 1. Configure the CLI
mydevices config init

# 2. Login with your credentials
mydevices auth login

# 3. Start using the CLI
mydevices devices list

Commands

Authentication

mydevices auth login       # Interactive login
mydevices auth logout      # Clear credentials
mydevices auth whoami      # Show auth status
mydevices auth token       # Print access token

Configuration

mydevices config init      # Interactive setup
mydevices config list      # Show all settings
mydevices config get <key> # Get a setting
mydevices config set <key> <value>  # Set a setting

Companies

mydevices companies list [--json]
mydevices companies get <id>
mydevices companies create --name "Company Name" --city "City"
mydevices companies update <id> --name "New Name"
mydevices companies delete <id>
mydevices companies count

Locations

mydevices locations list [--json]
mydevices locations get <id>
mydevices locations create --name "Location Name"
mydevices locations update <id> --name "New Name"
mydevices locations delete <id>
mydevices locations count

Users

mydevices users list [--email [email protected]]
mydevices users get <id>
mydevices users create --email "[email protected]" --notify
mydevices users update <id> --first-name "John"
mydevices users delete <id>
mydevices users count
mydevices users permissions set <user-id> --location-id <loc-id> --permission edit
mydevices users permissions delete <user-id> --location-id <loc-id>

Devices

mydevices devices list [--location-id <id>] [--status 0]
mydevices devices get <id>
mydevices devices create --name "Sensor" --hardware-id "001122334455"
mydevices devices update <id> --name "New Name"
mydevices devices delete <id>
mydevices devices count
mydevices devices latest <id>          # Latest sensor readings
mydevices devices readings <id>        # Historical readings
mydevices devices cmd <id> --channel 1 --value 100  # Send command
mydevices devices status <hardware-id> # Lookup by hardware ID

Rules

mydevices rules list [--json]
mydevices rules count

Output Formats

All list commands support --json flag for machine-readable output:

# Human-readable table (default)
mydevices devices list

# JSON output for scripting
mydevices devices list --json

# Pipe to jq for processing
mydevices devices list --json | jq '.[] | .id'

Environment Variables

For CI/CD and automation, credentials can be passed via environment variables:

export MYDEVICES_REALM=your-realm
export MYDEVICES_CLIENT_ID=your-client-id
export MYDEVICES_CLIENT_SECRET=your-client-secret

mydevices auth login  # Will use env vars instead of prompting

Development

# Run in development mode
bun run dev

# Type check
bun run typecheck

# Build binary
bun run build

License

MIT

About

Command-line tool for managing your myDevices IoT platform.

Resources

Contributing

Stars

Watchers

Forks

Packages

No packages published