Skip to main content

An API for the homematicip cloud

Project description

homematicip-rest-api

A Python 3 wrapper for the homematicIP REST API (Access Point Based) Since there is no official documentation about this API everything was done via reverse engineering. Use at your own risk.

CircleCI PyPi codecov Average time to resolve an issue commits-since-latest-release donate-paypal

Installation

Just run pip3 install -U homematicip to get the package

Usage

first run hmip_generate_auth_token.py (from the command line) to get an auth token for your access point. it will generate a “config.ini” in your current directory. The scripts will look for a config.ini in 3 different locations depending on your OS. Copy the file to one of these locations so that it will be accessable for the scripts.

  • General

    • current working directory

  • Windows

    • %APPDATA%\homematicip-rest-api

    • %PROGRAMDATA%\homematicip-rest-api

  • Linux

    • ~/.homematicip-rest-api/

    • /etc/homematicip-rest-api/

  • MAC OS

    • ~/Library/Preferences/homematicip-rest-api/

    • /Library/Application Support/homematicip-rest-api/

Examples

Implemented Stuff

  • [X] generate authentication token

  • [X] Read current state of the Environment

  • [X] Weather

  • [X] Location

  • [X] Basic Informations( apversion, pinAssigned, timeZone, … )

  • [X] Devices (partly)

  • [X] Client

  • [X] Groups

Devices:

  • [X] HMIP-ASIR (Alarm Siren)

  • [X] HMIP-BROLL (Shutter Actuator - brand-mount)

  • [X] HMIP-BSM (Brand Switch and Meter)

  • [X] HMIP-BWTH (Brand Wall Mounted Thermostat Pro)

  • [X] HMIP-eTRV, HMIP-eTRV2 (Heating-thermostat)

  • [X] HMIP-FAL230-C6 (Floor Terminal Block)

  • [X] HMIP-FDT (Dimming Actuator flush-mount)

  • [X] HMIP-FROLL (Shutter Actuator - flush-mount)

  • [X] HMIP-KRCA (Key Ring Remote Control & alarm)

  • [X] HmIP-MOD-OC8 ( Open Collector Module )

  • [X] HMIP-RC8 (Remote Control - 8 buttons)

  • [X] HMIP-PCBS-BAT (Printed Curcuit Board Switch Battery)

  • [X] HMIP-PDT (Pluggable Dimmer)

  • [X] HMIP-PS (Plugable Switch)

  • [X] HMIP-PSM (Plugable Switch Measuring)

  • [X] HMIP-SMI (Motion Detector with Brightness Sensor - indoor)

  • [X] HMIP-SMI55 (Motion Detector with Brightness Sensor and Remote Control - 2-button)

  • [X] HmIP-SMO-A (Motion Detector with Brightness Sensor - outdoor)

  • [X] HMIP-SPI (Precence Sensor - indoor)

  • [X] HMIP-SRH (Rotary Handle Sensor)

  • [X] HMIP-STH (Temperature and Humidity Sensor without display - indoor)

  • [X] HMIP-STHD (Temperature and Humidity Sensor with display - indoor)

  • [X] HMIP-STHO (Temperature and Humidity Sensor outdoor)

  • [X] HMIP-SWD (Water Sensor)

  • [X] HMIP-SWDO (Shutter Contact)

  • [X] HMIP-SWDO-I (Shutter Contact Invisible)

  • [X] HMIP-SWDM (Door / Window Contact - magnetic )

  • [X] HMIP-SWDM-B2 (Door / Window Contact - magnetic )

  • [X] HMIP-SWO-B (Weather Sensor)

  • [X] HMIP-SWO-PR (Weather Sensor – pro)

  • [X] HMIP-SWSD (Smoke Detector)

  • [X] HMIP-WRC2 (Wall-mount Remote Control - 2-button)

  • [X] HMIP-WRC6 (Wall-mount Remote Control - 6-button)

  • [X] HMIP-WTH, HMIP-WTH-2 (Wall Mounted Thermostat Pro)

Events

It’s also possible to use push notifications based on a websocket connection

##initialize the api
#...
#get the home object
home = homematicip.Home()
#add a function to handle new events
home.onEvent += printEvents
#enable the event connection -> this will also start the websocket connection to the homeMaticIP Cloud
home.enable_events()


#example function to display incoming events
def printEvents(eventList):
    for event in eventList:
        print "EventType: {} Data: {}".format(event["eventType"], event["data"])

#if needed you can close the websocket connection with
home.disable_events()

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

homematicip-0.10.2.tar.gz (73.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

homematicip-0.10.2-py3-none-any.whl (55.2 kB view details)

Uploaded Python 3

File details

Details for the file homematicip-0.10.2.tar.gz.

File metadata

  • Download URL: homematicip-0.10.2.tar.gz
  • Upload date:
  • Size: 73.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.1

File hashes

Hashes for homematicip-0.10.2.tar.gz
Algorithm Hash digest
SHA256 05a95664d19931f9e80b369a2a882f2e8f3904abb6d982c933b45520ab79b423
MD5 2eee27e4c470d1547efc548d55d7576d
BLAKE2b-256 60dace0097ceb2a17ba99f09f1ec2da74c48b5bb2992864c82e3064328c681fe

See more details on using hashes here.

File details

Details for the file homematicip-0.10.2-py3-none-any.whl.

File metadata

  • Download URL: homematicip-0.10.2-py3-none-any.whl
  • Upload date:
  • Size: 55.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.1

File hashes

Hashes for homematicip-0.10.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dfc671fae8e0666cb815a1fddb8faabe3adc626cbbb79c9702912074ded428ee
MD5 e06edb0e4d2eb8a6f273d336a081ed4c
BLAKE2b-256 a6acbf4ad52b59941e2fbee2176d8bc4d019170917e366c2bf2ece5a35d609f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page