Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- _quality = "Best";
- fscommand("Fullscreen", "true");
- STOP();
- import tinypixels.file.*;
- ssCore.init();
- FUNCTION GetClock() {
- var my_time = new Date();
- var zhour:Number = my_time.getHours();
- var zmin:Number = my_time.getMinutes();
- var zsec:Number = my_time.getSeconds();
- my_time.getTime();
- IF (zsec<10) {
- osec = ("0"+zsec.toString());
- } ELSE {
- osec = zsec.toString();
- }
- IF (zmin<10) {
- omin = ("0"+zmin.toString());
- } ELSE {
- omin = zmin.toString();
- }
- IF (zhour<1) {
- ohour = 12;
- tag = " AM";
- } ELSE IF (zhour>0 && zhour<12) {
- ohour = zhour;
- tag = " AM";
- } ELSE IF (zhour == 12) {
- ohour = zhour;
- tag = " PM";
- } ELSE IF (zhour>12) {
- ohour = zhour-12;
- tag = " PM";
- }
- _root.TimeBoxMovie.TimeBox = ohour+":"+omin+":"+osec+tag+" "+my_time.toString().slice(0, 10);
- }
- var HourLog:Array = new Array();
- var FosGal:Array = new Array();
- var SolGal:Array = new Array();
- var FosBTU:Array = new Array();
- var SolBTU:Array = new Array();
- FOR (i=0; i<24; i++) {
- HourLog.push(0);
- FosGal.push(0);
- SolGal.push(0);
- FosBTU.push(0);
- SolBTU.push(0);
- }
- var wattcounter:Array = new Array();
- var GGALcounter:Array = new Array();
- var BGALcounter:Array = new Array();
- var GBTUcounter:Array = new Array();
- var BBTUcounter:Array = new Array();
- var datasheet:Array = new Array();
- var rov:Array = new Array();
- var dadasheet:Array = new Array();
- var vor:Array = new Array();
- var KiloTracker:Array = new Array();
- var GreenTracker:Array = new Array();
- var BlueTracker:Array = new Array();
- var SolBTUTracker:Array = new Array();
- var FosBTUTracker:Array = new Array();
- _global.Meat0 = 0;
- _global.Meat1 = 0;
- _global.Meat2 = 0;
- _global.Meat3 = 0;
- _global.Meat4 = 0;
- _global.Meat5 = 0;
- _global.Meat6 = 0;
- _global.Meat7 = 0;
- _global.Meat8 = 0;
- _global.Meat9 = 0;
- _global.Meat10 = 0;
- _global.Meat11 = 0;
- _global.Meat12 = 0;
- _global.Meat13 = 0;
- _global.GreenGalCheck = 0;
- _global.BlueGalCheck = 0;
- _global.GreenBTUCheck = 0;
- _global.BlueBTUCheck = 0;
- FUNCTION StartDay() {
- var myDate_date:Date = new Date();
- var currentYear:Number = myDate_date.getFullYear();
- var currentMonth:Number = myDate_date.getMonth()+1;
- var currentDate:Number = myDate_date.getDate();
- _global.logDate = currentDate-1;
- var currentHour:Number = myDate_date.getHours();
- IF (currentMonth<10 && currentDate<10) {
- _global.FileHandle = "C:/SunnyData/"+currentYear+"-0"+currentMonth+"-0"+currentDate+".csv";
- } ELSE IF (currentMonth<10 && currentDate>=10) {
- _global.FileHandle = "C:/SunnyData/"+currentYear+"-0"+currentMonth+"-"+currentDate+".csv";
- } ELSE IF (currentMonth>=10 && currentDate<10) {
- _global.FileHandle = "C:/SunnyData/"+currentYear+"-"+currentMonth+"-0"+currentDate+".csv";
- } ELSE IF (currentMonth>=10 && currentDate>=10) {
- _global.FileHandle = "C:/SunnyData/"+currentYear+"-"+currentMonth+"-"+currentDate+".csv";
- }
- ssCore.FileSys.getTimeStamp({path:"C:/577Kiosk/Data/HOURLY.txt"},{callback:GotTimeStamp});//this checks TO see IF the hourly file IS current FOR the day
- FUNCTION GotTimeStamp(ret_obj, cb_obj, err_obj) {
- IF (ret_obj.result.substring(8, 10) != logDate+1) {
- ssCore.FileSys.writeToFile({path:"C:/577Kiosk/Data/HOURLY.txt", DATA:HourLog+"\r\n"+FosGal+"\r\n"+SolGal+"\r\n"+FosBTU+"\r\n"+SolBTU+"\r\n"},{callback:"Done", scope:this});
- } ELSE {
- LoadHours();
- }
- }
- _global.mom = 0;
- _global.OldGallonRead = 0;
- _global.OldTimeStamp = 00;
- _global.RedFlag = 0;
- _global.StartHour = currentHour;
- _global.WattHours = 0;
- _global.FosBTUSum = 0;
- _global.SolBTUSum = 0;
- BootFlag = false;
- LoadBTUHistory();
- ////////////////////////////////////////the below checks AND builds the month LOG FILES//////////////////////////////
- _global.logHandle = "C:/577Kiosk/Data/"+currentYear+"_"+currentMonth+".csv";
- IF (currentMonth<10) {
- logCompare = currentYear+"/0"+currentMonth;
- } ELSE {
- logCompare = currentYear+"/"+currentMonth;
- }
- ssCore.FileSys.getTimeStamp({path:"C:/577Kiosk/Data/"+currentYear+"_"+currentMonth+".csv"},{callback:GotMonthStamp});//this checks TO see IF the month file IS already there
- FUNCTION GotMonthStamp(ret_obj, cb_obj, err_obj) {
- IF (ret_obj.result.substring(0, 7) != logCompare) {///create a new month file, fill it with 0s
- ssCore.FileSys.writeToFile({path:logHandle, DATA:"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\r\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\r\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\r\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\r\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\r\n"},{callback:"Done", scope:this});
- }
- }
- }
- /////////////////////////////////////////////////////////////////////////////////////////////////////////
- FUNCTION LoadHours() {
- Grunt = new TP_SimpleCsvLoader("C:/577Kiosk/Data/HOURLY.txt", onBasicFileLoaded);
- Grunt.loadCVS();
- FUNCTION onBasicFileLoaded() {
- HourLog = Grunt.getRowAsArray([0]);
- HourLog.split(",");
- FosGal = Grunt.getRowAsArray([1]);
- FosGal.split(",");
- SolGal = Grunt.getRowAsArray([2]);
- SolGal.split(",");
- FosBTU = Grunt.getRowAsArray([3]);
- FosBTU.split(",");
- SolBTU = Grunt.getRowAsArray([4]);
- SolBTU.split(",");
- }
- }
- FUNCTION LoadBTUHistory() {
- THERM = new TP_SimpleCsvLoader("C:/577Kiosk/Data/BTU_Hist.txt", onBasicFileLoaded);
- THERM.loadCVS();
- FUNCTION onBasicFileLoaded() {
- OldBtuLog = THERM.getRowAsArray([0]);
- OldBtuLog.split(",");
- NEWGBTU = Number(OldBtuLog[0]);
- NEWBBTU = Number(OldBtuLog[1]);
- _root.YtoDWatts = Number(OldBtuLog[2]);
- }
- //_root.YtoDWatts = OldYtoDWatts;
- _root.TKHText = YtoDWatts+" KwH";
- }
- FUNCTION KillRoy() {
- ssDebug.trace("KillRoy should be dead");
- }
- FUNCTION KillSys() {
- ssCore.App.forceExitWindows({method:"reboot"},{callback:KillRoy});
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////
- FUNCTION SunnyNoReport() {
- _root.AquireData.gotoAndStop(164);
- _global.Meat0 = 0;
- _global.Meter0DataText = "OFF";
- _root.TKHText = YtoDWatts+" KwH";
- wattcounter.push(0);
- _root.Meter0Text = Meter0DataText;
- _root.WattMeter._x = (60+(Meat0*.475));
- }
- FUNCTION SunnyGoodReport() {
- _global.Meter0DataText = SunnyCurrentWatts;
- //_root.OldYtoDWatts = _root.YtoDWatts;
- _root.TKHText = YtoDWatts+" KwH";//this displays the Solar Watts in Hourly Chart Text Panel//
- _global.Meat0 = parseInt(SunnyCurrentWatts);//this displays positions the Solar Meter//
- wattcounter.push(Meat0);
- _root.Meter0Text = Meter0DataText;
- _root.WattMeter._x = (60+(Meat0*.475));
- }
- FUNCTION SolWavReport() {
- IF (Meat13 != 0 && Meat13 != OldGallonRead && OldGallonRead != 0) {
- GallonsUsed = Number((Meat13-OldGallonRead)/151.4);///this IS true based ON Solar Wave DATA, ready TO divide by BTU DATA PROVIDED BY SOLAR WAVE..
- BADBTU = Number(Meat11+Meat12);
- GOODBTU = Number(Meat10+0);
- IF (GOODBTU>0) {
- SUMMYBTU = Number(BADBTU+GOODBTU);
- Mplex = 100/SUMMYBTU;
- Mplex = Math.round(Mplex*1000/1000);
- GreenGalNumber = GallonsUsed/100*GOODBTU*Mplex;///GOODBTU*(100/SUMMYBTU);
- BlueGalNumber = GallonsUsed/100*BADBTU*Mplex;///BADBTU*(100/SUMMYBTU);
- } ELSE {
- GreenGalNumber = 0;
- BlueGalNumber = GallonsUsed;
- }
- GGALcounter.push(GreenGalNumber);///Good TO go ?
- BGALcounter.push(BlueGalNumber);///Good TO go ?
- GBTUcounter.push(GOODBTU);///Meat 10 DATA provided by Solar wave, a rather cryptic sum (NOT documented) but provided by Solar Wave, no idea how this value was derived, I question value shown here(MP).
- BBTUcounter.push(BADBTU);///This IS a rather cryptic sum (Meat11+Meat12)provided by Solar Wave, no idea how this value was derived AND NOT documented, I question value shown here(MP).
- FOR (i=0; i<GGALcounter.length; i++) {
- IF (i == 0) {
- GGALtemp = Number(GGALcounter[i]);
- BGALtemp = Number(BGALcounter[i]);
- GBTUtemp = Number(GBTUcounter[i]);
- BBTUtemp = Number(BBTUcounter[i]);
- } ELSE {
- GGALtemp = GGALtemp+Number(GGALcounter[i]);
- BGALtemp = BGALtemp+Number(BGALcounter[i]);
- GBTUtemp = GBTUtemp+Number(GBTUcounter[i]);
- BBTUtemp = BBTUtemp+Number(BBTUcounter[i]);
- }
- }
- GGALavg = Math.round(GGALtemp*100)/100;///GGALtemp;///Math.round(GGALtemp*10000/10000);
- BGALavg = Math.round(BGALtemp*100)/100;
- GBTUavg = Math.round(GBTUtemp*100)/100;
- BBTUavg = Math.round(BBTUtemp*100)/100;
- OldGallonRead = Number(Meat13);///RESET FOR NEXT READ, otherwise a 0///
- } ELSE {
- OldGallonRead = Number(Meat13);
- GGALcounter.push(0);
- BGALcounter.push(0);
- GBTUcounter.push(0);
- BBTUcounter.push(0);
- FOR (i=0; i<GGALcounter.length; i++) {
- IF (i == 0) {
- GGALtemp = Number(GGALcounter[i]);
- BGALtemp = Number(BGALcounter[i]);
- GBTUtemp = Number(GBTUcounter[i]);
- BBTUtemp = Number(BBTUcounter[i]);
- } ELSE {
- GGALtemp = GGALtemp+Number(GGALcounter[i]);
- BGALtemp = BGALtemp+Number(BGALcounter[i]);
- GBTUtemp = GBTUtemp+Number(GBTUcounter[i]);
- BBTUtemp = BBTUtemp+Number(BBTUcounter[i]);
- }
- }
- GGALavg = Math.round(GGALtemp*100)/100;
- BGALavg = Math.round(BGALtemp*100)/100;
- GBTUavg = Math.round(GBTUtemp*100)/100;
- BBTUavg = Math.round(BBTUtemp*100)/100;
- IF (isNaN(GGALavg)) {
- GreenGalCheck = 2;
- GGALavg = 0;
- }
- IF (isNaN(BGALavg)) {
- BlueGalCheck = 2;
- BGALavg = 0;
- }
- IF (isNaN(GBTUavg)) {
- GreenBTUCheck = 2;
- GBTUavg = 0;
- }
- IF (isNaN(BBTUavg)) {
- BlueBTUCheck = 2;
- BBTUavg = 0;
- }
- }
- }
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBEGIN READING SOLAR WAVE DATA HEREXXXXXXXXXXXXX
- FUNCTION XMLSYS1() {
- datasheet.length = 0;
- rov.length = 0;
- var myXML:XML = new XML();
- myXML.ignoreWhite = true;
- myXML.onLoad = FUNCTION(success:Boolean) {
- wavefile = this.firstChild.childNodes;
- FOR (var i = 0; i<wavefile.length; i++) {
- sysdata.push(wavefile[i].childNodes);
- rov[1] = wavefile[i].childNodes[1].childNodes[0].nodeValue;//1 IS device ID
- rov[2] = wavefile[i].childNodes[5].childNodes[0].nodeValue;//5 IS time stamp
- rov[3] = wavefile[i].childNodes[6].childNodes[0].nodeValue;//6 IS device reading
- datasheet[i] = rov[1]+"&"+rov[2]+"&"+rov[3];
- }
- //////the above IS the first parse operation AND loads only ID, Timestamp AND Reading from XML///////
- datasheet.sort();///array contents now by device AND timestamp
- datasheet.reverse();///array contents timestamp order
- FOR (var i = 0; i<datasheet.length; i++) {
- WHILE (datasheet[i].substring(0, 16) == datasheet[i+1].substring(0, 16)) {
- datasheet.splice(i+1,1);
- }
- }
- //////the above IS the final parse operation AND leaves only the most current reading FOR each device///
- FOR (var i = 0; i<datasheet.length; i++) {
- IF (datasheet[i].substring(0, 16) == STRING("263D32B1000000DF")) {//Sun Intensity DONE///
- _global.Meter1DataText = Math.round(datasheet[i].substring(28, 36));
- _global.Meat1 = parseInt(datasheet[i].substring(28, 36));
- } ELSE IF (datasheet[i].substring(0, 16) == STRING("28ED9B910100007F")) {//Dome Air Temp DONE///
- _global.Meter2DataText = Math.round(datasheet[i].substring(28, 36))*1.8+32;
- _global.Meat2 = parseInt(datasheet[i].substring(28, 36))*1.8+32;
- } ELSE IF (datasheet[i].substring(0, 16) == STRING("26DD02650000007D")) {//Dome Humidity DONE///
- _global.Meter3DataText = Math.round(datasheet[i].substring(28, 36));
- _global.Meat3 = parseInt(datasheet[i].substring(28, 36));
- } ELSE IF (datasheet[i].substring(0, 16) == STRING("28EF04E5000000C4")) {//Dome Soil Temp DONE///
- _global.Meter4DataText = Math.round(datasheet[i].substring(28, 36))*1.8+32;
- _global.Meat4 = parseInt(datasheet[i].substring(28, 36))*1.8+32;
- } ELSE IF (datasheet[i].substring(0, 16) == STRING("28AF09E50000005D")) {//Dome Pond Temp DONE///
- _global.Meter5DataText = Math.round(datasheet[i].substring(28, 36))*1.8+32;
- _global.Meat5 = parseInt(datasheet[i].substring(28, 36))*1.8+32;
- } ELSE IF (datasheet[i].substring(0, 16) == STRING("28DC5D910100001B")) {//Outdoor Temp DONE///
- _global.Meter6DataText = Math.round(datasheet[i].substring(28, 36))*1.8+32;
- _global.Meat6 = parseInt(datasheet[i].substring(28, 36))*1.8+32;
- } ELSE IF (datasheet[i].substring(0, 16) == STRING("2678AB6400000085")) {//Outdoor Humidity DONE///
- _global.Meter7DataText = Math.round(datasheet[i].substring(28, 36));
- _global.Meat7 = parseInt(datasheet[i].substring(28, 36));
- }
- }
- };
- myXML.load("C:/SolWavData/dome/sysdata.xml");
- _root.SunIntensity._x = (25+(Meat1*.475));
- _root.DomeAirTemp._x = (-18+(Meat2*4.07));
- _root.DomeHumidMeter._x = (136+(Meat3*4.75));
- _root.DomeSoilMeter._x = (55+(Meat4*4.07));
- _root.DomePondTemp._x = (20+(Meat5*4.07));
- _root.DomeTextMovie.OutdoorTempMeter._x = (396+(Number(Meat6)*3.1));
- _root.DomeTextMovie.OutdoorHumidityMeter._x = (486+(Number(Meat7)*4.24));
- _root.Meter1Text = Meter1DataText;//Sun Intensity
- _root.Meter2Text = Meter2DataText;//Dome Air Temp
- _root.Meter3Text = Meter3DataText;//Dome Humidity
- _root.Meter4Text = Meter4DataText;//Dome Soil Temp
- _root.Meter5Text = Meter5DataText;//Dome Pond Temp
- _root.DomeTextMovie.Meter6Text = Meter6DataText;//Outdoor Temp
- _root.DomeTextMovie.Meter7Text = Meter7DataText;//Outdoor Humidity
- }
- FUNCTION XMLSYS2() {
- dadasheet.length = 0;
- vor.length = 0;
- var msXML:XML = new XML();
- msXML.ignoreWhite = true;
- msXML.onLoad = FUNCTION(success:Boolean) {
- solwavefile = this.firstChild.childNodes;
- FOR (var i = 0; i<solwavefile.length; i++) {
- sysdata.push(solwavefile[i].childNodes);
- vor[1] = solwavefile[i].childNodes[1].childNodes[0].nodeValue;//1 IS device ID
- vor[2] = solwavefile[i].childNodes[5].childNodes[0].nodeValue;//5 IS time stamp
- vor[3] = solwavefile[i].childNodes[6].childNodes[0].nodeValue;//6 IS device reading
- dadasheet[i] = vor[1]+"&"+vor[2]+"&"+vor[3];
- }
- //////the above IS the first parse operation AND loads only ID, Timestamp AND Reading from XML///////
- dadasheet.sort();///array contents now by device AND timestamp
- dadasheet.reverse();///array contents timestamp order
- FOR (var i = 0; i<dadasheet.length; i++) {
- WHILE (dadasheet[i].substring(0, 16) == dadasheet[i+1].substring(0, 16)) {
- dadasheet.splice(i+1,1);
- }
- }
- //////the above IS the final parse operation AND leaves only the most current reading FOR each device///
- FOR (var i = 0; i<dadasheet.length; i++) {
- IF (dadasheet[i].substring(0, 16) == STRING("28A3D7C800000031")) {//Solar Water Panel Temp
- _global.Meter8DataText = Math.round(dadasheet[i].substring(28, 36))*1.8+32;
- _root.ThermPanText = parseInt(dadasheet[i].substring(28, 36))*1.8+32+" Degrees F";
- _global.Meat8 = parseInt(dadasheet[i].substring(28, 36))*1.8+32;
- } ELSE IF (dadasheet[i].substring(0, 16) == STRING("28FD89C000000027")) {//Water tank Temp28FD89C000000027
- _global.Meter9DataText = Math.round(dadasheet[i].substring(28, 36))*1.8+32;
- _root.TankPanText = parseInt(dadasheet[i].substring(28, 36))*1.8+32+" Degrees F";
- _global.Meat9 = parseInt(dadasheet[i].substring(28, 36))*1.8+32;
- } ELSE IF (dadasheet[i].substring(0, 16) == STRING("FE00000D000000FF")) {//Solar BTU
- _global.Meat10 = Number(dadasheet[i].substring(28, 36));
- } ELSE IF (dadasheet[i].substring(0, 16) == STRING("FE000010000000FF")) {//Gas BTU
- _global.Meat11 = Number(dadasheet[i].substring(28, 36));
- } ELSE IF (dadasheet[i].substring(0, 16) == STRING("FE000011000000FF")) {//Elec BTU
- _global.Meat12 = Number(dadasheet[i].substring(28, 36));
- } ELSE IF (dadasheet[i].substring(0, 16) == STRING("1DEA440B00000047")) {//WATER FLOW
- _global.Meat13 = Number(dadasheet[i].substring(28, 36));
- }
- }
- };
- msXML.load("C:/SolWavData/solar/sysdata.xml");
- _root.WaterPanelTemp._x = (133+(Meat8*2.65));
- _root.WaterTankTemp._x = (131+(Meat9*2.64));
- _root.Meter8Text = Meter8DataText;//Solar Water Panel Temp
- _root.Meter9Text = Meter9DataText;//Water Tank Temp
- }
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXEND READING AND PARSING OF SOLAR WAVR DATAXXXXXXXXXXX
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXBEGIN SUNNY WEB BOX READ AND PARSEXXXXXXXXXXXXXXXXX
- FUNCTION CSVSYS1() {
- myCSV_Basic = new TP_SimpleCsvLoader(FileHandle, onBasicFileLoaded);
- myCSV_Basic.loadCVS();
- FUNCTION onBasicFileLoaded() {
- LastLog = myCSV_Basic.rowCount;//this finds the last entry//
- ThisTimeStamp = myCSV_Basic.getRowAsArray(Number(LastLog-1))[0];//this gets the current time stamp from file//
- IF (ThisTimeStamp == LastTimeStamp) {
- RedFlag = RedFlag+1;
- } ELSE {
- RedFlag = 0;
- }
- ////////////the above checks TO see IF the SunnyBox IS still writing DATA///////////
- var ThisHour:Date = new Date();
- var StuffThisHour:Number = ThisHour.getHours();
- IF (StuffThisHour == 23) {
- BootFlag = true;
- }
- IF (StuffThisHour == 0 && BootFlag == true) {///RESET SYSTEM at Midnight///
- ssCore.FileSys.deleteFile({path:"C:/577Kiosk/Data/HOURLY.txt"},{callback:KillSys, scope:this});
- }
- /////////////////the above forces the SYSTEM TO restart at Midnight//////////////////
- IF (StartHour == StuffThisHour && RedFlag>=4) {
- SunnyNoReport();
- SolWavReport();
- }
- //////////the above forces "0" s into the array FOR this hour UNTIL Sunny Box comes back TO life///
- IF (StartHour != StuffThisHour && RedFlag>=4) {
- NEWGBTU = Number(NEWGBTU+GBTUavg);
- NEWBBTU = Number(NEWBBTU+BBTUavg);
- wattcounter.length = 0;
- GGALcounter.length = 0;
- BGALcounter.length = 0;
- GBTUcounter.length = 0;
- BBTUcounter.length = 0;
- wattemp = 0;
- wattavg = 0;
- GGALavg = 0;
- BGALavg = 0;
- GBTUavg = 0;
- BBTUavg = 0;
- StartHour = StuffThisHour;
- SunnyNoReport();
- SolWavReport();
- }
- ///////////the above forces "0" s into the array FOR new hour UNTIL Sunny Box comes back TO life///
- IF (StartHour == StuffThisHour && RedFlag<4) {//this confirms the hour has NOT changed//
- SunnyCurrentWatts = myCSV_Basic.getRowAsArray(Number(LastLog-1))[9];
- porkchop = myCSV_Basic.getRowAsArray(Number(LastLog-1))[2];//this captures the last entry in the Sunny Box file//
- IF (porkchop>YtoDWatts) {
- YtoDWatts = porkchop;
- }
- IF (SunnyCurrentWatts == NAN) {
- SunnyNoReport();
- SolWavReport();
- } ELSE {
- SunnyGoodReport();
- SolWavReport();
- }
- }
- ///////////////the above routine IS used IF Suuny Box IS reporting O.K.////////////////////////
- IF (StuffThisHour != StartHour && RedFlag<4) {//this confirms the hour has changed, must purge array//
- NEWGBTU = Number(NEWGBTU+GBTUavg);///LOG FOR history file
- NEWBBTU = Number(NEWBBTU+BBTUavg);///LOG FOR history file
- wattcounter.length = 0;
- GGALcounter.length = 0;
- BGALcounter.length = 0;
- GBTUcounter.length = 0;
- BBTUcounter.length = 0;
- wattemp = 0;
- wattavg = 0;
- GGALavg = 0;
- BGALavg = 0;
- GBTUavg = 0;
- BBTUavg = 0;
- StartHour = StuffThisHour;
- SunnyCurrentWatts = myCSV_Basic.getRowAsArray(Number(LastLog-1))[9];
- porkchop = myCSV_Basic.getRowAsArray(Number(LastLog-1))[2];//this captures the last entry in the Sunny Box file//
- IF (porkchop>YtoDWatts) {
- YtoDWatts = porkchop;
- }
- IF (SunnyCurrentWatts == NAN) {
- SunnyNoReport();
- SolWavReport();
- } ELSE {
- SunnyGoodReport();
- SolWavReport();
- }
- }
- FOR (i=0; i<wattcounter.length; i++) {///this the accum-average routine FOR hourly averages///
- IF (i == 0) {
- wattemp = Number(wattcounter[i]);
- } ELSE {
- wattemp = wattemp+Number(wattcounter[i]);
- }
- }
- wattavg = Math.round(wattemp/wattcounter.length*100/100);
- HourLog.splice(StuffThisHour,1,wattavg);
- FosGal.splice(StuffThisHour,1,BGALavg);
- //ssDebug.trace("FosGal "+FosGal);
- SolGal.splice(StuffThisHour,1,GGALavg);
- //ssDebug.trace("SolGal "+SolGal);
- FosBTU.splice(StuffThisHour,1,BBTUavg);
- SolBTU.splice(StuffThisHour,1,GBTUavg);
- FOR (z=StuffThisHour; z<24; z++) {
- HourLog.push(0);
- FosGal.push(0);
- SolGal.push(0);
- FosBTU.push(0);
- SolBTU.push(0);
- }
- HourLog.length = 24;
- FosGal.length = 24;
- SolGal.length = 24;
- FosBTU.length = 24;
- SolBTU.length = 24;
- LastTimeStamp = ThisTimeStamp;
- //////////////////////////////////////////////////////////////////////////////////////////////////////
- FOR (i=0; i<24; i++) {//this routine builds the daily kilowatt total FOR the monthly file///
- IF (i == 0) {
- WattHours = Math.round(HourLog[i]);
- FosGalSum = Math.round(FosGal[i]*100/100);
- SolGalSum = Math.round(SolGal[i]*100/100);
- FosBTUSum = Math.round(FosBTU[i]*100/100);
- SolBTUSum = Math.round(SolBTU[i]*100/100);
- } ELSE {
- WattHours = Math.round(WattHours+Number(HourLog[i]));
- FosGalSum = Math.round(FosGalSum+Number(FosGal[i])*100/100);
- SolGalSum = Math.round(SolGalSum+Number(SolGal[i])*100/100);
- FosBTUSum = Math.round(FosBTUSum+Number(FosBTU[i])*100/100);
- SolBTUSum = Math.round(SolBTUSum+Number(SolBTU[i])*100/100);
- }
- IF (isNaN(SolGalSum)) {
- GreenGalCheck = 4;
- }
- IF (isNaN(FosGalSum)) {
- BlueGalCheck = 4;
- }
- IF (isNaN(SolBTUSum)) {
- GreenBTUCheck = 4;
- }
- IF (isNaN(FosBTUSum)) {
- BlueBTUCheck = 4;
- }
- _root.ChartPanText = WattHours+" Watts";///the sum FOR the day, displayed in the text panel ON Volt Chart page
- FosGalText = FosGalSum+" Gallons";
- SolGalText = SolGalSum+" Gallons";
- FosBText = FosBTUSum+" BTU";
- SolBText = SolBTUSum+" BTU";
- }
- }
- }
- //////////////////////////////////////////////////////////////////////////////////////
- FUNCTION HOUR_WRITER() {
- _root.DataLogMovie.gotoAndStop(2);
- ssCore.FileSys.writeToFile({path:"C:/577Kiosk/Data/HOURLY.txt", DATA:HourLog+"\r\n"+FosGal+"\r\n"+SolGal+"\r\n"+FosBTU+"\r\n"+SolBTU+"\r\n"},{callback:"Done", scope:this});
- }
- FUNCTION HistLog() {
- _root.DataLogMovie.gotoAndStop(2);
- ssCore.FileSys.writeToFile({path:"C:/577Kiosk/Data/BTU_Hist.txt", DATA:NEWGBTU+","+NEWBBTU+","+YtoDWatts+"\r\n"},{callback:"Done", scope:this});
- }
- FUNCTION MonthLog() {
- _root.DataLogMovie.gotoAndStop(2);
- KiloTracker.length = 0;
- GreenTracker.length = 0;
- BlueTracker.length = 0;
- SolBTUTracker.length = 0;
- FosBTUTracker.length = 0;
- Marco = new TP_SimpleCsvLoader(logHandle, onBasicFileLoaded);
- Marco.loadCVS();
- FUNCTION onBasicFileLoaded() {
- KiloTracker = Marco.getRowAsArray([0]);
- GreenTracker = Marco.getRowAsArray([1]);
- BlueTracker = Marco.getRowAsArray([2]);
- SolBTUTracker = Marco.getRowAsArray([3]);
- FosBTUTracker = Marco.getRowAsArray([4]);
- KiloTracker.split(",");
- GreenTracker.split(",");
- BlueTracker.split(",");
- SolBTUTracker.split(",");
- FosBTUTracker.split(",");
- KiloTracker.splice(logDate,1,WattHours/1000);///the division by 1000 converts sum TO kilowatt hours///
- GreenTracker.splice(logDate,1,SolGalSum);
- BlueTracker.splice(logDate,1,FosGalSum);
- SolBTUTracker.splice(logDate,1,SolBTUSum);
- FosBTUTracker.splice(logDate,1,FosBTUSum);
- FOR (z=KiloTracker.length; z<32; z++) {
- KiloTracker.push(0);
- GreenTracker.push(0);
- BlueTracker.push(0);
- SolBTUTracker.push(0);
- FosBTUTracker.push(0);
- }
- KiloTracker.length = 31;
- GreenTracker.length = 31;
- BlueTracker.length = 31;
- SolBTUTracker.length = 31;
- FosBTUTracker.length = 31;
- ssCore.FileSys.writeToFile({path:logHandle, DATA:KiloTracker+"\r\n"+GreenTracker+"\r\n"+BlueTracker+"\r\n"+SolBTUTracker+"\r\n"+FosBTUTracker+"\r\n"},{callback:"Done", scope:this});
- }
- }
- FUNCTION FileForWeb() {
- _root.DataLogMovie.gotoAndStop(2);
- ssCore.FileSys.writeToFile({path:"C:/577Kiosk/Data/Current.txt", DATA:Meat0+","+Meat1+","+Meat2+","+Meat3+","+Meat4+","+Meat5+","+Meat6+","+Meat7+","+Meat8+","+Meat9+","+YtoDWatts+","+NEWGBTU+","+NEWBBTU+","+GreenGalCheck+","+BlueGalCheck+","+GreenBTUCheck+","+BlueBTUCheck+"\r\n"},{callback:"Done", scope:this});
- }
- FUNCTION Done() {
- _root.DataLogMovie.gotoAndStop(1);
- }
- XXXXXXXXXXXXXXXTHIS IS WHERE THE DATA FILE READING INTERVAL IS CONTROLLEDXXXXXX
- FUNCTION MOM_LOOP() {
- GetClock();
- mom = mom+1;
- IF (mom == 5) {
- _root.AquireData.gotoAndPlay(110);
- XMLSYS1();
- } ELSE IF (mom == 10) {
- _root.AquireData.gotoAndPlay(56);
- XMLSYS2();
- } ELSE IF (mom == 20) {
- _root.AquireData.gotoAndPlay(2);
- CSVSYS1();
- } ELSE IF (mom == 30) {
- HOUR_WRITER();
- } ELSE IF (mom == 45) {
- MonthLog();
- } ELSE IF (mom == 60) {
- HistLog();
- } ELSE IF (mom == 75) {
- FileForWeb();
- } ELSE IF (mom == 90) {
- loadMovieNum("FTP_Inter.swf", 5);
- } ELSE IF (mom == 303) {
- mom = 4;
- }
- }
- //////////////////Updater With Time Interval...includes 1st RUN//////////////////////////////////////
- StartDay();
- var MasterControl;
- _global.MasterControl = setInterval(MOM_LOOP, 1000);///updates every second///
- //////////////////////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement