From LVL1
Jump to navigation Jump to search

LVL1 Automation Intelligence System

General Information


Please view the new MotherWiki Pages here: MotherStatus


MOTHER is the automation/artificial intelligence system for the LVL1 Hackerspace. MOTHER is not easily defined as any one specific type of system, as the nature of MOTHER is to be able to allow for automation and monitoring of any hardware or type of event that the use wishes. However, here is a short list of some of its primary features

  • Building Security
  • Automation of Lighting/HVAC/Power
  • Member Alerts and Notifications
  • Space Audio (streaming media)
  • Web communication with members providing information through various clients (web page, gtalk, twitter, etc..)
  • Touch screen control of entire space


This is a list of all events and actions that are in "STABLE" operation and should be performed by MOTHER at all times. IF you ever notice that MOTHER is not performing on of the actions, please use the "MOTHER FAULT" button located at one of the MOTHER STATIONS.

Monitoring and Updating of weather related information from NOAA % WWO
Full interaction and control via Google Talk messages sent to
Monitoring of Occupancy

These zones currently have occupancy detection: Main Entry, Main Dock, Lounge, Main Tables, BR1, BR2,

Hack a Day/Make Blog Monitor

Hourly checking of various blog sites postings. Mother will notify members via email sent to google group, via spoken announcement at space, and via 30 seconds of "PART TIME" mode at the space

Monitoring of the presence of these Members at the space

Jonathan C, Ben1, Aaron V, Tim M, Dan B, Chris C.

Immediately Planned Features

Phase 1 Actions/Triggers

  • Calendar Related Input
    • LVL1 Meetings
    • Trash Day
    • Recycling Day
    • Other weekly meetings
  • Individual Presence
    • Tracking of persons via wi-fi enabled devices

Details: Web Admin (from inside LVL1 network only)

Detailed Information

Systems MOTHER can control

These are external systems mother has the ability to control or communicate with. These systems may not yet be in place but MOTHER is ready to be connected to them as soon as they are installed.

Phone System

Security System

Networked Computers

Streaming Audio Clients

Devices Currently Monitored

Events Currently Implemented

Trash Night/Recycling Night
Check to see if Trash/Recycling Cans are inside on trash nights. If so play alerts to members throught the evening reminding them to take trash out. If trash still inside after 9pm, post message to Google group and send SMS to member within closest distance of space. If still inside at 10pm call members on notification list. Laser Cutter Operation - If laser cutter is in operation monitor occupancy sensor located in "Laser" zone. If occupancy sensor detects no human presence, then instruct operator to return to "Laser" zone. If no human detected after 2 alerts give final alert, followed by Laser Cut-Off.

HAD/MAKE Monitoring
Continously monitor HAD and MAKE blog for mention of LVL1 and LVL1 Projects. If LVL1 mention detected, then go into "PARTY" mode for 30secs, announce mention, and post notification and link to LVL1 Google Group

Girlfriend/Spouse Detection (opt-in only) - Monitor latitude distance of members girlfriends/spouses. If member is at space, notify member when girlfriend/spouse is within 1000ft of LVL1 Hackerspace. (This gives member time to pack up projects and be ready to leave when girlfriend/spouse arrives. This makes them happy) :)

General Security
Monitoring of entire Hackerspace when un-occupied. All areas of space secured by various thermal motion sensors, door contacts, glass-break detectors, etc... Any breach of security triggers phone calls to members on call list, phone calls to police dispatch, interior alarms, interior notifications, interior taunting, google group posting, etc...

Security Automation
Auto arming of hackerspace security system when MOTHER detects that everyone has left the building. Member Scenes - First member to arrive to un-occupied space is greeted by name, and building is set to members personal preferences. (audio streaming, lighting, video display, member alerts, etc...)

Become a MOTHER Lover!

Below is a list of MOTHER related events and project areas that are still in need of someone to work on.

Mother Lovin Meetings (Mondays,7PM,LVL1 Hackerspace

Upcoming Meeting:

Previous Meetings:


A complete/updated list of ALL mother related task needed to be completed can be found at:

  • (HIGH PRIORITY)Setup of MOTHER script to monitor various serial com ports and set values for various sensors
  • (HIGH PRIORITY)Setup of Arduino code to monitor serial com port data, trigger functions, and send sensor values.
  • (LOW PRIORITY) Infrared Arduino. Anyone with any experience with sending IR codes with an arduino? We just need a really simple script whose functions can all be triggered by commands over serial and include, receiving/storing ir codes, transmitting of IR codes.

Current Contributors:

  • Dan B: Brainstorming/Debugging/Setup
  • Ben: Occupancy Installation/Mother Setup
  • Jon3: Wiring/Hardware Setup/Mother Setup
  • Nick: Arduino Integration
  • Tim: Setup/Brainstorming/X10
  • Josh: General Setup/Installation

Task Specific Resources


Information related to the integration of Arduino and Homeseer.



Homeseer Related: StringItem(String,Index,"seperator") | StringItem (var,1,";")
Arduino String for all device values:

" ID , A ; 0 , 1 ; 1 , 0 ; 2 , 0 "
ID Sep2 Val Sep1 I/O Sep2 Val Sep1 I/O Sep2 Val Sep1 I/O Sep2 Val
String Processing
  • Check arduino ID

Dim ID
Dim FullString
Dim SubString
Dim StringTag
Dim StringVal

SubString = StringItem(FullString,1,";")
ID = StingItem(SubString,2,",")

  • Processing of I/O and Values

Loop through each sub string

dim iopin
dim ioval
dim hsdev
dim hsdeval
for i=2,+?

Pieces needed

  • Script running at startup to open specified com ports to be monitored

' com port script to send data to a COM port ' this script registers a callback script named com_event.txt ' when data is received on the COM port the com_event.txt script is called and the ' data can be processed there ' this script only needs to be called once as the com port will stay open

sub main() dim e e=hs.OpenComPort(5,"9600,n,8,1",1,"com_event_Ardunio1.txt"," main",chr(13)) if e <> "" then hs.writelog "Error opening com port",e end if

hs.writelog "comport_open_Arduino1.txt","Script Complete" end sub

  • This script is added seperately and is triggered anytime data is sent over the com port listed in the startup script.

sub main(data)

' process the com port data here

i = Instr(data,"=")

end sub


11/22 (Jonathan)

  • Installed Squeeze Server on ProdMother (Needs to be moved to own server in future)
  • Setup SqueezeBox Account (Default Mother Account)
    • Media Web Interface (
  • Integrated Pandora Streaming for Mother and Networked Media Servers
  • Integrated BBC Radio
  • Integrated Flickr into Distributed Media Server (need yahoo ID for Flickr Account)
  • Integrated Spotify into Streaming Media Server (need spotify premium account code)
  • Installed custom "Touch/Tablet" skin for Media Server Web Interface.

11/21 (Jonathan)

  • Added Local Network security to DevMother for increased security to Access Control.
  • Added Member Devices (Jon, Ben, Tim, Josh)
  • Added Events to trigger for Jon and Ben Occupancy