All Projects β†’ home-assistant β†’ Home Assistant Js

home-assistant / Home Assistant Js

Licence: other
🐝 JavaScript implementation of the Home Assistant API using NuclearJS

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Home Assistant Js

Frontend
🍭 Frontend for Home Assistant
Stars: ✭ 1,366 (+2632%)
Mutual labels:  home-assistant, home-automation, polymer
Open Home Automation
Open Home Automation with Home Assistant, ESP8266/ESP32 and MQTT
Stars: ✭ 820 (+1540%)
Mutual labels:  home-assistant, home-automation
Room Assistant
Presence tracking and more for automation on the room-level
Stars: ✭ 764 (+1428%)
Mutual labels:  home-assistant, home-automation
Supervisor
🏑 Home Assistant Supervisor
Stars: ✭ 862 (+1624%)
Mutual labels:  home-assistant, home-automation
Button Card
❇️ Lovelace button-card for home assistant
Stars: ✭ 680 (+1260%)
Mutual labels:  home-assistant, home-automation
Amazon Dash
Hack your Amazon Dash to run what you want.
Stars: ✭ 703 (+1306%)
Mutual labels:  home-assistant, home-automation
Homeassistant
Example Home Assistant Configs
Stars: ✭ 846 (+1592%)
Mutual labels:  home-assistant, home-automation
Hassio Zigbee2mqtt
Hass.io add-on for zigbee2mqtt
Stars: ✭ 547 (+994%)
Mutual labels:  home-assistant, home-automation
Home Assistant octopusagile
Octopus Agile custom component for Home Assistant
Stars: ✭ 30 (-40%)
Mutual labels:  home-assistant, home-automation
Hass Config
Configuration files for Home Assistant
Stars: ✭ 32 (-36%)
Mutual labels:  home-assistant, home-automation
Open Home
Projeto de automação residencial usando softwares e hardwares open source.
Stars: ✭ 41 (-18%)
Mutual labels:  home-assistant, home-automation
Wavin Ahc 9000 Mqtt
Esp8266 mqtt interface for Wavin AHC-9000/Jablotron AC-116
Stars: ✭ 47 (-6%)
Mutual labels:  home-assistant, home-automation
Ios
πŸ“± Home Assistant for Apple platforms
Stars: ✭ 667 (+1234%)
Mutual labels:  home-assistant, home-automation
Dasher
πŸ”˜ A simple way to bridge your Amazon Dash buttons to HTTP services
Stars: ✭ 705 (+1310%)
Mutual labels:  home-assistant, home-automation
Homebridge Homeassistant
DEPRECATED in favor of native HomeKit support. - ο£Ώ Homebridge plugin for Home Assistant
Stars: ✭ 666 (+1232%)
Mutual labels:  home-assistant, home-automation
Home Assistant Config
Home Assistant config files, rewritten to use the latest features, 100+ documented automations, automatically generated ToC 🏠 πŸ€–
Stars: ✭ 926 (+1752%)
Mutual labels:  home-assistant, home-automation
Micropython Home Assistant
🐍 Home Assistant client for MicroPython
Stars: ✭ 41 (-18%)
Mutual labels:  home-assistant, framework
Home Assistant Configuration
🏑 My Home Assistant Configuration Files. Be sure to ⭐️ my repo!
Stars: ✭ 472 (+844%)
Mutual labels:  home-assistant, home-automation
Esphome Core
🚨 No longer used 🚨 - The C++ framework behind ESPHome
Stars: ✭ 545 (+990%)
Mutual labels:  home-assistant, home-automation
Android
πŸ“± Home Assistant Companion for Android
Stars: ✭ 881 (+1662%)
Mutual labels:  home-assistant, home-automation

home-assistant-js Build Status (deprecated)

JavaScript backend in NuclearJS for Home Assistant. This was used by the Home Assistant Polymer frontend till version 0.37. It has since been deprecated and is no longer under active development.

Cool stuff

In this section some of the cool stuff that I built on top of NuclearJS.

The Rest API module holds the data that is being retrieved from the server. The Rest API module is based on the NuclearJS Rest API example. This module is the foundation for the entity, event and service modules. Each of these implement their own model, based on the ImmutableJS Record object.

The more-info module powers a UI component that shows more information about an entity. The only information that is stored in the store is the ID of the current selected entity. By using composable getters it is able to automatically serve the correct information when an entity is selected or updated. Another nice use of getters can be seen in the config module which allows the dynamic creation of getters to observe if a certain component is loaded.

The stream module streams all events from the Home Assistant server using the HTML5 EventSource API. It dispatches the same actions for received events as when the data would have been loaded using REST api calls.

The voice module allows the user to send voice commands to Home Assistant. The voice is being translated to text using the HTML5 SpeechRecognition API. (Only available in Chrome)

The preferences module tracks certain parts of the global app state and stores them in local storage to persist them between sessions. The preferences object is queried on launch of the application after which startSync() is called to keep the local storage synced with the global app state.

The navigation module keeps track of which part of the UI is currently visible. It will sync this state to the URL using the HTML5 History API. This allows the users to bookmark a current page in the application and enable the use of browser back and forward buttons. (Not available in Demo mode)

Home Assistant JS can be compiled with the DEMO flag enabled. This will override the callApi() method to return demo data. The Webpack define plugin is used to convert an environment variable to be available in JS. UglifyJS is used to strip out the demo parts when the demo mode is disabled so it will never ship to production.

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].