This repository is in charge of the CyBear Jinni App and is part of the CyBear Jinni Smart Home system.
The CyBear Jinni App lets you control and manage the CyBear Jinni smart devices through your Android, IOS and Web Browser.
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 lets you control and manage the CyBear Jinni smart devices through your Android and IOS smartphones.
The CBJ App is written in Flutter and let you control all the CBJ Smart Devices using local Wi-Fi and remotely through Google Cloud Firestore.
First install the app
Make sure your smart device have both Security Bear and Smart Device installed.
Now we need to link the smart device from inside the phone app.
In the app after login go to: "Devices" tab --> Press the three dots in the top right corner --> Press the "Add Devices" button --> connect the app to home WiFi --> Open Hotspot/Access point in the android settings with the user name and password "CyBear Jinni" --> Choose device and set it up with name and room.
That's it.
Now the new device can be found in "Devices" tab inside his category and can be controlled from our CyBear Jinni App π.
To run the app and start developing or testing check this Wiki.
To learn the coding guidelines check this Wiki.
Do not use the default Firebase configuration for your Smart Device devices at home, it is only for testing and development purposes. The app was not tested on IOS.
Instructions for creating your smart home can be found in the Wiki page
If you have any questions feel free to ask in our Discord server
- The app is not in the play store so you will need to upload it to your smartphone with a little knowledge about Flutter.
We need to install the app to your smartphone.
For now the app is not in the play store so install the flutter project to your phone manually.
Instructions for developers part is needed in order to connect the application to the smart devices, if you do not intend to do so than you can just run the app without extra steps.
Find the smart device Wi-Fi IP, it will be something like 10.0.0.12 .
Connect the phone to your home Wi-Fi.
Now we need to link the smart device from inside the phone app.
In the app go to: "Lamps" tab --> Press the cog in the top right corner --> Press the plus button --> Insert the smart device IP and press "Add" --> Change the device name and press the "Update" button --> Press the "Add devices".
That's it.
Now you can control your smart device from the CyBear Jinni App π.
- This part is only required if you are going to connect the application to the smart devices, if not you can just run the app without extra steps.
-
Insert your Firebase configuration into your flutter app.
-
Create a firebase console project for your smart home.
-
Add authentication user
Location: https://console.firebase.google.com --> Select project --> In the left side navigation drawer under the "Develop" click the "Authentication" text --> Click the button "Add user" --> Fill email and password and press "Add user" button.
- Download the google-services.json file from your Firebase console project.
Location: https://console.firebase.google.com --> Select project --> In the left side navigation drawer click on the cog at the top --> Project settings (It will take you to the General tab) --> Click "Add app" --> choose "Android" --> Fill all the details according you app --> Download google-services.json .
Move google-services.json into the flutter project to the .../android/app/ folder.
-
-
Copy the following fields values from the google-services.json:
project_id, current_key
into the file constant_credentials.dart to
fireBaseProjectId, fireBaseApiKey
fields respectively.
In the same file insert the firebase account credentials (email and password) that we created earlier into the fields
userEmail, userPassword.
Congratulations now deploy the app to your phone and you can connect to the smart devices with your own Cloud Firebase.
The code is based on DDD (Domain-Driven Design) principles, you can learn it from here.
Architecture diagram:
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.