Skip to content

kaklakariada/fritzbox-java-api

Repository files navigation

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

Gradle

  • Add Maven Central maven repository:

    repositories {
        mavenCentral()
    }
  • Add dependency

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

Maven

<dependency>
  <groupId>com.github.kaklakariada</groupId>
  <artifactId>fritzbox-java-api</artifactId>
  <version>1.6.1</version>
</dependency>

Run sample program

  1. Create file application.properties with the following content and enter settings for your device:

    fritzbox.url = https://fritz.box
    fritzbox.username = user
    fritzbox.password = secret
  2. Run example class TestDriver.

Development

Generate / update license header

./gradlew licenseFormat

Check if dependencies are up-to-date

./gradlew dependencyUpdates

Check dependencies for vulnerabilities

./gradlew ossIndexAudit

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. Optional: run the following command to do a dry-run:

    ./gradlew clean check build publishToSonatype closeSonatypeStagingRepository --info
  4. Run the following command to publish to Maven Central:

    ./gradlew clean check build publishToSonatype closeAndReleaseSonatypeStagingRepository --info
  5. Create a new release on GitHub.

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