/fritzbox-java-api

Java API for managing FritzBox HomeAutomation

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

fritzbox-java-api

Java CI Quality Gate Status Maven Central

Java API for managing FritzBox HomeAutomation using AVM Home Automation HTTP Interface inspired by grundid's fritzbox-java-api. This also runs on Android devices (see Andect).

Important: Migration to Maven Central

Due to the deprecation of JCenter new versions will be published to Maven Central. In your build script please use

repositories {
    mavenCentral()
}

Changelog

See CHANGELOG.md.

Usage

  • Add Maven Central maven repository:

    repositories {
        mavenCentral()
    }
  • Add dependency

    dependencies {
        compile 'com.github.kaklakariada:fritzbox-java-api:1.5.0'
    }

Run sample program

  1. Copy file application.properties.template to application.properties and enter settings for your device.
  2. Run example class TestDriver.

Development

Generate / update license header

$ ./gradlew licenseFormat

Check if dependencies are up-to-date

$ ./gradlew dependencyUpdates

Building

Install to local maven repository:

./gradlew clean publishToMavenLocal

Publish to Maven Central

  1. Add the following to your ~/.gradle/gradle.properties:

    ossrhUsername=<your maven central username>
    ossrhPassword=<your maven central passwort>
    
    signing.keyId=<gpg key id (last 8 chars)>
    signing.password=<gpg key password>
    signing.secretKeyRingFile=<path to secret keyring file>
  2. Increment version number in build.gradle and README.md, update CHANGELOG.md, commit and push.

  3. Run the following command:

    $ ./gradlew clean check build publish closeAndReleaseRepository --info
  4. Create a new release on GitHub.

  5. After some time the release will be available at Maven Central.