Skip to content

Latest commit

ย 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Ignition Wakatime

An Ignition 8.3+ module that tracks time spent in the Ignition Designer and sends heartbeats to WakaTime.

Features

  • Sends periodic heartbeats to WakaTime while the Designer is open
  • Tracks active project names automatically
  • REST API on the Gateway for configuring the WakaTime API key
  • API key validation
  • Zero external dependencies beyond the Ignition SDK

Requirements

Build

./gradlew build

Compiles all subprojects and produces class outputs under each module's build/ directory.

Assemble Module

./gradlew modl

Produces an unsigned .modl package at build/unsigned/.

Installation

  1. Go to Config > Modules on your Ignition Gateway web interface.
  2. Click Install or Upgrade a Module.
  3. Select the generated Ignition-Wakatime.unsigned.modl file.
  4. After installation, restart the Gateway if prompted.

Configuration

API Key

The WakaTime API key must be provided to both scopes:

Via the Gateway

The Gateway persists the key to <gateway_data>/wakatime.properties.

Via the Designer

The Designer reads the API key from ~/.wakatime.properties on startup.

How It Works

  1. The Designer hook starts a Timer 30 seconds after the Designer opens.
  2. Every 120 seconds, it constructs a Heartbeat payload with the current project name and sends it to https://wakatime.com/api/v1/users/current/heartbeats via WakaTimeClient.
  3. Authentication uses HTTP Basic Auth with the WakaTime API key.

Heartbeat Payload

{
  "entity":   "<project name>",
  "type":     "app",
  "time":     <epoch seconds with sub-second precision>,
  "project":  "<project name>",
  "branch":   "",
  "language": "Ignition",
  "is_write": false,
  "lines":    0,
  "plugin":   "ignition-wakatime/0.0.1"
}

Module Info

Property Value
Module name Ignition Wakatime
Module ID dev.coatl.wakatime.IgnitionWakatime
Version 0.0.1
File name Ignition-Wakatime
Ignition min. version 8.3.0
Scopes Gateway (G), Designer (D), Common (GD)

Build Configuration

  • Plugin: io.ia.sdk.modl 0.5.0
  • Gradle: 7.6 (wrapper)
  • SDK version: 8.3.0

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

๐Ÿ”Œ Ignition Designer plugin for quantifying your coding.

Topics

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages