I’d like to modify the files in /www/ and I’m wondering what the recommended method is. It looks like they are symlinks to a read-only mount which I can break and tweak locally but I’m not sure that’s sustainable (does the device replace those symlinks on each boot?). It also isn’t a very effecient way to develop. Ideally I’d like to have the files on my desktop and develop there, and push patches to the Vera once they are tested and working. Is there documentation for development of the site somewhere?
Secondly, is there community documentation? Like, overall processes and recommendations for contributing to the Vera community? What are the coding guidelines, the testing requirements, the roadmap for what’s being worked on and what needs help, who the mentors are, etc. Am I missing a wiki page with this info?
Thirdly, I could pull the code directly off the Vera, but is the code available somewhere like github already? Where are people contributing currently?
MCV supports development of plugins.
See: http://wiki.micasaverde.com/index.php/Category:Development.
The documentation is not great … It’s best to modify an existing plugin and see how it works.
Folks on the forum are very helpful with specific questions.
Searching the forum and the wiki can also be very helpful.
Modification of he base product is not supported.
If you change files outside of this context you will likely loose customer support.
The symbolic links are setup during the software update/install. These links in the writeable part of the file system point to the read-only files from the installation.
Thanks for the link. The UI Notes look like a good start, albeit outdated. Is it possible for a plugin to completely replace the UI? If so, can you recommend a plugin to start looking at?
I doubt replacing the default UI on the box will retain your warranty and support so any such effort may not yield many adopters. Most UI replacements are in the form of mobile apps or this one for Windows http://forum.micasaverde.com/index.php/topic,15583.0.html
It’s actually a little harder than you would think. The fstab for the filesystem doesn’t appear to be there, so it’s not as simple as changing a “r” flag to a “rw” to make changes. Easiest thing to do would be to probably copy the existing to a USB stick, and change the lighthttpd config to follow that. I’m considering it w/ my Edge, as this GUI is just plain horrible.
Just a hint about changes to the file system on the vera… Since it runs an OpenWrt linux, you may want to check the concept of overlay at the following Filesystems [Old OpenWrt Wiki]
I did play a bit with edits to the overlay in /etc or /usr for instance and found these to be persistant in case of a reboot or even firmware upgrade. I would assume (but did not try) that /www would be ok to edit as well.
If I remember correctly, the web applications are stored in /mios which is read-only. So really you’d just need to copy /mios/ to a USB drive, then just edit the lighthttp config to push things there instead. It would likely break some things, as backend processes are surely calling other things in /mios/ that would need to be fixed and re-mapped, but it’s all pretty trivial.
Vera has supplied a mainly “open source” application for the most part. It’d be nice to be able to develop skins and such and get away from the crazy wasted space of UI7. We’ll see, if the Edge annoys me enough I may just go at it.
Yeah, when I started this thread I had already removed a symlink and put my own file there just to verify how things worked. I wasn’t sure how, for example, firmware upgrades would work with that change so I switched it back and posted here to see if there was documentation. I think a script could easily swap all those symlinks for files in your home directory for development. It would be easy enough to scrape the site and pull it into github, but the code looks a bit sketchy to be honest - kind of like it was generated off of templates or something. I’ll dig into it a bit more over the new year’s holiday.
Best Home Automation shopping experience. Shop at Ezlo!