All Projects → Tropicao → Zigbridge

Tropicao / Zigbridge

Licence: gpl-3.0
Zigbee gateway implementation

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Zigbridge

Mi Home
С# API for Xiaomi Mi Home devices
Stars: ✭ 86 (+309.52%)
Mutual labels:  xiaomi, gateway
Homebridge Mi Aqara
a homebridge plugin for XiaoMi Aqara plugin.
Stars: ✭ 990 (+4614.29%)
Mutual labels:  xiaomi, gateway
Homebridge Mi Gateway Fm
XiaoMi Gateway FM plugin for HomeBridge.
Stars: ✭ 43 (+104.76%)
Mutual labels:  xiaomi, gateway
Openmqttgateway
MQTT gateway for ESP8266, ESP32, Sonoff RF Bridge or Arduino with bidirectional 433mhz/315mhz/868mhz, Infrared communications, BLE, Bluetooth, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale, TPMS, BBQ thermometer compatibility, SMS & LORA.
Stars: ✭ 2,413 (+11390.48%)
Mutual labels:  xiaomi, gateway
node-lumi-aqara
Control your Xiaomi Smart Home devices with this Lumi Aqara library
Stars: ✭ 45 (+114.29%)
Mutual labels:  gateway, xiaomi
Abeille
Abeille pour Jeedom (Gateway ZiGate)
Stars: ✭ 56 (+166.67%)
Mutual labels:  xiaomi, hue
homebridge-zigbee
ZigBee Platform plugin for HomeBridge
Stars: ✭ 101 (+380.95%)
Mutual labels:  xiaomi, hue
Com.xiaomi Miio
Homey app to control Mi Home devices that implement the miIO protocol and Xiaomi gateway child devices
Stars: ✭ 318 (+1414.29%)
Mutual labels:  xiaomi, gateway
Ble monitor
Xiaomi Mijia BLE MiBeacon monitor
Stars: ✭ 611 (+2809.52%)
Mutual labels:  xiaomi
Easy Php
A Faster Lightweight Full-Stack PHP Framework 🚀
Stars: ✭ 754 (+3490.48%)
Mutual labels:  gateway
Xiaomi Cloud Tokens Extractor
This tool/script retrieves tokens for all devices connected to Xiaomi cloud and encryption keys for BLE devices.
Stars: ✭ 587 (+2695.24%)
Mutual labels:  xiaomi
Xiaomigateway3
Control Zigbee, BLE and Mesh devices from Home Assistant with Xiaomi Gateway 3 (ZNDMWG03LM) on original firmware
Stars: ✭ 617 (+2838.1%)
Mutual labels:  xiaomi
Janusec
Janusec Application Gateway, Provides Fast and Secure Application Delivery. JANUSEC应用网关,提供快速、安全的应用交付。
Stars: ✭ 771 (+3571.43%)
Mutual labels:  gateway
Socket.io Push
整合了小米,华为,友盟,谷歌,苹果推送的统一解决方案
Stars: ✭ 605 (+2780.95%)
Mutual labels:  xiaomi
Libuv Mbedtls
port mbedtls on libuv
Stars: ✭ 17 (-19.05%)
Mutual labels:  libuv
Diyhue
Philips Hue emulator that is able to control multiple types of lights
Stars: ✭ 586 (+2690.48%)
Mutual labels:  hue
Moarvm
A VM with adaptive optimization and JIT compilation, built for Rakudo
Stars: ✭ 537 (+2457.14%)
Mutual labels:  libuv
Gateway
🏰 Serving distributed Web Annotations from the decentralized web
Stars: ✭ 25 (+19.05%)
Mutual labels:  gateway
Miui8 Xml Japanese
Japanese MIUI 8 translation for xiaomi.eu
Stars: ✭ 16 (-23.81%)
Mutual labels:  xiaomi
Fw Cloud Framework
基于springcloud全家桶开发分布式框架(支持oauth2认证授权、SSO登录、统一下单、微信公众号服务、Shardingdbc分库分表、常见服务监控、链路监控、异步日志、redis缓存等功能),实现基于Vue全家桶等前后端分离项目工程
Stars: ✭ 717 (+3314.29%)
Mutual labels:  gateway

Zigbridge

Brief

This software aims to provide a proof of concept of a generic gateway to pilot devices on a Zigbee network. The gateway is designed to run on a Mac/Linux host equipped with a CC2531 USB dongle.

Current project state

The project is in "deep sleep" state : it means that I do not spend time on it anymore, and even if it may change in the future, I do not plan to work on it for now. However, feel free to re-use/fork/upgrade current project. As an alternative, if you are searching for a "ready to use" solution, I strongly encourage you to take a look at more mature solutions, like for example Zigate or Zigbee2MQTT.

As of today, with the appropriate hardware, the gateway is able to :

  • create a network and open it on command
  • touchlink a Hue go (full touchlink process under rework to enable comptaibility with full ZLL range)
  • install Xiaomi sensors and actuators
  • receive command through a Unix or TCP Socket (toggle lamp, open network, start touchlink...)
  • send status through a Unix or TCP Socket (temperature, new button state, etc)

The target features to be able to integrate it in a domotic solution to drive Zigbee devices in a home/appartment would be the following :

  • detection and notification of available devices
  • devices installation
  • report of installed devices
  • execution of basic commands on devices (light, switches, sensors)
  • supported devices types : ZLL compatible lamps, temperature sensors, etc. Even if this scope is still not reached, some nice showcases are available if you have the necessary devices (a demo, not supported anymore, is available if you checkout older version like 0.5.0, otherwise you can still use the gateway manually, see Interfaces how-to)

How to build it

You will need to flash CC2531 USB dongle firmware. Please follow the firmware instructions.

This project uses Meson as build system. You will need the following components :

  • Meson
  • Python 3
  • Ninja

Then you can build and execute the project with the following commands :

  • meson builddir
  • ninja -C builddir
  • ./builddir/zigbridge

The project currently have the following dependencies :

  • libuv
  • iniparser
  • jansson
  • eina

Installing those library is specific to the distribution you are using, so it would not be relevant to provide installation instructions. Just remember, if you decide to install it in non standard paths, to indicate those to the main binary using the LD_LIBRARY_PATH variable.
Moreover, remember to clone submodules too (git submodule --init update)

Static analysis on code

It is one good practice (and not only on this project !) to run a static analyzer on all sources to get design warnings and errors. To do so, install clang and then run the following commands :
meson builddir; ninja -C builddir scan-build`

How to run it

The gateway software can be run with the following arguments :

  • -c <config_path> : specify a custom configuration file. Without this argument, the gateway expects to find a configuration file under /etc/<app_name>/config.ini.
  • -r : during startup, completely reset the gateway state. It means that all devices and network configuration will be cleaned

The verbosity of logs is set thanks to Eina_Log mechanisms, through environment variables. Each module of the gateway has its own "log domain", and each log domain has a level. You can set the global log level for all domains with the EINA_LOG_LEVELS_GLOB variable, and you can set specific log level per domain with the EINA_LOG_LEVEL variable. Please see Eina Log documentation for further details on logs managements.

I want to report an issue or a feature request !

Please refer to section "Current project state" : I am currently not working on Zigbridge for now. You can still report your issue, but please do not take support for granted.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].