Exemple #1
0
        public static int InitializeData()
        {
            Storage.IntializeDefaultScenes();
            AddressBuild.InitializeVar(Platform.ReadSetting("bridgeIP"), Platform.ReadSetting("bridgeUserName"), Platform.ReadSetting("bridgeGroup"));
            activeTab = Platform.ReadSetting("lastActiveTab");
            sceneData = JsonParser.Deserialize(Platform.ReadSetting("customSceneJSON"));

            latestData      = JsonParser.Deserialize(Platform.ReadSetting("backupMainJSON"));
            groupData       = JsonParser.Deserialize(Platform.ReadSetting("backupGroupJSON"));
            backupData      = latestData;
            groupBackupData = groupData;

            SunriseEquation.SetCoordinates();
            SunriseEquation.SunriseSunset();

            System.Reflection.Assembly         assembly    = System.Reflection.Assembly.GetExecutingAssembly();
            System.Diagnostics.FileVersionInfo versionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(assembly.Location);
            fileVersion[0] = versionInfo.ProductMajorPart;
            fileVersion[1] = versionInfo.ProductMinorPart;
            fileVersion[2] = versionInfo.ProductBuildPart;
            fileVersion[3] = versionInfo.ProductPrivatePart;

            var result = RefreshData();

            var bridgeResult = FindNewBridgeIP();

            Effects.AutoEffect();
            var bridgeResult2 = StoreBridgeID();

            return(0);
        }
Exemple #2
0
        public static void ModeOn(string modeName)
        {
            //Turn on the lights if any of them are disabled
            foreach (string light in Storage.groupData.lights)
            {
                if (JsonParser.Read(Storage.latestData, new string[] { "lights", light, "state", "on" }) == false)
                {
                    PutEvents.ToggleLight(light, true);
                }
            }

            effectMode = modeName;
            Platform.NotifyCheck(modeName, true);

            switch (effectMode)
            {
            case "test":
            case "ambient":
                effectTimer.Interval      = 150;
                bufferData.transitiontime = Platform.ReadSetting("ambientTransition");
                break;

            case "daylight":
                effectTimer.Interval      = 1500;
                bufferData.transitiontime = 40;
                if (Platform.ReadSetting("daylightSetting") == 0)                           //Regional
                {
                    chosenSunrise = SunriseEquation.JulianToTime(SunriseEquation.sunrise);
                    chosenSunset  = SunriseEquation.JulianToTime(SunriseEquation.sunset);
                }
                else if (Platform.ReadSetting("daylightSetting") == 1) //Equinox
                {
                    chosenSunrise = 480;                               //06:00
                    chosenSunset  = 1080;                              //18:00
                }
                else if (Platform.ReadSetting("daylightSetting") == 2) //Startup
                {
                    chosenSunrise = SunriseEquation.JulianToTime(SunriseEquation.startup);
                    chosenSunset  = SunriseEquation.JulianToTime(SunriseEquation.startup + 0.5);
                }
                break;
            }

            if (!effectsOn)
            {
                EffectTimerOn();
            }
        }