Author Topic: Multiple instances running - share the same core configuration?  (Read 4985 times)

0 Members and 1 Guest are viewing this topic.

tobiastobindev

  • $upporter
  • Jr. Member
  • *****
  • Posts: 33
  • Karma: 1
    • View Profile
Hello,
I apologize is this has been discussed, I tried searching but didn't seem to find the answer. 

Let's say I will have 4 Media Center's in my house.  All running VC.  In addition, VC will be performing other tasks like taking care of home automation, and various other things. 

Obviously I would like all VC clients to be identical without me having to go around and manually configure each one every time I add something or change a plugin, xml, etc. 

Is anyone doing this already?  If so, how did you accomplish this?

Thanks,
tobias.

Haddood

  • $upporter
  • Hero Member
  • *****
  • Posts: 688
  • Karma: 22
    • View Profile
Re: Multiple instances running - share the same core configuration?
« Reply #1 on: April 18, 2015, 04:33:22 PM »
Many ways ... Move your voxcommands.xml to dropbox ... And create symbolic link to it inside VC folder
Or use  ghost event to watch the file and when it changes it copies it to othe computers ...
Or make VC read a central copy in the network every few minutes or hours ... And compare it with the local copy ... If it is different ... Copy and restart VC
When Voice command gets tough, use hand gestures

tobiastobindev

  • $upporter
  • Jr. Member
  • *****
  • Posts: 33
  • Karma: 1
    • View Profile
Re: Multiple instances running - share the same core configuration?
« Reply #2 on: April 18, 2015, 06:21:23 PM »
Hi Hadood,
I thought it might be something along those lines (if possible).  So if I add a plugin to one I do all the work on, will the changes to the voicecommand.xml file be enough to add the plugin to all of the rest of the clients?  Just wondering if that one file is the key to everything...

If I run GenXML for my MB3 on the 'master' system, will the all of the generated xml related to that Gen task propogate too?  All due to information in the voicecommands.xml.

Thank you for the help.

tobias.

Haddood

  • $upporter
  • Hero Member
  • *****
  • Posts: 688
  • Karma: 22
    • View Profile
Re: Multiple instances running - share the same core configuration?
« Reply #3 on: April 18, 2015, 06:44:20 PM »
In that case you will need to this for the all items, which is not practical
there is a way, but I will need to do some testing to make sure it does not infringe the license ... We do not want James to be unhappy :)
When Voice command gets tough, use hand gestures

tobiastobindev

  • $upporter
  • Jr. Member
  • *****
  • Posts: 33
  • Karma: 1
    • View Profile
Re: Multiple instances running - share the same core configuration?
« Reply #4 on: April 18, 2015, 07:14:51 PM »
I agree.  No need to post anything that could interfere with proper licensing.  I think I know what you are getting at.  I will give it a go myself, and I assure you I will purchase additional licenses once I have a setup to roll-out.

Thanks,
tobias.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Multiple instances running - share the same core configuration?
« Reply #5 on: April 18, 2015, 09:19:34 PM »
There is no problem here.  You could use a combination of both licensed and unlicensed computers that share a dropbox folder for their VoxCommando configuration and there would be no issues with licensing.  Activation is done per computer, and has nothing to do with your VC folder.  You can also zip up and send your complete VC folder to a friend and there would be no problem.

You might run into other issues using dropbox but it's hard to know without trying it.  You will probably want to disable logging for example, so that you are not constantly fighting over updating the same file and generating a lot of bandwidth usage for nothing.

If it were me I would use something like robocopy to do a sync once a day, or something like that.  You will also need to make sure that any files you reference are located in the same place on all machines, or be sure to use relative paths for everything.  By default most payload xml files etc. use relative paths but if you create your own you should pay attention that sort of thing.

You might also want to only sync xml files.  If you try to sync the files in the srgs folder it might cause problems.  I'm not 100% sure.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Multiple instances running - share the same core configuration?
« Reply #6 on: April 18, 2015, 09:33:06 PM »
So if I add a plugin to one I do all the work on, will the changes to the voicecommand.xml file be enough to add the plugin to all of the rest of the clients?  Just wondering if that one file is the key to everything...

If I run GenXML for my MB3 on the 'master' system, will the all of the generated xml related to that Gen task propogate too?  All due to information in the voicecommands.xml.
Your configuration is composed of many xml files.  Options.xml stores many settings, including which plugins are enabled.  Each plugin stores its own settings in an xml file in that plugin folder.  Voice commands themselves are defined in voicecommands.xml and payloadXMLs are all stored in their own files.
« Last Edit: April 18, 2015, 09:45:19 PM by nime5ter »

tobiastobindev

  • $upporter
  • Jr. Member
  • *****
  • Posts: 33
  • Karma: 1
    • View Profile
Re: Multiple instances running - share the same core configuration?
« Reply #7 on: April 18, 2015, 09:38:05 PM »
Hello,
Thank you for the information.  My thought, or my preference, would be to store the files on my Drobo (NAS).  I understand what you are saying about relative paths.

So the one option I was considering but had not test was a 'master' config, and then each client maps to that drive, and runs the exe from there.  I would think there would still have to be local files and therefore I am not sure how this might work.  Probably not I assume.

I won't mention the  other products I spent time with but in their case what I did was in a config file told those apps to look to a UNC path for the items that change.  In this case 'plugins'.  It worked nicely, I just did  my work on put it on the server at that path and then the clients loaded it.

