Easy to use open source Hub πŸ•ΈοΈ to control your smart devices from one app.

Overview

CyBear Jinni Hub

Snapcraft dart CI style: lint License: AGPL v3

CyBear Jinni image

Welcome!

This repository is in charge of controlling smart devices and is part of the CyBear Jinni Smart Home system.

The software is writen in dart and allows you to control smart devices from different companies in the same app and adding automation between them while keeping your privacy.

For controlling the hub from your phone you can use CyBear Jinni App.

This part is using the snap store in order to have easy way to update all the devices software versions with new features and security updates.

Get it from the Snap Store

Social Media Links

If you have any questions feel free to ask in our Discord server

Disclaimers

Use at Your Own Risk, we do not take responsibility on any outcome using anything in this repo.

The project is under heavy work and may contain bugs and incorrect instructions.

Comments
  • Ignore file in git action dart format

    Ignore file in git action dart format

    As you can see the git action format did a format on lib/injection.config.dart https://github.com/CyBear-Jinni/cbj_hub/pull/181/commits/b66e3c137c19a185ffec6c4f320371369169a7ec

    injection.config.dart is autogenerated file and thus should not get formatted.

    Please change git action dart format so that it will ignore lib/injection.config.dart

    https://github.com/CyBear-Jinni/cbj_hub/blob/4e84ecab6be5570a05d0520200c348956187950d/.github/workflows/format.yml#L29

    Should become

    find . -name "*.dart" ! -path '*/gen/*' ! -name 'injection.config.dart' | tr '\n' ' ' | xargs dart format

    enhancement good first issue hacktoberfest-accepted hacktoberfest 
    opened by guyluz11 8
  • Add support fo Tuya devices

    Add support fo Tuya devices

    Tuya devices are popular option when its come to smart devices. It is one of the most used smart devices in Home Assistant with 14.4% of its users using it. So adding support for that takes priority.

    image

    help wanted feature request JavaScript knowledge Python knowledge 
    opened by guyluz11 7
  • Readme change social media icons

    Readme change social media icons

    Please change the social media icons to be the same as the one in the bottom of this readme

    https://github.com/CyBear-Jinni/cbj_app/blob/dev/README.md

    documentation good first issue super easy hacktoberfest 
    opened by guyluz11 5
  • Add basic support for ESPHome device

    Add basic support for ESPHome device

    ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. I think ESPHome is owned by Home Assistant. Percent of users in Home Assistant is 17.5

    image

    feature request hacktoberfest 
    opened by guyluz11 5
  • issue #175 : upgrading the dependencies

    issue #175 : upgrading the dependencies

    #175 I've updated the dependencies to the latest version without any dependencies issues constraints. There is some dependency that I've not updated because another dependency depends on their lower versions. So it'll create a major problem in version solving.

    opened by superiorsd10 4
  • Readme is missing NodeRED instructions

    Readme is missing NodeRED instructions

    In the readme file we are missing NodeRed installation instructions + link.

    Please add node-red instructions under the MQTT with the following link

    NodeRed link: https://snapcraft.io/node-red

    MQTT broker link: https://snapcraft.io/mosquitto

    image

    The end result should look like this (with links)

    To run the hub you will also need MQTT broker as well as NodeRed.

    bug documentation good first issue super easy hacktoberfest-accepted hacktoberfest 
    opened by guyluz11 3
  • Scan devices in the network more efficiently

    Scan devices in the network more efficiently

    Currently we scan all the time each vendor that we support.

    This is not so efficient as it is a lot of unnecessary scans as most homes do not contain all the vendors that we support. And our vendor's support will only grow larger and with it the inefficiency of scanning all of them.

    There are a number of smart devices that support mDNS protocols. My suggestion is to scan all the mDNS devices in the network and activate specific devices vendor scan for serviceType that corresponds to this vendor.

    This way we will activate only vendors that exist in the user local network.

    enhancement improving code organization 
    opened by guyluz11 3
  • Connect the hub with node-RED

    Connect the hub with node-RED

    The Hub got built around the concept of MQTT in order to use tools like Node-RED to its advantage.

    Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

    It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

    Node-RED is full of features and has a pretty good graphical user interface.

    Let's create an integration layer with Node-RED to control and change nodes inside of it.

    1. The Hub will be able to use it to control and manage nods for scenes, control devices, routines, bindings.
      #18
    2. Will grant the user option to see visually his scenes, routines, bindings.
    3. Will grant the user the option to create complicated scenes, routines, bindings by using the Node-RED GUI interface.
    4. You can download nodes in Node-RED that will grant us more functionality like interacting with alexa skills or nodes to "communicate with Sonoff Smart Switch devices on LAN" which will add support for more devices automatically for us.
    help wanted feature request 
    opened by guyluz11 3
  • Tuya differentiate smart plugs from touch switchs

    Tuya differentiate smart plugs from touch switchs

    Currently smart plugs and touch switches are the same for the hub.

    Tuya API response includes both devType and haType but they are both switch types which I think is a bug in their API. The only differentiate that I have found in the response of the device is the attached image URL of the device but this is not a good way to distinguish between the devices.

    enhancement have blocker 
    opened by guyluz11 3
  • Remote pipes connection timout

    Remote pipes connection timout

    After 10m the connection to the remote pipes time out with the error

    β›” Client stream error: gRPC Error (code: 2, codeName: UNKNOWN, message: HTTP/2 error: Connection error: Connection is being forcefully terminated. (errorCode: 10), details: null, rawResponse: null, trailers: {})

    bug 
    opened by guyluz11 3
  • Add support for Shelly devices

    Add support for Shelly devices

    Shelly is a big player in the smart home system. In Home Assistant 12.7% of its users use it. Shelly suppose to have cloud API so it does not need to be so hard to add support for it, but local control is preferred if exists any.

    image

    JavaScript knowledge Python knowledge new vendor support 
    opened by guyluz11 3
  • Python packages not installing on arm

    Python packages not installing on arm

    When trying to run the same code that works but this time on my arm device it looks like the python packages are not installed.

    My hypothesis is that Dart python_shell package have a timeout for installing a python packages and so when running inside the virtual environment after initialization the python package is not installed even though we have added it in needed dependencies.

    Tested outside of snap with the original example from python_shell Dart package and it is not working.

    bug 
    opened by guyluz11 1
  • Add Matter support

    Add Matter support

    Matter i a new IOT standart developed with corporation of big companies like Google Amazon Apple and more.

    It just got support under Home Assistant using the python package python-matter-server and have 1095 active users.

    Formerly Project named CHIP, worked on by a group named Connectivity Standards Alliance.

    GitHub link

    Logo_of_Matter_connectivity_standard svg

    feature request new vendor support 
    opened by guyluz11 1
  • Too many open files error

    Too many open files error

    After running the hub for several hours on my arm device I got this exception.

    Unhandled exception:
    SocketException: Failed to create datagram socket (OS Error: Too many open files, errno = 24), address = , port = 5353
    #0      _NativeSocket.bindDatagram (dart:io-patch/socket_patch.dart:1015:7)
    <asynchronous suspension>
    #1      MDnsClient.start (package:multicast_dns/multicast_dns.dart:135:40)
    <asynchronous suspension>
    #2      MdnsScanner._findingMdnsWithAddress (package:network_tools/src/mdns_scanner/mdns_scanner.dart:72:5)
    
    

    I think increasing the delay between mdns searches will fix that.

    bug 
    opened by guyluz11 2
  • Moving to Isar

    Moving to Isar

    We are currently moving back from Isar to hive as it currently does not support Linux arm architecture.

    Let's keep track of this and make the move to Isar whenever it is resolved as it is better than hive.

    Linking the issue to add Linux arm architecture support for Isar: https://github.com/isar/isar/issues/848

    have blocker improving code organization 
    opened by guyluz11 0
