gohome: github.com/barnybug/gohome Index | Files | Directories

package gohome

import "github.com/barnybug/gohome"

The gohome home automation system


- Smart and configurable automation (flexible and customisable)

- Modular and easily extendible (language of your choice)

- Wide variety of devices supported (easy to add more)

- Distributed message system (run input and outputs over a network)

- Lightweight, small memory footprint (runs on the Raspberry Pi)

- Remotely controllable

- RFID keyless entry

- Smart burglar alarm

- Historic weather monitoring and alerting

- Zoned central heating control

- Automatic plant irrigation system

- Sunset / sunrise triggered home lighting

Services supported

- Twitter

- Jabber


- Email

- Graphite (graphs)

- Wunderground (http://www.wunderground.com/)

Devices supported

- rfxcom RFXtrx433 USB device (http://www.rfxcom.com/)

- Homeeasy remote control sockets/lights (http://homeeasy.eu/)

- Arduino with relay module (http://arduino.cc/)

- ZTE 3g modem (ZTE MF110/MF627/MF636, SMS support)

- USB 125KHZ EM4100 RFID Proximity Reader (RFID tag reader)

- Oregon Scientific WMR100/200 weather station

- Audio out (espeak text to speech)

- Foscam wireless IP cameras

- Motion webcam application

- Currentcost electricity monitor


Package Files



services/apiPackage api is a service providing an HTTP REST API to access gohome and control devices.
services/arduinoService to communicate with serial devices (such as an arduino) for controlling relays.
services/automataService for state machine based automation of behaviour.
services/billsService for providing daily estimates of electricity and gas bills.
services/bleService to detect bluetooth LE beacons.
services/cameraService for recording images, videos and controlling various IP cameras.
services/castPackage cast service to integrate Google Chromecast.
services/cheerlightsService to listen to cheerlights and send commands.
services/currentcostService for capturing currentcost meter electricity data.
services/dataloggerService for logging events to log files on disk.
services/energenieService to communicate with energenie sockets.
services/espeakerService to interface with espeak, providing text to speech.
services/graphiteService to write event data to graphite.
services/heatingService to thermostatically control central heating by schedule and zone.
services/hwmonService to track hardware stats (currently just temperatures)
services/irrigationService to water the garden based on how warm it has been.
services/jabberService to provide a jabber bot that can be queried, and provide alerts on activity.
services/lircService to hook into lirc and send IR codes.
services/mifloraService to retrieve sensors data for Mi Flora bluetooth sensors
services/orviboService to communicate with orvibo sockets.
services/presenceService to detect presence of people by pinging a device.
services/pubsubService to publish and subscribe to events throughout the system.
services/pushbulletService to send pushbullet messages.
services/raspiService to communicate with serial devices (such as an arduino) for controlling relays.
services/rfidService to publish events for tag inputs from a USB RFID (keyboard) reader.
services/rfxtrxService to communicate with an rfxcom USB transceiver.
services/scriptService to launch an external script/executable and transmit events on any valid data the process emits to stdout.
services/senderService to emit test events received on stdin.
services/slackService for a slack bot.
services/smsService to send and receive SMS messages via a GSM modem/USB dongle.
services/systemdService for launching and restarting service managed through systemd.
services/tasmotaService to communicate with sonoff tasmota firmware devices through MQTT.
services/telegramService to send telegram messages.
services/twitterService to hook into twitter and send and receive tweets.
services/upsService to collect stats from APC UPS devices.
services/watchdogService for monitoring devices to ensure they're still alive and emitting events.
services/weatherPackage weather is a service to alert a daily digest of the last day's weather conditions, and actively alert on unusual conditions (heavy rain, strong winds).
services/wundergroundService to publish weather data to wunderground.com.
services/xplPackage xpl service to integrate XPL device on/off messages.
services/yeelightService to communicate with yeelight light bulbs.

Updated 2019-05-14. Refresh now. Tools for package owners.