The Virtual Crib - Home Automation Software Forum Index
RegisterSearchFAQMemberlistUsergroupsLog in
Can I help develop?

 
Reply to topic    The Virtual Crib - Home Automation Software Forum Index » Virtual Crib general discussion View previous topic
View next topic
Can I help develop?
Author Message
tjtrolinger



Joined: 18 Nov 2009
Posts: 3

Post Can I help develop? Reply with quote
Howdy Yall,
What a great project!
It looks like we are going down the same path. I have been working on my home automation software for about a year now.
www.ihousehomeautomation.com
It is no where near as far along as vCrib but looks like we have many of the same features and goals. If you are interested to have another developer in your project, I would be very intersted to help. At this point, it might make more sense for me to stop development of iHouse to be part of a more advanced project like vCrib.
I am a electronic engineer and my major programming skills are in VB6 and VB.Net. What major language is vCrib written?
I look forward to hearing from you.
TJ
[/url]
Wed Nov 18, 2009 8:55 am View user's profile Send private message
hobbes487



Joined: 10 Oct 2007
Posts: 268
Location: Boston, MA

Post Reply with quote
Welcome to vCrib! It is great to hear when other people are interested in helping to develop vCrib. We welcome any help that we can get. Currently there are really only two developers: Vaughn (the creator) and me. Vaughn has developed pretty much everything. I have created the following plugins/interfaces: zWave, Bluetooth, a command line interface, Jabber(IM) and a simple web interface.

Within the last year or so a .NET API has been created that allows anyone to develop interfaces for vCrib written in any .NET language without actually needing to know anything about the core applications. Vaughn is extremely open to allow others to help out and will spend countless hours walking you through how to get started developing for vCrib. You can find some information on the wiki, although it needs much improvement, about how to get started. Also, feel free to contact either of us via IM which are listed on our profiles.

_________________
Brian
Wed Nov 18, 2009 4:21 pm View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
CribKeeper
Site Admin


Joined: 09 Aug 2007
Posts: 653
Location: Overland Park, KS

Post Reply with quote
Welcome!

If you are old school VB6, I have a vcrib.cls that is the same as the .NET DLL for the most part. Tying existing apps into vcrib is not too hard. A few of vCrib's apps are still VB6. The new apps I have been writting are in VB.NET 2008. Hobbes has been using C#.

The DLL is nice, but is optional as it is just a wrapper for the database and any language or tech that can connect to a database can control everything. I moved as much into the DB iteself as I could, time allowing...

The existing GUI portion is still in VB6. I wrote a .NET version of just the main GUI tab to work as a screen, but the setup of the screens still relies on the VB6 Admin.exe.

Anyways, hit me up on IM sometime and we can chat, I am very open to sharing the continued design of vCrib with others as I don't think an individual could ever keep up with the competition otherwise. The more help the better.

Vaughn

_________________
the Crib Keeper
www.vcrib.com
Wed Nov 18, 2009 7:06 pm View user's profile Send private message Visit poster's website
tjtrolinger



Joined: 18 Nov 2009
Posts: 3

Post Reply with quote
Hey Guys, Thanks very much for your warm welcome!

Today I plan to download and install vCrib. Once I do that I am sure I will have many questions.

One thing that I havenít quite figured out from your descriptions is what is the intercommunication model for vCrib running on multiple computers? How do they communicate with each other?

I think ZWave may be one area that I can help. It looks like we are using the same ControlThink ThinkStick device. In my system I have full support for BinarySwitch, MultilevelSwitch, and GeneralThermostatV2.

I will try and catch you guys on Yahoo IM.
TJ
Sun Nov 22, 2009 9:25 am View user's profile Send private message
CribKeeper
Site Admin


Joined: 09 Aug 2007
Posts: 653
Location: Overland Park, KS

Post Reply with quote
Since vCrib is Database-centric, remote machines, websites, everything talks through the DB driver. So each machine on the network connects to the database (The vcrib.ini on each machine contains the DB info/IP).

The same app on multiple machines uses a unique process id to let the database know what/where it is. When you register your app in the database, one of the parameters is if it is a unique process. So something like a ZWave client that may only run on one machine can hardcode its process name/id, but apps that may run on every machine in the house, like a speaker client or GUI, will store its process name in the local vcrib.ini file.