Owner
CyBear Jinni
πŸ¦ΎπŸΌπŸ§žβ€β™‚οΈ Advance open source Smart Home 🏑 with focus on local control and privacy.
CyBear Jinni
πŸ“± CyBear Jinni App is the app to control CyBear Jinni Hub πŸ’‘ remotely from your Android, IOS and Web Browser

CyBear Jinni App Welcome This repository is in charge of the CyBear Jinni App and is part of the CyBear Jinni Smart Home system. The CyBear Jinni App

CyBear Jinni 104 Dec 1, 2022
Transform your smart devices to intelligent communicators.

Donna According to a survey of 601 people, 57.9 % of participants experienced communication difficulties, with 23.5 % reporting severe difficulties. O

Betaoverflow 9 Dec 19, 2022
Lottery smart contract is built with Solidity and Brownie. Flutter Web is used to buid the UI and link the smart contract.

lottery_dapp A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

Mano Vikram 1 Dec 15, 2021
Dig is a hub blockchain that interconnects physical plots of land, which will each be governed by a locally operated blockchain.

Dig is a hub blockchain that interconnects physical plots of land, which will each be governed by a locally operated blockchain. Due to the regulatory challenges involved, dig splits itself up into many chains which can each follow appropriate legislation. This is the beginning of the "Dig Network."

