npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

homebridge-homematic

v0.2.226

Published

Homematic plugin for homebridge: https://github.com/nfarina/homebridge

Downloads

391

Readme

homebridge-homematic

Donate some coins if you want Build Status Greenkeeper badge JavaScript Style Guide

Supports the Homematic System on HomeBridge Platform

If you just want to add your HomeMatic devices (CCU3/Raspberrymatic/pivCCU) you may also like https://github.com/thkl/hap-homematic

Devices currently supported:

Switches , Dimmer , RotaryHandles, WindowContacts, MotionSensor, Blinds, Keymatic ProgramStarter, SmokeDetector, Thermostats ....

Installation

  1. Make sure that you use a node version >= 4.5
  2. Install homebridge using: npm install -g homebridge
  3. Install this plugin using: npm install -g homebridge-homematic
  4. Update your configuration file. See the sample below.

Configuration

Configuration sample:

"platforms": [
       {
           "platform": "HomeMatic",
           "name": "HomeMatic CCU",
           "ccu_ip": "192.168.0.100",
           "subsection":"Homekit"
       }   
   ]

Configuration Changes Version > 214

Beginning of Version 0.0.214 other that the above configuration settings has been moved to a plugin own config file. So you are able to use the plugin settings in https://github.com/oznu/homebridge-config-ui-x#readme for the initial configuration.

The file is located at the same path as your config.json and named homematic_config.json

The plugin will copy your settings once to this file

{
    "filter_device":[],
    "filter_channel":["BidCos-RF.KEQXXXXXXX:4", "BidCos-RF.LEQXXXXXXX:2"],
    "outlets":[ "BidCos-RF.KEQXXXXXXX:4","BidCos-RF.IEQXXXXXXX:1"],
    "doors":[],
    "programs":[]
}

Please use the homematic_config.json to setup new stuff.

**** BEGINNING OF VERSION 0.0.41 the selection of channels to use with HomeKit via a CCU Subsection is mandatory *****

Preselect all the Channels you want to import into Homekit by one Subsection at your CCU. Create a new Subsection (in the Sample named as Homekit) and put all the Channels in you want to import. Finally put the name of the subsection into your config.js

Ports: the plugin will use local Port 9090 to communicate with the ccu rfd daemon. Port 9091 for wired and 9092 for hmip (if they are in use). If these ports are in use by other applications, you can change them by the following key in your homematic_config.json

"local_port":8080

In this case , please make sure that 8081 and 8082 are also available. You got the point ....

Variables

You may add binaray variables to Homekit by adding them into your homematic_config.json. They will show up as switches.

"variables":["VarName1","VarName2]

Programs

If you want to launch Homematic Programs you can also add them to homematic_config.json. There is a issue with ios10. The build in Home App doesnt handle custom Services so you have to add the ios10 flag in your homematic_config.json

"programs":["ProgName1","ProgName2"],
"ios10":true

Doors and Windows

Homematic Shutter Contacts will be mapped as Contacts into HomeKit by default. If you want to ask Siri about open Windows, you have to add them to a windows config switch:

So they will be mapped into an motorized Window Device. If you add the channel to the doors configuration switch, this channel will be mapped as automated door.

"doors":["BidCos-RF.KEQXXXXXXX:4"]
"windows":["BidCos-RF.KEQXXXXXXX:4"]

HM-LC-RGBW-WM

Please only add the channel with number 2 to HomeKit.

HMIP

The following HMIP Devices should work:

  • HMIP-PSM (Switch - Part)
  • HMIP-PS
  • HMIP-SWDO
  • HMIP-SRH
  • HmIP-SMI
  • HMIP-SWSD
  • HMIP-eTRV
  • HMIP-WTH
  • HmIP-WTH-2
  • HmIP-STH
  • HmIP-BWTH
  • HmIP-FSM
  • HmIP-BSM
  • HmIP-BDT
  • HmIP-BROLL
  • HmIP-FROLL
  • HmIP-SWO-B
  • HmIP-SWO-PL
  • HmIP-SWO-PR

Please setup HMIP by adding the following key to your homematic_config.json

"enable_hmip":"true"

Garagedoor

Find further information here.

Troubleshooting

If the Home app on your iOS device cannot connect to the Homebridge after entering the PIN (and just tells you "there was a problem"), this may be caused by too many devices being presented by the bridge. In this case, try to filter some unused devices, e.g. like this if you don't use the "virtual keys":

"filter_device":["BidCoS-Wir","BidCoS-RF"]

Custom Serviceclasses

You own a device that is not currently working with the default implementation here? No problem. You can create custom service classes. With a little bit of knowledge from the existing classes in the ChannelServices folder, this should not be a big deal. Copy the HomeMaticHomeKitDummyService and create your own Serviceclass.

All definitions for the existing classes are located in ChannelServices/channel_config.json. There is a key for each Homematic channeltype and the corresponding name of the service class as value. Be Aware: your personal changes in that file will be overridden by the next update. So you have to set them up in your config.json:

As a sample: the device with the channel WEATHER of the device with type HM-WDS10-TH-O will use the service HomeMaticHomeKitCuxDThermostatService

"services": [
	{ "type": "HM-WDS10-TH-O:WEATHER",
          "service": "HomeMaticHomeKitCuxDThermostatService"
	}]

or you could use for example the device HmIP-STH just as a regular Temperature and Humidity sensor:

"services": [
  { "type": "HmIP-STH:HEATING_CLIMATECONTROL_TRANSCEIVER",
    "service": "HomeMaticHomeKitThermostatWeatherServiceIP" }
]