当前位置: 首页 > 软件库 > 其他开源 > 物联网 >

addon-homebridge

授权协议 MIT License
开发语言 JavaScript
所属分类 其他开源、 物联网
软件类型 开源软件
地区 不详
投 递 者 诸葛卜霸
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Community Hass.io Add-ons: Homebridge

This add-on provides the installation, configuration, and integration forHomebridge.

Deprecation warning

This add-on is in a deprecated state!

At this point it is unsure how long this add-on keeps available orupdated.

This add-on was originally developed to add HomeKit support toHome Assistant. Meanwhile, Home Assistant gained native supportfor HomeKit.

https://www.home-assistant.io/components/homekit/

Because of this, is very likely that the plugins this add-on rely, onwill no longer be developed or maintained.

We STRONGLY suggest to migrate to the Home Assistant HomeKit component.

About

Homebridge is a server that emulates the iOS HomeKit API, allowing you tocontrol your Home Assistant via Apple devices (including Siri).

Since Siri supports devices added through HomeKit, this means that withHomebridge you can ask Siri to control devices that don't have any support forHomeKit at all. For instance, you could say:

  • Siri, unlock the back door.
  • Siri, open the garage door.
  • Siri, turn on the coffee maker.
  • Siri, turn on the living room lights.
  • Siri, good morning!

Installation

The installation of this add-on is pretty straightforward and not different incomparison to installing any other Hass.io add-on.

  1. Add our Hass.io add-ons repository to your Hass.io instance.
  2. Install the "Homebridge" add-on.
  3. Start the "Homebridge" add-on.
  4. Check the logs of the "Homebridge" add-on to see if everything went wellmoreover, to find the pin code needed to add your Home Assistant instance toyour iOS device

Please read the rest of this document further instructions.

NOTE: Do not add this repository to Hass.io, please use:https://github.com/hassio-addons/repository.

Docker status

Configuration

On the first run, this add-on creates the necessary configuration filesfor you. Stored in /config/homebridge/. You can modify the configurationto your liking. For documentation on configuring Homebridge, please referto the Homebridge GitHub repository. For documentation onconfiguring the Home Assistant for Homebridge plugin, please refer to theHome Assistant for Homebridge GitHub repository.

The add-on has a configuration possibilities as well.

Note: Remember to restart the add-on when the configuration is changed.

Example add-on configuration:

{
  "log_level": "info",
  "avahi_interfaces": "",
  "avahi_hostname": "",
  "avahi_domainname": "local",
  "enable_ipv6": true,
  "packages": [],
  "init_commands": [],
  "plugins": []
}

Option: log_level

The log_level option controls the level of log output by the addon and canbe changed to be more or less verbose, which might be useful when you aredealing with an unknown issue. Possible values are:

  • trace: Show every detail, like all called internal functions.
  • debug: Shows detailed debug information.
  • info: Normal (usually) interesting events.
  • warning: Exceptional occurrences that are not errors.
  • error: Runtime errors that do not require immediate action.
  • fatal: Something went terribly wrong. Add-on becomes unusable.

Please note that each level automatically includes log messages from amore severe level, e.g., debug also shows info messages. By default,the log_level is set to info, which is the recommended setting unlessyou are troubleshooting.

Using trace or debug log levels puts the Homebridge server into debug mode.

Option: avahi_interfaces

Set a comma separated list of allowed network interfaces that should be used bythe Avahi service. Other interfaces will be ignored. If left empty, the add-onwill try to auto-detect the interfaces, which should be fine in most cases.

Note: There is a special internal interface for Hass.io called hassio.This interface is always added to the list automatically

Option: avahi_hostname

Set the hostname to Avahi server. The add-on tries to register on your networkusing this hostname. If left empty the hostname will be automatically detectedvia the Hass.io API, which sould be fine in most cases.

Option: avahi_domainname

Set the default domain name for Avahi. The add-on tries to register its hostnameand services on your network. In most cases, the default, local, should befine.

Option: enable_ipv6

In some situations, IPv6 might cause more problems then it solves.Setting this option to false, partially disables IPv6 support causingAhahi and Homebridge to only listen for connections on IPv4

Option: insecure

Allow unauthenticated requests to Homebridge (for easier hacking). Someplugins require this as well. Be aware of the possible security implicationthis has.

Option: packages

Allows you to specify additional Alpine packages to beinstalled to your Homebridge setup (e.g., python, g++. make, ffmpeg).

Note: Adding many packages will result in a longer start-up timefor the add-on.

Option: init_commands

Customize your Homebridge setup even more with the init_commands option.Add one or more shell commands to the list, and they will be executed everysingle time this add-on starts.

