Automation
General
See also AI, Audio, Playback, Lighting
- https://en.wikipedia.org/wiki/X10_(industry_standard) - a protocol for communication among electronic devices used for home automation (domotics). It primarily uses power line wiring for signaling and control, where the signals involve brief radio frequency bursts representing digital information. A wireless radio based protocol transport is also defined. X10 was developed in 1975 by Pico Electronics of Glenrothes, Scotland, in order to allow remote control of home devices and appliances. It was the first general purpose domotic network technology and remains the most widely available. Although a number of higher bandwidth alternatives exist, X10 remains popular in the home environment with millions of units in use worldwide, and inexpensive availability of new components.
- https://en.wikipedia.org/wiki/xPL_Protocol - an open protocol intended to permit the control and monitoring of home automation devices. The primary design goal of xPL is to provide a rich set of features and functionality, whilst maintaining an elegant, uncomplicated message structure. The protocol includes complete discovery and auto-configuration capabilities which support a fully "plug-n-play" architecture - essential to ensure a good end-user experience. xPL benefits from a strongly specified message structure, required to ensure that xPL-enabled devices from different vendors are able to communicate without the risk of incompatibilities. Communications between xPL applications on a Local Area Network (LAN) use UDP on port 3865. xPL development has primarily occurred in the DIY community, where users have written connecting software to existing protocols and devices. Some examples include bridges to other home automation protocols like Z-Wave and UPB. Commercially, the Logitech SqueezeCenter software for the Squeezebox supports xPL.
- PiHAT - Rasberry Pi Home Automation Transmitter
- https://github.com/s7mx1/pihat - cloned from original pihat, cloned from original pihat
- WallPanel - an Android application for Web Based Dashboards and Home Automation Platforms.
Control
Node-RED
- Node-RED - 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.
n8n
- n8n.io - a free node based "Open Source" (Apache 2.0 with Commons Clause) Workflow Automation Tool. It can be self-hosted, easily extended, and so also used with internal tools., an alternative to Zapier/tray.io
openHAB
- openHAB - a vendor and technology agnostic open source automation software for your home
MisterHouse
- https://github.com/hollie/misterhouse - Perl open source home automation program. It's fun, it's free, and it's entirely geeky.
Homebridge
- https://github.com/nfarina/homebridge - a lightweight NodeJS server you can run on your home network that emulates the iOS HomeKit API. It supports Plugins, which are community-contributed modules that provide a basic bridge from HomeKit to various 3rd-party APIs provided by manufacturers of "smart home" devices.
Home Assistant
- Home Assistant - Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
Hass.io
- Hass.io - turns your Raspberry Pi (or another device) into the ultimate home automation hub powered by Home Assistant. With Hass.io you can focus on integrating your devices and writing automations.
NLP
See also Speech
- Metacat - a computer model of analogy-making and perception that builds on the foundations of an earlier model called Copycat. Copycat was originally developed by Douglas Hofstadter and Melanie Mitchell as part of a research program aimed at computationally modeling the fundamental mechanisms underlying human thought processes. Central to the philosophy of this research is the belief that the mind's ability to perceive connections between apparently dissimilar things, and to make analogies based on these connections, lies at the heart of intelligence. According to this view, to understand the analogical mechanisms of thinking and perception is to understand the source of the remarkable fluidity of the human mind, including its hidden wellsprings of creativity.
Like Copycat, Metacat operates in an idealized world of analogy problems involving short strings of letters. Although the program understands only a limited set of concepts about its letter-string world, its emergent processing mechanisms give it considerable flexibility in recognizing and applying these concepts in a wide variety of situations. The program's high-level behavior emerges in a bottom-up manner from the collective actions of many small nondeterministic processing agents (called codelets) working in parallel, in much the same way that an ant colony's high-level behavior emerges from the individual behaviors of the underlying ants, without any central executive directing the course of events.
Metacat focuses on the issue of self-watching: the ability of a system to perceive and respond to patterns that arise not only in its immediate perceptions of the world, but also in its own processing of those perceptions. Copycat lacked such an "introspective" capacity, and consequently lacked insight into how it arrived at its answers. It was unable to notice similarities between analogies, or to explain the differences between them or why one might be considered to be better or worse than another. In contrast, Metacat's self-watching mechanisms enable it to create much richer representations of analogies, allowing it to compare and contrast answers in an insightful way. Furthermore, it is able to recognize, remember, and recall patterns that occur in its own "train of thought" as it makes analogies. For instance, by monitoring its own processing, Metacat can often recognize when it has fallen into a repetitive cycle of behavior, enabling it to break out of its "rut" and try something else. [4]
Bots
Microsoft Bot Framework
- Microsoft Bot Framework - A comprehensive framework for building enterprise-grade conversational AI experiences. [5]
Rasa Core
- Rasa Core - robot open source chatbot framework with machine learning-based dialogue management - Build contextual AI assistants
Virtual assistant
Jasper
- https://github.com/nickoala/judy - Simplified Voice Control on Raspberry Pi, fork of Jasper, undeveloped
Naomi
- Naomi - An open source platform for developing always-on, voice-controlled applications. Based on the previous work from Jasper.
Mycroft
- Mycroft Mycroft - the world’s first open source assistant. Mycroft runs anywhere – on a desktop computer, inside an automobile, or on a Raspberry Pi. This is open source software which can be freely remixed, extended, and improved. Mycroft may be used in anything from a science project to an enterprise software application.
Kalliope
- Kalliope - a modular always-on voice controlled personal assistant designed for home automation.
Dragonfire
- https://github.com/DragonComputer/Dragonfire - the open-source virtual assistant for Ubuntu based Linux distributions
Almond
- Almond - The Open, Privacy-Preserving Virtual Assistant. Almond translates your commands into a personalized program.
Leon
- Leon - an open-source personal assistant who can live on your server. He does stuff when you ask for it. You can talk to him and he can talk to you. You can also text him and he can also text you. If you want to, Leon can communicate with you by being offline to protect your privacy.
Stephanie
- Stephanie - an open-source platform built specifically for voice-controlled applications as well as to automate daily tasks imitating much of a virtual assistant's work.
BotLibre.org
- BotLibre.org - an open source platform based on an advanced artificial intelligence engine developed in Java. The Bot Libre AI engine can be used in any Java platform, such as a Java webserver, Java client, or on Android. The Bot Libre SDK supports access to Bot Libre's web API from JavaScript, Android, Java, iOS, and objective C. [8]
Rhasspy
- Rhasspy - (pronounced RAH-SPEE) is an open source, fully offline voice assistant toolkit for many languages that works well with Home Assistant, Hass.io, and Node-RED. [9]
Pi-Vopice
- https://github.om/rob-mccann/Pi-Voice - The beginnings of a Star Trek-like computer. Run the program, speak into your microphone and hear the response from your speakers. Undeveloped.
Wit.ai
- Wit.ai - makes it easy for developers to build applications and devices that you can talk or text to. Our vision is to empower developers with an open and extensible natural language platform. Wit.ai learns human language from every interaction, and leverages the community: what's learned is shared across developers.
SUSI.AI
- SUSI.AI - Open Source Artificial Intelligence for Personal Assistants, Robots, Help Desks and Chatbots.
Alexa
- https://github.com/alexa-pi/AlexaPi - a client for Amazon's Alexa service. It is intended and tested to run on a wide range of platforms, such as Raspberry Pi, Orange Pi, CHIP and ordinary Linux or Windows desktops. Undeveloped.
- https://github.com/respeaker/avs - python implementation of alexa voice service app, 支持DuerOS
Google Assistant
- https://github.com/ItsWendell/google-assistant-desktop-client - A Cross-Platform client for Google Assistant, written in NodeJS / Electron.
Hardware
- 2018-04-20: Making a Window Manager (part 1) - You know what happens in the office, usually late in the afternoon? That’s right! Exactly when you’re at the peak of productivity, Mr. Sun basically slams into your window and mocks you. In the face. You could raise from the chair and turn the shades, I guess. You could. But I can not. I need an automatic sun-b-gone mechanism! Something smart, IOT and with blockchain technology. A true Window Manager™. Can we make it using only assorted junk found on the desk? Looking through the stuff I think I see a small stepper and some micros… I believe We Can
Firmware
See also Lighting#Bulbs
Espurna
- https://github.com/xoseperez/espurna - a custom firmware for ESP8285/ESP8266 based smart switches, lights and sensors. It uses the Arduino Core for ESP8266 framework and a number of 3rd party libraries.
ESPEasy
Tasmota
- https://github.com/arendst/Tasmota - Alternative Firmware for ESP8266 based devices like itead Sonoff, with Web, Timers, OTA, MQTT, KNX and Sensors Support, to be used on Smart Home Systems. Written for Arduino IDE and PlatformIO
espota-server
- https://gitlab.com/stavros/espota-server - an HTTP server that can hold firmware for flashing with the ESP8266 Arduino firmware. It's useful when you have many ESP8266-based devices in the field and want them to download their own firmware to update themselves, rather than you having to push firmware to each one separately.The main difference between the espota-server and any other HTTP server is that it only serves firmware to the device if there's a newer version of the firmware available. If there's no newer version, it just responds with a "no new version" and the device goes on its merry way.
Sensors
- The Adaptive House - Michael C. Mozer
- https://github.com/gmag11/EnigmaIOT - an open source solution for wireless multi sensor systems. It has two main components, multiple nodes and one gateway.A number of nodes with one or more sensors each one communicate in a secure way to a central gateway in a star network using EnigmaIoT protocol.
Web
Piping
- Huginn is a system for building agents that perform automated tasks for you online. They can read the web, watch for events, and take actions on your behalf. Huginn's Agents create and consume events, propagating them along a directed event flow graph. Think of it as Yahoo! Pipes plus IFTTT on your own server. [10]
Growing
- Open Ag Toolkit - Precision Farm Management. Android software for agriculture management that improvs the way farmers are able to collect and use information.
- http://weburbanist.com/2015/01/11/worlds-largest-indoor-farm-is-100-times-more-productive/
- http://weburbanist.com/2015/04/02/plantlab-urban-farms-40-times-more-productive-than-open-fields/
- Open Ag Toolkit - Precision Farm Management. We want to make it easier to manage farms by improving the way farmers are able to collect and use information. So, we're writing some simple, free, open-source mobile apps that sync across everyone on a farm through existing cloud services like Trello and Dropbox.
- BuckyBox - powering your local food enterprise. We have built all of your daily operations into a simple to use web app that customers love and which saves you time. Bucky Box is open-source software, we charge for hosting only. Technical support is not included and billed separately.
- Pricing - Casual: 1.5% per delivery, capped at 25p, Standard: £35 monthly + 0.5% per delivery, capped at 15p
- https://github.com/buckybox
- Open Sprayer - An autonomous land drone crop sprayer