No announcement yet.

migration of existing devices - v4 to v6

  • Filter
  • Time
  • Show
Clear All
new posts

    migration of existing devices - v4 to v6

    Am struggling migrating from ver 4 to ver 6. I didn't want to fight with trying to install v4 from backup then upgrading to v6 since I wasn't confident either had a good chance of working for me. I tried just pointing to my v4 db but not surprisingly that didn't work so I deleted it (after shutting down HS, of course) thinking the plug-in would create a new one (as v4 did) at startup if it didn't find one but that didn't happen.

    I can't find in the documentation instructions to make the plug-in create a new db. I tried using "Delete and Recreate" button on the Database page but it fails with the following messages:

    24/03/2012 2:38:58 PM ~!~mcsTemperature~!~DeleteTable: on line 30 Could not find file 'C:\Program Files\HomeSeer HS2\mcsTemperature.mdb'.
    24/03/2012 2:38:58 PM ~!~mcsTemperature~!~CreateTemperatureTable: Error #-2147467259 on line 30 Could not find file 'C:\Program Files\HomeSeer HS2\mcsTemperature.mdb'.

    1. How do I get this version of the plug-in to create a new database?

    2. Is it safe to presume that once I can get it to create a database it will create DB fields based on the temp08 data it gets, as v4 did? I did confirm via the plug-in that my Temp08 IO Stream is alive and well

    3. Following that will I then be able to simply point to my existing HS devices using the Sensors page, as the doc seems to suggest (to me, anyway) or do I need to use the Devices/Files page to create new devices under a new House Code (different than mine) and change to my devices after?

    Any help would be appreciated.

    At powerup the plugin tries to read the database to synchronize internal state variables. The errors you see on power up is inability to read the database. If the database does not exits then it will create it at first time it tries to store data. This means the Interface page near the bottom will typically have the checkbox to transfer devices to database checked. The update interval is also specified there. If it set to 1 then in 1 minute the database will be created.


      Okay, found the setting mid way down the interfaces page that turns on database collection, checked it and set the interval to 1 minute. Thought this function would have been on because it was the default in v4 and because there is an entry in Sensor Database on the Database page.

      The HS devices did not line up to the devices I was using (wasn't really expecting them to) but it let me change them no problem by mapping them using a VM with my old installation running. Things looks good at this point.

      Question: It isn't obvious to me how I create my own device so that I can both store it in the DB and use it in an mcstemp event trigger. I have quite a few of those. Is it still possible to do that? What config page is that done from? It didn't work for me by adding one in the blank field at the top of the Sensors page and "Section 3.2.13 User Defined Data" seems to suggest this function is still available but it's not clear where I do that on the Display page it says to use so I don't think I'm looking in the right places.


        The general rule is that house codes A to Z are created by HS and special character house codes are created by plugins. mcsTemperature will create devices using its house code when it manages the interface such as with 1-wire data. Any device from HS or any plugin can be used on the Sensor page and for triggers. There may be some special situations for the triggers and actions, but I do not recall any constraints.


          After giving up a couple of months ago trying to find how to get one of my virtual devices into the database using the web config (something that was easy to do using the GUI) I hunkered down to go through the documentation again. I had to go back to trial and error because I couldn't find anything in the doc other than what I already knew to do using the GUI (which is no longer relevant) and I managed to create a db field for the device using the "Sensors" page.

          Problem with this way to do it is that the plug-in now clobbers the data I have in the virtual device every minute when I just want it to track the data in the device. It overwrites the device value with 0 and the device string with what looks like a pointer to an image:

          (replaced "<" with "[" and ">" with "]" to prevent path from getting resolved and displaying an image)

          All the events and scripts that relied on the string data in the device now fail and the devices that read the device value are getting 0 instead of the correct data value. How do I make the plug-in stop writing to the device every time it reads my sensors? Or, stated another way, how to get what I was able to do with the GUI, namely have the plug-in track and be able to trigger on (but not clobber) a virtual device? I'm not able to figure out the right way to set it up.

          Any helpful info would be appreciated.


            If the device code is one associated with the interface (e.g. csv or 1-wire) then mcsTemperature willl change it based upon the interface value. If it is another virtual device this it will read it. It has no reason to change device values for devices it is not responsible for updating.


              It's a device I created called "S1" that I keep in the same location "Temperature" as two outdoor sensors (R5 and R16) that mcsTemp created and tracks every minute via Temp08. I have two events I created that average the reading from both sensors (R5 and R16) and updates S1 by running a script (the same one for each event) each time one of the sensors changes.

              I don't understand how that could cause the plug-in to think S1 is "associated with the interface" when it is an independently created and updated virtual device. Is there something I need to do (or not do) when I create the device?

              Attached is a screenshot showing the entry I made in MCSTemp and a screenshot showing the pre existing device in HS.

              What have I done wrong?
              Attached Files


                What you have setup looks to be correct. Disable your event that updates S1 and see what happens to it. If it still changes then disable mcsTemperature and look again.


                  I finally took the time to get back to this and for whatever reason when I entered the device this time it worked. I can't figure out what I did differently this time, except perhaps not use spaces, i.e. "AvgOudoorTemp".

                  One weird thing that happened is that the device was created in Room "R" but I was able to go into and change it to "Temperature", where I have all my other temp/humidity sensors.