Option: plugins

This Homebridge add-on has support for installing additional Homebridge plugins.Plugins are NodeJS modules published through NPM and tagged with the keywordhomebridge-plugin. They must have a name with the prefix homebridge-,like homebridge-mysmartlock.

The homebridge-homeassistant plugin is already installed for you.

You can install a plugin by adding it to the add-on configuration. The add-onensures the plugin is installed on start.

Example add-on configuration (partial):

{
  "plugins": [
    "homebridge-dummy",
    "homebridge-mysmartlock"
  ]
}

You can explore all available plugins at the NPM website bysearching for the keyword homebridge-plugin.

Note: Some plugins require build tools or other packages. You might need toinstall these packages using the packages option first.

Adding Homebridge to iOS

Using the Home app (or most other HomeKit apps), you should be able to add thesingle accessory "Home Assistant", assuming that you are still running theHomebridge add-on and you are on the same (Wifi) network. Adding this accessoryautomatically adds all accessories and platforms defined in yourHome Assistant instance.

When you attempt to add the "Home Assistant" accessory, it will ask for a"PIN code". This pin code is randomly generated when this add-on is run forthe first time. You can find the generated PIN code in the add-on logs and inyour /config/homebridge/config.json file (where you, of course,can change it as well).

Known issues and limitations

  • Once your device has been added to HomeKit, you should be able to tell Siri tocontrol your devices. However, realize that Siri is a cloud service and iOSmay need some time to synchronize your device information with iCloud.
  • Siri will almost always prefer its default phrase handling over HomeKitdevices. For instance, if you name your Sonos device "Radio" and try saying"Siri, turn on the Radio" then Siri will probably start playing an iTunes Radiostation on your phone. Even if you name it "Sonos" and say"Siri, turn on the Sonos", Siri will probably just launch the Sonos app instead.This is why, for instance, the suggested name for the Sonos accessoryis "Speakers".
  • One installation of Homebridge can only expose 100 accessories due to aHomeKit limit.
  • Once an accessory has been added to the Home app, changing its name viaHomebridge will not be automatically reflected in iOS. You must change it viathe Home app as well.
  • If you have set up SSL using a self-signed certificate, you will need toset verify_ssl to false in your /config/homebridge/config.json file toallow bypassing the NodeJS certificate checks.
  • Errors on startup. The following errors are experienced when startingHomebridge and can be safely ignored.
*** WARNING *** The program 'nodejs' uses the Apple Bonjour compatibility layer
of Avahi
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see
http://0pointerde/avahi-compat?s=libdns_sd&e=nodejs
*** WARNING *** The program 'nodejs' called 'DNSServiceRegister()' which is not
supported (or only supported partially) in the Apple Bonjour compatibility layer
of Avahi
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see
http://0pointerde/avahi-compat?s=libdns_sd&e=nodejs&f=DNSServiceRegister

FAQ

Homebridge cannot connect or login to Home Assistant

Please be sure to set the host and password parameters in the/config/homebridge/config.json file.

We recommend using http://hassio/homeassistant as the host with anempty password, which allows Homebridge to talk to Home Assistant directly.

My iOS App Cannot Find Homebridge/Home Assistant

Two reasons why Homebridge may not be discoverable:

  1. Homebridge server thinks it has been paired with, but iOS thinks otherwise.Fix: deleted persist/ directory which is in your config/homebridgedirectory and restart the add-on.

  2. iOS device has gotten your Homebridge username (looks like a MAC address)"stuck" somehow, where it is in the database but inactive. Fix: change yourusername in the "bridge" section of /config/homebridge/config.json to besome new value and restart the add-on.

Changelog & Releases

This repository keeps a change log using GitHub's releasesfunctionality. The format of the log is based onKeep a Changelog.

Releases are based on Semantic Versioning, and use the formatof MAJOR.MINOR.PATCH. In a nutshell, the version will be incrementedbased on the following:

  • MAJOR: Incompatible or major changes.
  • MINOR: Backwards-compatible new features and enhancements.
  • PATCH: Backwards-compatible bugfixes and package updates.

Support

Got questions?

You have several options to get them answered:

You could also open an issue here GitHub.

Contributing

This is an active open-source project. We are always open to people who want touse the code or contribute to it.

We have set up a separate document containing ourcontribution guidelines.

Thank you for being involved! ��

Authors & contributors

The original setup of this repository is by Franck Nijhof.

For a full list of all authors and contributors,check the contributor's page.

Credits

A big shout out to the following people, without them this add-on was notpossible:

This add-on has been inspired by the following repositories:

Thank you all!

We have got some Hass.io add-ons for you

Want some more functionality to your Hass.io Home Assistant instance?

We have created multiple add-ons for Hass.io. For a full list, check outour GitHub Repository.

License

MIT License

Copyright (c) 2017 Franck Nijhof

Permission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software isfurnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THESOFTWARE.

  • 第二篇 移植之交叉编译 目标板:linux 第一步Nodejs编译:主机上的版本是v8.10.0,, 目标板的版本是v4.3.2 1. 交叉编译nodejs     $(SDK)/external/node-v4.3.2$ #export CC=arm-linux-gcc CXX=arm-linux-g++ LD=arm-linux-ld RAINLIB=arm-linux-rainlib AR=

  • 使用BeagleBone搭建 Homebridge连接homekit 好多年前申请了一个BeagleBone的板子,基于AM335x的Cortex A8 的嵌入式系统。这几天终于翻出来了。之前用树莓派搭建的Homebridge,不过有些许费电。这个板子很小巧,也很省电。准备用这个来做一个网关。连接小米和苹果的智能系统。 这几天查了 一下,img居然有更新。我也就把小板子更新了一下系统。我的板子是B

  • think-addons The ThinkPHP 6 Addons Package 安装 composer require xiaoyaor/think-addons 配置 生成配置 系统安装后会自动在 config 目录中生成 addons.php 的配置文件, 如果系统未生成可在命令行执行 php think addons:config 快速生成配置文件 公共配置 'addons'=>[ /

  • 最简单的插件可以由一个addon.xml与在其指定范围内的py文件构成。 py的开发关键需要掌握python语言; addon.xml的编写参见http://wiki.xbmc.org/index.php?title=Add-on_development目前只实现了简单的编写测试,关于provide参数还不能灵活运用,有空可以多试试。

  • nodejs和C++配合起来,又能满足前端的快速开发,也能达到核心层的性能要求。 之前也写过用C++写addon的例子。在实际使用过程也遇到了一些问题: 有些场景需要js注册回调函数,供底层调用,这个时候会将回调函数记录v8::Persistent<v8::Function>,实际使用的时候是需要转换为v8::Local<v8::Function>来调用: auto isolate = v8::I

  • 绑定过webpage 到osg 窗口,我需要一个回调机制对osg 显示进行后台显示. 具体的做法是osg作为一个状态机, 前台web界面向后台发送命令, 消息 . 后台接收消息,改变状态.我想架在soket上. 我需要一个网络的服务的状态机.nodejs 正好短小精悍.相对开发比较火热.并且前后台保持开发语言的一致. 避免了,开发者在不同语言下切换.v8引擎有全球上亿的人口在做测试.想来也不用忧虑

 相关资料
  • Addon Domains是您帐户中托管的附加域,存储在子文件夹中。 系统将这些域视为系统的子域。 如果您想在同一主机方案下运行完全不同的网站,则可以使用cPanel的此功能。 这是在单个cPanel帐户上运行多个网站的最佳选择。 例如,您有一个托管博客网站,并且您想要一个不同的网站为您的简历,您不需要购买不同的托管帐户,但您可以使用相同的托管为您的简历网站。 要使用此功能,您需要从cPanel

  • Addon-sdk 即 Add-on SDK 开发包。使用它的话,你可以使用标准的网络技术(如:JavaScript, HTML, CSS)来创建火狐加载组件。这个 SDK 包括了 JavaScript APIs,允许你创建插件和工具用来运行、测试和加载开发工具。  

  • An instance map browser for World of Warcraft

  • Notadd 支付插件 整合微信支付 API、支付宝支付 API,基于 Nest.js 框架构建的一个支付插件。 使用说明 安装 npm install @notadd/addon-pay 配置 PayAddon import { Module } from '@nestjs/common';import { PayAddon } from '@notadd/addon-pay';@Module(

  • nt-addon-wechatapi 基于 nest 封装的微信公众平台 API Roadmap  发送客服消息(文本、图片、语音、视频、音乐、图文)  菜单操作(查询、创建、删除、个性化菜单)  二维码(创建临时、永久二维码,查看二维码URL)  分组操作(查询、创建、修改、批量移动用户到分组, 批量从分组移除用户)  用户信息(批量查询用户基本信息、获取关注者列表)  媒体文件(上传、获取)

  • ember-cli-addon-docs Compatibility Ember.js v3.20 or above Ember CLI v3.20 or above Node.js v12 or above 2/28/20 Update: AddonDocs is in Maintenace Mode. AddonDocs is still actively being used by many