Anyone interested in discussing building DIY Home Automation software and hardware?

Build options are as follows: Target CPU is AnyCPU and Prefer 32 bit is unchecked.
 
I've installed SQLIte using Nuget  Install-Package System.Data.SQLite but I can't find any Nuget command to install Sqlite.Interop.dll.  I downloaded SQlite a long time ago to my local drive.  This download contained a Sqlite.Interop.dll.  This is the dll that I tried to manually reference and received the above error.  Unfortunately, I cannot find any Nuget command to install Sqlite.Interop.dll.
 
Using Nuget...
 
Install-Package System.Data.SQLite.Core
'System.Data.SQLite.Core 1.0.102.0' already installed.
Commons already has a reference to 'System.Data.SQLite.Core 1.0.102.0'.
 
Nuget package manager has..
System.Data.SQLite (x86/64)
System.Dat.Sqlite.Core (x86/64)
System.Data.SQLite EF6
 
 
Bob,
 
It is System.Data.SQLite.Core in Nuget. Likely you have the same issue as I had with SQLite - it is picking up an old version, but you don't want to mix versions.
 
GIve me an hour as I'm rebuilding a new machine to try it out from scratch to work out the easiest way to include the relevant files as my existing machine is polluted with older installs from prior Windows installs. Will post with any updates including to the GitHub files.
 
Bob,
 
I installed the server hub software following the instructions posted on hackaday.io on another machine that had no development stuff installed previously and it installed perfectly when following the steps, no problems with dependencies at all.
 
Also sync a new version of HAClient as I fixed a bug with viewing channels when starting with a new client.
 
Finally found a solution to my problem.  I had to manually copy SQLite.Interop.dll to the HAConsole\bin\debug directory and change the TargetCPU to x86.
 
Ran into another issue.  The app cannot find the compression NodeJs module.  I have installed the compression module using nod install compression.
 
FYI.  I also had to install the ini and express modules to eliminate other NodeJS problems.
 
Hi Bob, good to see you got it working. The compression, Express and Ini Node.JS requirements were written up in the hackaday blog as dependencies.
 
Let me know how you go with the front end / widgets & plugins (sync HAClient from github as I made updates overnight). Use the examples to see how they work as well as the write up on hackaday.io.
 
NeverDie said:
You may find one or both of the following to be interesting:
http://www.mysensors.org/
https://pidome.wordpress.com/
Like you, they are also leveraging MQTT.
 
I get the impression that the sticking point for most DIY efforts is driver support.  Apparently that's where 50-80% of the development effort goes among the various non-free home automation softwares (cf. http://cocoontech.com/forums/topic/27336-frustrated-with-home-automation-software/page-13).
 
Good info, thanks!
 
I get the following three errors whenever I start HAConsole...
 
12:30:23.572    SYSTEM  HTTP    Error with the web server Error: listen EACCES 0.0.0.0:80
12:30:25.397    SYSTEM  SOCKETS Error with the Sockets server Error: getaddrinfo ENOTFOUND homeserver
12:30:25.397    SYSTEM  MQTT    Error with the MQTT server Error: getaddrinfo ENOTFOUND homeserver
 
When I run HAClient,  I only get a blue house icon in upper left and a "Starting Home Automation Client" message at the bottom of the screen.
I have deleted all the plugins except the weather plug.
 
I'm just not sure how to resolve these issues.
 
Bob,
 
Have you checked the firewall settings, seems like there is an access control problem with Express, the Node.JS web server or you have another web server on the machine active taking port 80.
 
Also homeserver is the name of my hub server and has been hard coded (my bad, not a good practice!). Edit PluginMgr.js and replace "homeserver" with _serverName (case sensitive, no quotes). This passed my testing even on a newly built machine as I had another machine on the network called homeserver. Alternatively with GitHub pull another version of PluginMgr down as I have fixed it in the repository.
 
Thanks for following up.
 
Yep, there was a port conflict with my Router.  The router used port 80 for web management.  So, I changed the Router's web management port which resolved the port conflict issue.
 
I have also changed "homeserver" to _serverName.  Now there are no errors but I still only get a image of a blue house in upper left and "Starting Home Automation Client" message at bottom.
 
You are ready to go if you get the screen I have added in the hackaday instructions. Use Internet Explorer for the meantime until I adjust the HTML5 to be optimized for Edge/Chrome. 
 
Steps to configure the client initially: https://hackaday.io/project/13029/instructions
 
Select the 'design' option on the top toolbar, then select the bottom far left add icon to create a new tab, click on the 'New Screen' text on the tab just created on the left to edit in the name of the tab (eg. 'Summary') and click on the tab exclamation icon to select a nice icon for the tab from the icon toolbox.
To see the widgets press the bottom left widgets icon to display the widgets menu, then select one and drag & drop it onto the design surface, move it around by selecting the widget (left clicking) and dragging it around, rescale by selecting the widget then scale horizontally or vertically (bottom and right grey blocks on the widget outline, or both horizontally and vertically with the bottom right grey block). Right click to edit the widget attributes.
 
Channels are setup by the plugins. A number of the plugins that connect to the cloud will be visible in the channels toolbox at startup. Apart from cloud connections, let me know what you want to connect with locally and I'll help you with the plugins.
 
 
Play with it - using the design mode to layout the screens should be pretty obvious for anyone who has used a drawing package like Microsoft PowerPoint or AutoCAD. Once finished click the bottom left 'save' icon in the Design Options icons and then select the Dashboard setting on the top toolbar to interact with the screen (or reload the browser page).
 
 
Of course you can post more questions.
 
Unfortunately, every time I execute HAClient, it gets stuck at "Starting Home Automation Client".  The "First Use" window never appears and the "Starting Home Automation Client" never changes to "Ready".  The 'design' option is never made available to me.  IOW, I can't get past "Starting Home Automation Client".
 
Hmm. Have you tried running the client code in Visual Studio and stepping through HAClient.html to see where it gets stuck? It isn't reaching the websocket network section because you would have network status messages even if it couldn't connect to the server in the bottom status bar. Also not seeing the top navigation bar means your browser isn't interpreting the HTML correctly, and it is standard bootstrap code so should not be a problem. Can you attach a screenshot and also tell me what browser and version you are using?
 
I've built both the server and client on several machines over the last week while writing up the instructions and not seen any issues with the client like this (but likely there is something different on your PC to mine that is causing these issues).
 
I'm getting the following error when I try to single step debug HAClient.  I'm not sure what to use for "SITE NAME" to be used in the second app cmd statement
 
 
 

Attachments

  • HAClient.png
    HAClient.png
    31.1 KB · Views: 8
I get this error on my freshly built server as well, the fix is simple that the start page needs to be set to HAClient.html. Go into solution explorer, right click the file HAClient.html and 'set as start page' (this setting doesn't come across from GitHub).
Ensure you have the server console app running on the same machine and try again, it should start working. Looks like you are using an older version of Windows as it is running IIS7 not IIS10 which I have developed this on but shouldn't matter as IIS is only used for debugging, the actual web server is Node.JS Express server.
 
Alternatively use the F12 client debugger and step through that.
 
I suspect your problem with the start screen is not being able to use websockets to contact the server. Still you should get a status message at the bottom saying it can't contact the server.
 
Back
Top