notional-labs 183 Dec 17, 2022
A new Flutter Application to control self build lamps for my personal use.

A new Flutter Application to control self build lamps for my personal use. You need extra hardware & software for getting this project running. This is just the code of the App.

null 1 Mar 2, 2022
A full-fledged one-to-one chat app developed entirely in Flutter

Enigma Enigma - A minimalist, locked-down one-to-one chat app. Usage Flutter - Get Started Since this is a Firebase dependent project, create a Fireba

Amit Joki 389 Dec 23, 2022
Bloon - One click, One party - app to find club in Paris

Bloon Bloon is mobile application for E3 project in ESIEE Paris. It list all night clubs and events in Paris and recommend you according to you person

null 57 Oct 17, 2021
Your grades across all your devices.

Gradely 2 A Grade Calculator App, that syncs all your Grades across all your devices, built with Flutter and with the amazing backend Appwrite. Screen

Elias Schneider 16 Dec 8, 2022
A multi-plateform (Flutter) application for reading your emails, with your favorite devices, using the JMAP protocol!

A multi-plateform (Flutter) application for reading your emails, with your favorite devices, using the JMAP protocol!

LINAGORA 119 Jan 2, 2023
A simple easy to use Flutter DApp , which keeps a track of all your day to day transactions by using Ethereum blockchain in the background which in turn increases your credit score.

Sahayog A simple easy to use Flutter DApp , which keeps a track of all your day to day transactions by using Ethereum blockchain in the background whi

Utkarsh Agarwal 15 May 21, 2022
A Dart library with a solution to use smart enums

Smart Enums Author: Jop Middelkamp A package that can help you create 'smarter' enums that could be extended with some domain logic. Usage final bestF

Jop Middelkamp 2 Oct 1, 2022
A Flutter application to easily manage and control your Algorand nodes.

Algorand Node Companion App Algorand Node Companion App is a mobile, web and desktop application that can manage, operate and track the status of your

Tomas Verhelst 15 Oct 18, 2022
OOTP (Open One-time Password) is a supports multiple programming languages.

OOTP (Open One-time Password) is a supports multiple programming languages. The generated one-time passwords are fully compliant with HOTP (HMAC-based One-time Password) and TOTP (Time-based One-time Password).

Odroe 16 Nov 20, 2022
A flutter app for a wordpress websites with clean and elegant design. This app is available in free and pro version. You can choose to use the one you need.

?? Get Flutter for Wordpress Flutter for wordpress is currently available in free and pro version: Flutter for Wordpress Flutter for Wordpress Pro Bea

mcyos118 18 Dec 13, 2022
Note app is open-source notes app for Android & ios. It is built with Dart on top of Google's Flutter Framework.

Note App ✍?? Note App & SqfLite &GetX [MVC pattern] ????‍?? Note app is open-source notes app for Android & ios. It is built with Dart on top of Googl

null 25 Nov 29, 2022
Timy - open source mobile app for groups to communicate and organize themselves. Built with flutter.

Timy app An amazing open-source group messaging app build with flutter. ✨ Main Features Multiple groups (similar to Teams in Slack). Multiple open or

null 1.9k Dec 25, 2022
freeCodeCamp's open-source mobile app

freeCodeCamp.org's open-source mobile app freeCodeCamp.org is a friendly community where you can learn to code for free. Our full-stack web developmen

freeCodeCamp.org 248 Jan 9, 2023
Open source password generator app for Android and iOS

Parole is an open-source, free, and cross-platform service that is intended to make people secure on the internet ecosystem. Parole excels to build up

Shivam Yadav 1 Oct 19, 2021