It sounds like here the solution is to have some sort of master point and then replicate it to all clients.  That is fine.  I just need to keep in mind that paths are relative.

Maybe it already has but I wouldn't be surprised if this question doesn't come up down the road some more.  At might house I have 4 MB3 media centers, not to mention the desire to have control over HA items and whatever else is implemented.

Jitter... if you read this... I'm going to go ahead and buy three more licenses so I have one license per machine.  For my testing I will still use the demo.  Now, feed me a tid-bit.  I know Python is a common beginner language and is supported in VC.  I, so far, cannot stand it.  There is just something about it that drives me crazy.  Indention, __init__ __main__.  I'm no pro, but I am 100% better at C#, VB, VBscript, Javascript.  I don't desire trying to write apps that are clumsy with VC trying to pass info in and out.  Do you have a hint for me?  Some way I can get away from Python?  Of everything, Perl, Shell, Applescript, JS, PowerShell, Python is the only one that I just cannot stand.  So if you can through me a bone I'd love it.  And I'll buy the licenses now so you atleast know I should be around for a bit (and hopefully contributing as I get better with things). I've been sitting here working wit the Wink API in Python and it is making me in a bad mood.

thanks,
tobias.

Haddood

  • $upporter
  • Hero Member
  • *****
  • Posts: 688
  • Karma: 22
    • View Profile
Re: Multiple instances running - share the same core configuration?
« Reply #8 on: April 18, 2015, 10:52:41 PM »
There is no problem here.  You could use a combination of both licensed and unlicensed computers that share a dropbox folder for their VoxCommando configuration and there would be no issues with licensing.  Activation is done per computer, and has nothing to do with your VC folder.  You can also zip up and send your complete VC folder to a friend and there would be no problem.

Feeeeeeeeeeuuuuuuuuu  ::saddest I thought I would be causing trouble
@ tobi you can install VC in Dropbox folder, or any similar thing like one drive .... And you will get what u want ... Or as you mentioned install it on nas and run it (though you might have problem with more one PC opening same file ...
Try and please post your findings
When Voice command gets tough, use hand gestures

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Multiple instances running - share the same core configuration?
« Reply #9 on: April 18, 2015, 10:58:30 PM »
You are allowed to install VoxCommando on 2 machines for each license that you buy.  So for 4 machines you'll only need to buy 2 licenses.

You can create your own plugin in C#.  I will need to prepare some files for you since quite a bit has changed since the last time I uploaded the sample plugin on this forum.

If you can share your plugin with us when it is done that would be great.

Python has some annoying things about it, but I find it is actually pretty good, and great for doing simple things quickly without having to compile them.  That is why we use it as a plugin language.  Actually, because it is iron python you can use a certain amount of .Net code in it, but it is awkward.

I don't like the indentation either.  That is probably the single biggest mistake they made when they designed the language.

tobiastobindev

  • $upporter
  • Jr. Member
  • *****
  • Posts: 33
  • Karma: 1
    • View Profile
Re: Multiple instances running - share the same core configuration?
« Reply #10 on: April 19, 2015, 01:06:51 AM »
Hi jitterjames,
I really appreciate your consideration.  I'll touch base with you on the C#.  I went ahead and got 3 more licenses.  Maybe I could have just got two instead of four, but honestly, I'd rather support projects like this.  I know how much work it is and you deserve compensation.  Plus, your support is excellent.  You devote a lot of time.  No disrespect to Haddood or any of the others who have offered help to me. 

Ironically, I was messing with my wink hub in python and now it is offline and no matter what I do I cannot get it back on the network.  I don't know if it has to do with what I was doing, or coincidence.  All I did was use the client_id and client_secret, and my credentials to query it.  Oh well...

I am not trying to make more work for you.  Especially not on my account.  But if it is something not too time consuming for you then cool.  And I will be happy to share anything I do.  I'd like to have the code reviewed though before putting it out there since I am a hobbyist and probably don't do everything as well as it should be done.

I got family using the network so in the morning I will try a router reboot but I cannot find any issues with wireless.  I also did a hard reset on it and it didn't go through its setup routine like it is supposed to (the Wink hub).  Weird.

Maybe I should move on to a better device.  I'd like to get away from cloud services.  I don't need access to the hub outside the LAN. 

Thank you again and I hope you all having a pleasant evening.

tobias.

Haddood

  • $upporter
  • Hero Member
  • *****
  • Posts: 688
  • Karma: 22
    • View Profile
Re: Multiple instances running - share the same core configuration?
« Reply #11 on: April 19, 2015, 11:44:43 AM »
@tobi, no disrespect at all ... I am, just like you, an enthusiasts and a fan of VC and that is largely because of the incredible support James & Nime5ter give to the users ...

In my case, they answered every question I posted and in many occasions James added features I requested When it fits his vision of VC ... And for that I am a bit active on the forums as simple gesture of gratitude ... Hoping it helps a tiny bit.

We all know there is many packages out there that do similar job like VC. but none of them (I tried at least 6) is as rich in features, and for sure none of them even get a tiny fraction of the support and involvement of developers with the users, as VC ...


When Voice command gets tough, use hand gestures

tobiastobindev

  • $upporter
  • Jr. Member
  • *****
  • Posts: 33
  • Karma: 1
    • View Profile
Re: Multiple instances running - share the same core configuration?
« Reply #12 on: April 19, 2015, 12:12:36 PM »
+100 :)