EternityForest
Posts: 5
Joined: Fri Jul 12, 2013 7:15 pm

KaithemAutomation (general automation/web IDE system)

Fri Jul 12, 2013 7:41 pm

So, I looked around and I really didn't like any of the other open source automation systems out there. I liked lagartoMAX the best, but it still wasn't quite right.

So for the last couple of months, I've been designing my own home automation system, designed for haunted houses, interactive kiosks, and whatever else needs automating.

So far, I've implemented a web GUI(with theming), users/groups/permissions, events(Either polled python statements or special "trigger expressions"), pages(dynamic pages rendered using Mako that can be protected by permissions and have side effects), an internal message bus(this was tricky to get right), sound playing, and basic error handling.

I've tested a version on the pi about a week ago and it worked pretty well, but main development is done on desktop Linux. It's pure python so it shouldn't matter.

It has a few pi-specific features, like it almost never writes to disk unless you explicitly tell it to(saves flash cycles), and a lot of effort went into pre-caching and pre-compiling as much as possible for performance reasons. To avoid thread creation overhead I'm using a custom thread pool, and a future version might have intelligent/predictive polling for event conditions that take time(like network queries)

So, what I'm looking for is some feedback on if there is a general interest in this kind of system, what kinds of features you guys want(besides better documentation and code cleanup, which is already my top priority), and what kinds of things you might use something like this for. I'm aiming to get to at least beta quality within a month or so(just a few missing features, like proper SCADA style alarms, a sane configuration file/set of folder locations, and encrypted passwords)in any case.

What I have now is GPL'd at: https://github.com/EternityForest/KaithemAutomation if you're interested.
Thanks guys!

NewPi
Posts: 66
Joined: Sat Aug 18, 2012 2:52 pm

Re: KaithemAutomation (general automation/web IDE system)

Wed Jul 17, 2013 7:41 am

Hi,

I downloaded this and tried executing both on Windows and Raspbian and resulted in error, as far as I remember it was something related to 'what 123' . I guess you should make an easy to use installation script which installs all requirements, do the configs and launch.

Thanks
Raspberry Pi Howto, Tips, Tricks and Tools -> http://bit.ly/RPiTricks

EternityForest
Posts: 5
Joined: Fri Jul 12, 2013 7:15 pm

Re: KaithemAutomation (general automation/web IDE system)

Fri Jul 19, 2013 7:32 am

Kaithem is still under development and nowhere near beta quality, so my apologies. I'm pretty sure the error has something to do with the use of the command "which mpg123" to detect if the audio player called mpg123 is availible.

It's supposed to auto-switch to a dummy audio player without if it is missing, but I guess I made a bug somewhere. I don't have a windows machine that isn't super slow but I do remember something about not all windows boxes having access to the which command. When I am at my computer I will look into this.

Thanks for the post, I never would have noticed that bug myself.

EDIT:
I couldn't resist booting up the computer and doing some changes. I looked into it some more and found that windows does not have a which command(I never used the command line in windows much so I don't know much about it), so now I have replaced that with a python function that scans the PATH for files matching the name. That should at least fix part of the issue.

As for the simple install script, I'm working on making a proper .deb package, the changes to the directory structure and config system were actually to support that.

EternityForest
Posts: 5
Joined: Fri Jul 12, 2013 7:15 pm

Re: KaithemAutomation (general automation/web IDE system)

Thu Jul 25, 2013 8:26 am

More changes: All depedancies are now included by default, so in theory you should not need to install anything besides python and a web browser(unzip-and-run). Including all python libs also solves the problem of python dependancies not working well with debian packages, so from here making an deb package should be fairly easy although the unzip and run method has its appeal too(self contained instances on a flash drive, etc)

Also, I added a few screenshots to the repo.

Return to “Automation, sensing and robotics”