So if we use the Speaker app as an example,

Machine 1's ini:
SPEAKER=Speaker Main

Machine 2's ini:
SPEAKER=Speaker Bedroom

When each machine talks to the vCrib database, it will pass it's Process info with most commands, and when reading things like the command queue, it simply does something like SELECT * FROM Command_Queue WHERE process_name=Speaker Bedroom.

That is the jist of it at least.

This saves every app from having to configure ports and firewalls, and makes them all work the same.

Most communication is behind DLL calls though, and the DLL will handle passing the process info, etc.

Vaughn

_________________
the Crib Keeper
www.vcrib.com
Sun Nov 22, 2009 11:25 am View user's profile Send private message Visit poster's website
tjtrolinger



Joined: 18 Nov 2009
Posts: 3

Post Reply with quote
Vaughn, Thank for the reply and great info.

Do the clients also get events through the database? SQL server is one of my weeknesses Smile I assume for example the X10 hardware (CM11 in your case) is plugged into one of the clients or server? When a X10 message is recieved the client put it into the database. How are the clients then notified of the change?

TJ
Sun Nov 22, 2009 11:41 am View user's profile Send private message
CribKeeper
Site Admin


Joined: 09 Aug 2007
Posts: 653
Location: Overland Park, KS

Post Reply with quote
In the case of a PLC like the CM11a, Insteon, Zwave, etc: Let say the PLC detects a light turn on, the app will call a DLL routine:

vCrib.Object_Update_Status (device_id, status, dim_level)

That will update the DB with the light's new status. Triggers in the DB will fire then checking conditions, triggers, update logs, etc.

The only clumsy part is the DB notifying apps that they have an inbound command... So lets say you click on a light in the GUI and the PLC needs to turn it on, the GUI inserts a command to turn the light on in a table called Command_Queue and the app will have to poll the DB to see that command is waiting for it.

So SELECT * FROM command_queue WHERE process='CM11A';

If you get any records returned, then the app has something it needs to do... so It turns the light on, and once the light is on, the PLC will see it and call vCrib.Object_Update confirming the light is now on.

This process changes a little from app to app, but that is the basics of it. Of course it would be nice if the DB could raise an event in the different apps and then they would not have to poll that table, but I have no idea how that would be done.

Vaughn

_________________
the Crib Keeper
www.vcrib.com
Sun Nov 22, 2009 1:40 pm View user's profile Send private message Visit poster's website
Humanzee



Joined: 22 Aug 2007
Posts: 519
Location: Seattle, WA

Post Reply with quote
Hey TJ, if you want something to work on, I'm still interested in this.

http://thevirtualcrib.com/phpbbdir/viewtopic.php?t=196

Vaughn may give you the source for the existing Speaker.exe as something to work from. I was thinking that in a speaker command that the text to speak could be parameter 1 and the speakers to speak it from could be in parameter 2.

I.e.
Parameter 1: "Speak this text, speaker test, test speaker one and four"
Parameter 2: "1,4"

or something.

Don't forget that some sound cards are up to 8 channels.
No go forth and do my bidding. Twisted Evil Very Happy

_________________
vCrib Tester #1, Forum moderator, using INSTEON devices, X10 sensors and remotes via W800RF, All doors are wired with contact closures.
vCrib Wiki
Mon Nov 23, 2009 2:16 am View user's profile Send private message
SnyperBob



Joined: 22 Aug 2007
Posts: 630
Location: Illinois

Post Reply with quote
I agree, we need a replacement for the AB8SS, especially since they are no longer produced. I set my home up with a whole-house audio system and the last piece was to pick up an AB8SS. Well, he went out of business before I bought mine and now I'm screwed Sad

_________________
Visit the vCrib Wiki!

Clever image to be inserted here soon.... Smile
Tue Nov 24, 2009 4:57 am View user's profile Send private message Visit poster's website AIM Address
Display posts from previous:    
Reply to topic    The Virtual Crib - Home Automation Software Forum Index » Virtual Crib general discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to: 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
Design by Freestyle XL / Flowers Online.