wweich / homematicip-rest-api

A python wrapper for the homematicIP REST API (Access Point Based)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Installation

Just run pip3 install 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%:raw-latex:homematicip-rest-api
    • %PROGRAMDATA%:raw-latex: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-eTRV (Heating-thermostat)
  • [X] HMIP-WTH, HMIP-WTH-2 (Wall Mounted Thermostat Pro)
  • [X] HMIP-BWTH (Brand Wall Mounted Thermostat Pro)
  • [X] HMIP-SWDO (Shutter Contact)
  • [X] HMIP-SWDO-I (Shutter Contact Invisible)
  • [X] HMIP-SWSD (Smoke Detector)
  • [X] HMIP-FAL230-C6 (Floor Terminal Block)
  • [X] HMIP-PS (Plugable Switch)
  • [X] HMIP-PSM (Plugable Switch Measuring)
  • [X] HMIP-STHD (Temperature and Humidity Sensor with display - indoor)
  • [X] HMIP-STH (Temperature and Humidity Sensor without display - indoor)
  • [X] HMIP-WRC2 (Wall-mount Remote Control - 2-button)
  • [X] HMIP-ASIR (Alarm Siren)
  • [X] HMIP-KRCA (Key Ring Remote Control & alarm)
  • [X] HMIP-SMI (Motion Detector with Brightness Sensor - indoor)
  • [X] HMIP-FROLL (Shutter Actuator - flush-mount)
  • [X] HMIP-BROLL (Shutter Actuator - brand-mount)
  • [X] HMIP-SPI (Precence Sensor - indoor)
  • [X] HMIP-PDT (Pluggable Dimmer)
  • [X] HMIP-BSM (Brand Switch and Meter)
  • [X] HMIP-PCBS-BAT (Printed Curcuit Board Switch Battery)
  • [X] HMIP-STHO (Temperature and Humidity Sensor outdoor)
  • [X] HMIP-SWO-PR (Weather Sensor – pro)
  • [X] HMIP-SWO-B (Weather Sensor)
  • [X] HMIP-SRH (Rotary Handle Sensor)
  • [X] HMIP-SWD (Water Sensor)
  • [X] HMIP-SMI55 (Motion Detector with Brightness Sensor and Remote Control - 2-button)

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()

About

A python wrapper for the homematicIP REST API (Access Point Based)

License:GNU General Public License v3.0


Languages

Language:Python 100.0%