Page 2 of 3

Re: New APP / Portal

Posted: Tue Oct 01, 2013 5:44 am
by JoelIreland
Thought so but as I am looking for a solution for everyone, it either needs to be an update for all or need to find another way around it.

Re: New APP / Portal

Posted: Tue Oct 01, 2013 7:49 am
by rimai
Can you provide an example json that the controller would be returning?
I'll have to change the libs to include that.
It'll have to be an optional feature, because the code will increase.

Re: New APP / Portal

Posted: Tue Oct 01, 2013 8:01 am
by lnevo
Here's the output from my all_data_json.php

Code: Select all

{"xml":{"ID":"lnevo","T1":"802","T2":"800","T3":"793","PH":"793","R":"203","RON":"0","ROFF":"255","R1":"28","RON1":"0","ROFF1":"255","R2":"128","RON2":"0","ROFF2":"255","R3":"0","RON3":"0","ROFF3":"255","R4":"0","RON4":"0","ROFF4":"255","R5":"0","RON5":"0","ROFF5":"255","R6":"0","RON6":"0","ROFF6":"255","R7":"0","RON7":"0","ROFF7":"255","R8":"0","RON8":"0","ROFF8":"255","ATOLOW":"1","ATOHIGH":"1","EM":"130","EM1":"0","REM":"3","FLAG":"0","PWMA":"30","PWMD":"30","PWMAO":"255","PWMDO":"255","WL":"93","C0":"0","C1":"8","C2":"8","C3":"0","C4":"46","C5":"9","C6":"8","C7":"0","RFM":"11","RFS":"37","RFD":"1","RFW":"0","RFRB":"0","RFR":"0","RFG":"0","RFB":"100","RFI":"100","RFWO":"255","RFRBO":"255","RFRO":"255","RFGO":"255","RFBO":"255","RFIO":"255"},"mem":{"Mem_B_MoonSlope":30,"Mem_B_Vacation":0,"Mem_B_AutoFeed":0,"Mem_B_AutoFeedPress":2,"Mem_B_AutoFeedRepeat":8,"Mem_B_AutoFeedOffset":5,"Mem_I_WCFillTime":270,"Mem_I_Latitude":21,"Mem_I_Longitude":-73,"Mem_B_AcclRiseOffset":4,"Mem_B_AcclSetOffset":2,"Mem_B_AcclDay":0,"Mem_B_SwabbieRepeat":4,"Mem_B_SwabbieTime":1,"Mem_B_TideMin":10,"Mem_B_TideMax":15,"Mem_B_PumpOffset":50,"Mem_B_FeedingRF":1,"Mem_B_NightRF":0,"Mem_B_NightSpeed":25,"Mem_B_NightDuration":16,"Mem_B_NTMSpeed":40,"Mem_B_NTMDuration":5,"Mem_B_NTMDelay":15,"Mem_B_NTMTime":150,"Mem_I_CalDP1Vol":10,"Mem_I_CalDP1Time":430,"Mem_I_DP1Volume":20,"Mem_I_CalDP2Vol":10,"Mem_I_CalDP2Time":430,"Mem_I_DP2Volume":20,"Mem_B_LogATO":96,"Mem_B_LogPrevATO":97,"Mem_B_RateAlarm":5,"Mem_B_TideMode":8,"Mem_B_MaintGAC":5,"Mem_B_MaintGFO":20,"Mem_B_MaintCal":13,"Mem_B_MaintAlk":13,"Mem_B_MaintWC":5,"Mem_B_MaintATO":1,"Mem_B_MaintFeeding":2,"Mem_B_MaintSkimmer":5,"Mem_B_MaintSocks":5,"Mem_B_MaintWCVol":20,"Mem_I_CalDP3Vol":3,"Mem_I_CalDP3Time":270,"Mem_I_DP3Volume":0,"Mem_B_ResetMemory":0,"Mem_B_MHOnHour":15,"Mem_B_MHOnMinute":30,"Mem_B_MHOffHour":21,"Mem_B_MHOffMinute":0,"Mem_B_StdLightsOnHour":11,"Mem_B_StdLightsOnMinute":42,"Mem_B_StdLightsOffHour":19,"Mem_B_StdLightsOffMinute":38,"Mem_I_WM1Timer":10,"Mem_I_WM2Timer":15,"Mem_B_DP1Timer":35,"Mem_B_DP2Timer":35,"Mem_I_FeedingTimer":1800,"Mem_I_LCDTimer":600,"Mem_I_OverheatTemp":840,"Mem_B_LEDPWMDaylight":18,"Mem_B_LEDPWMActinic":20,"Mem_I_HeaterTempOn":798,"Mem_I_HeaterTempOff":803,"Mem_I_ChillerTempOn":815,"Mem_I_ChillerTempOff":795,"Mem_B_ATOTimeout":60,"Mem_I_PHMax":840,"Mem_I_PHMin":524,"Mem_B_MHDelay":0,"Mem_B_DP1OnHour":20,"Mem_B_DP1OnMinute":0,"Mem_B_DP2OnHour":22,"Mem_B_DP2OnMinute":30,"Mem_B_ATOHourInterval":0,"Mem_B_ATOHighHourInterval":0,"Mem_B_ATOHighTimeout":60,"Mem_I_DP1RepeatInterval":60,"Mem_I_DP2RepeatInterval":60,"Mem_I_SalMax":2550,"Mem_B_PWMSlopeStartD":0,"Mem_B_PWMSlopeEndD":30,"Mem_B_PWMSlopeDurationD":30,"Mem_B_PWMSlopeStartA":0,"Mem_B_PWMSlopeEndA":30,"Mem_B_PWMSlopeDurationA":30,"Mem_B_RFMode":11,"Mem_B_RFSpeed":50,"Mem_B_RFDuration":10,"Mem_B_PWMSlopeStart0":15,"Mem_B_PWMSlopeEnd0":100,"Mem_B_PWMSlopeDuration0":60,"Mem_B_PWMSlopeStart1":15,"Mem_B_PWMSlopeEnd1":100,"Mem_B_PWMSlopeDuration1":60,"Mem_B_PWMSlopeStart2":15,"Mem_B_PWMSlopeEnd2":100,"Mem_B_PWMSlopeDuration2":60,"Mem_B_PWMSlopeStart3":15,"Mem_B_PWMSlopeEnd3":100,"Mem_B_PWMSlopeDuration3":60,"Mem_B_PWMSlopeStart4":15,"Mem_B_PWMSlopeEnd4":100,"Mem_B_PWMSlopeDuration4":60,"Mem_B_PWMSlopeStart5":15,"Mem_B_PWMSlopeEnd5":100,"Mem_B_PWMSlopeDuration5":60,"Mem_I_ATOExtendedTimeout":30,"Mem_I_ATOHighExtendedTimeout":120,"Mem_I_ORPMin":2050,"Mem_I_ORPMax":450,"Mem_B_ActinicOffset":120,"Mem_I_CO2ControlOn":770,"Mem_I_CO2ControlOff":760,"Mem_I_PHControlOn":800,"Mem_I_PHControlOff":810,"Mem_B_AISlopeStartW":0,"Mem_B_AISlopeEndW":100,"Mem_B_AISlopeDurationW":60,"Mem_B_AISlopeStartB":0,"Mem_B_AISlopeEndB":100,"Mem_B_AISlopeDurationB":60,"Mem_B_AISlopeStartRB":0,"Mem_B_AISlopeEndRB":100,"Mem_B_AISlopeDurationRB":60,"Mem_B_RadionSlopeStartW":0,"Mem_B_RadionSlopeEndW":0,"Mem_B_RadionSlopeDurationW":60,"Mem_B_RadionSlopeStartRB":0,"Mem_B_RadionSlopeEndRB":0,"Mem_B_RadionSlopeDurationRB":60,"Mem_B_RadionSlopeStartR":0,"Mem_B_RadionSlopeEndR":0,"Mem_B_RadionSlopeDurationR":60,"Mem_B_RadionSlopeStartG":0,"Mem_B_RadionSlopeEndG":0,"Mem_B_RadionSlopeDurationG":60,"Mem_B_RadionSlopeStartB":0,"Mem_B_RadionSlopeEndB":100,"Mem_B_RadionSlopeDurationB":60,"Mem_B_RadionSlopeStartI":0,"Mem_B_RadionSlopeEndI":100,"Mem_B_RadionSlopeDurationI":60,"Mem_B_DelayedStart":5,"Mem_I_PHExpMin":500,"Mem_I_PHExpMax":2500,"Mem_I_WaterLevelMin":855,"Mem_I_WaterLevelMax":2800,"Mem_I_SalTempComp":-1,"Mem_B_WaterLevelLow":61,"Mem_B_WaterLevelHigh":63,"Mem_B_DP3Timer":0,"Mem_I_DP3RepeatInterval":60,"Mem_B_LCDID":255,"Mem_B_DCPumpMode":0,"Mem_B_DCPumpSpeed":255,"Mem_B_DCPumpDuration":255},"relays":{"rbin":"11001011","relay1val":"1","relay2val":"1","relay3val":"0","relay4val":"1","relay5val":"0","relay6val":"0","relay7val":"1","relay8val":"1","relay1on":"0","relay2on":"0","relay3on":"0","relay4on":"0","relay5on":"0","relay6on":"0","relay7on":"0","relay8on":"0","relay1off":"1","relay2off":"1","relay3off":"1","relay4off":"1","relay5off":"1","relay6off":"1","relay7off":"1","relay8off":"1","relay1status":"1","relay2status":"1","relay3status":"0","relay4status":"1","relay5status":"0","relay6status":"0","relay7status":"1","relay8status":"1","rbin1":"00011100","relay11val":"0","relay12val":"0","relay13val":"1","relay14val":"1","relay15val":"1","relay16val":"0","relay17val":"0","relay18val":"0","relay11on":"0","relay12on":"0","relay13on":"0","relay14on":"0","relay15on":"0","relay16on":"0","relay17on":"0","relay18on":"0","relay11off":"1","relay12off":"1","relay13off":"1","relay14off":"1","relay15off":"1","relay16off":"1","relay17off":"1","relay18off":"1","relay11status":"0","relay12status":"0","relay13status":"1","relay14status":"1","relay15status":"1","relay16status":"0","relay17status":"0","relay18status":"0","rbin2":"10000000","relay21val":"0","relay22val":"0","relay23val":"0","relay24val":"0","relay25val":"0","relay26val":"0","relay27val":"0","relay28val":"1","relay21on":"0","relay22on":"0","relay23on":"0","relay24on":"0","relay25on":"0","relay26on":"0","relay27on":"0","relay28on":"0","relay21off":"1","relay22off":"1","relay23off":"1","relay24off":"1","relay25off":"1","relay26off":"1","relay27off":"1","relay28off":"1","relay21status":"0","relay22status":"0","relay23status":"0","relay24status":"0","relay25status":"0","relay26status":"0","relay27status":"0","relay28status":"1"}}
The json object has three arrays xml, mem, relays. XML contains the data straight from the r99 output. The mem contains all the memory variables extracted from /mr and the relays contains the relay information after applying masks and so forth.

For the controller output, I would suggest just outputting the r99 obviously... should look something like this, but I'm editing it manually...

Code: Select all


{"xml":{"ID":"lnevo","T1":"802","T2":"800","T3":"793","PH":"793","R":"203","RON":"0","ROFF":"255","R1":"28","RON1":"0","ROFF1":"255","R2":"128","RON2":"0","ROFF2":"255","R3":"0","RON3":"0","ROFF3":"255","R4":"0","RON4":"0","ROFF4":"255","R5":"0","RON5":"0","ROFF5":"255","R6":"0","RON6":"0","ROFF6":"255","R7":"0","RON7":"0","ROFF7":"255","R8":"0","RON8":"0","ROFF8":"255","ATOLOW":"1","ATOHIGH":"1","EM":"130","EM1":"0","REM":"3","FLAG":"0","PWMA":"30","PWMD":"30","PWMAO":"255","PWMDO":"255","WL":"93","C0":"0","C1":"8","C2":"8","C3":"0","C4":"46","C5":"9","C6":"8","C7":"0","RFM":"11","RFS":"37","RFD":"1","RFW":"0","RFRB":"0","RFR":"0","RFG":"0","RFB":"100","RFI":"100","RFWO":"255","RFRBO":"255","RFRO":"255","RFGO":"255","RFBO":"255","RFIO":"255"}}


Re: New APP / Portal

Posted: Tue Oct 01, 2013 3:19 pm
by JoelIreland
So your just encoding the returned XML from the RA. The issue is cross domain, I can't even access the XML. I can use a proxy but am trying to get a direct link for local ip addresses. Your code is a perfect example of what I need though,


Sent from my iPad using Tapatalk HD

Re: New APP / Portal

Posted: Tue Oct 01, 2013 3:46 pm
by lnevo
Yeah i think its a encode_json function. Have you looked at the e ample portal code i published?

Re: New APP / Portal

Posted: Tue Oct 01, 2013 5:44 pm
by JoelIreland
Sure did. Thanks for that.
So looks like I'll put live with only proxy access not direct until we come up with a direct JSON solution.


Sent from my iPad using Tapatalk HD

Re: New APP / Portal

Posted: Tue Oct 01, 2013 8:15 pm
by AquaO
Good job!!!
I'm very happy to see this post!!!

i'm not sure if its to late...

But, have iPhone 4 iOS 7 and my Reef Angel app not working with the new iOS :(

I will be very happy to test the NEW app ;)
Thank

Re: New APP / Portal

Posted: Thu Oct 03, 2013 12:01 am
by Jmustapha
Thank you [PERSON RAISING BOTH HANDS IN CELEBRATION]

Re: New APP / Portal

Posted: Fri Oct 04, 2013 9:48 am
by fatman
Android phone, android tablet, mac computer, windows computer, linux computer and an iPhone 5 for my son. Yes, I'm confused every time I boot something up.

Let me know if I can help.

Re: New APP / Portal

Posted: Sun Oct 06, 2013 6:34 am
by chapboogie
I would love to see a widget for android. Something that has my parameters on the home screen

Sent from my SCH-I535 using Tapatalk 4

Re: New APP / Portal

Posted: Fri Oct 11, 2013 11:19 am
by tpriscu
Hi Guys,
Just curious if any headway has been made with this?
Upgraded my phone to ios7 before i knew there was a problem with the reef angel app and kicking myself in the butt now..

Re: New APP / Portal

Posted: Sun Oct 13, 2013 9:31 pm
by acabano
Hello, just upgraded my 4s to 5s. not knowing there is a compatibility issue with iOs7, looking forward for this New APP/ Portal development, thanks for the hard work/effort.

Re: New APP / Portal

Posted: Mon Oct 14, 2013 11:58 am
by mikedizon
Me too cant wait. The more iphone apps maker the better. The more options the better for us. As long as it being updated.

Re: New APP / Portal

Posted: Mon Oct 14, 2013 12:08 pm
by lnevo
Our iphone developer is lost and missing. I'll pay a fee if someone can find him :)

Re: New APP / Portal

Posted: Mon Oct 14, 2013 5:12 pm
by binder
I started working on ios programming over the weekend. I'm getting a better understanding of it. hopefully i can have a new app created by the end of the week. yes, i said new app because the existing one is a big ball of duct tape and lots of extras that are most likely not needed. so some functionality may go away initially just to get the basics working again.
and yes, it would be built for ios7 and later only.
and yes, it will still be free... or maybe 99 cents.... not certain yet.
it will be iPhone only initially (or run in compatible mode on ipad).

Sent from my Nexus 7

Re: New APP / Portal

Posted: Wed Oct 16, 2013 4:31 am
by poolman
Great news thanks Kurt, and I dont thing anyone will have a problem paying 99cents for an APP that works.

Cheers

Bryan

Re: New APP / Portal

Posted: Sat Oct 19, 2013 4:16 pm
by acabano
Hi Curt, thanks for the update, Looking forward. if you need a tester, i have a 4s with iOS7
Im still waiting for my 5s in preorder.

Arnee.

Re: New APP / Portal

Posted: Sat Oct 19, 2013 6:34 pm
by binder
acabano wrote:Hi Curt, thanks for the update, Looking forward. if you need a tester, i have a 4s with iOS7
Im still waiting for my 5s in preorder.

Arnee.
cool. I'm getting closer for the initial release. i don't have an iPhone but I have an ipad mini and ipad 3. like I said, I'm targeting iPhones first and then work from there. I will need feedback on the overall look and functionality of it.

Sent from my Nexus 7

Re: New APP / Portal

Posted: Sun Oct 20, 2013 7:29 pm
by JoelIreland
Hey guys sorry for delay, had a couple of bugs to iron out but will be live wednesday.

Re: New APP / Portal

Posted: Sun Oct 20, 2013 7:59 pm
by davaraj
JoelIreland wrote:Hey guys sorry for delay, had a couple of bugs to iron out but will be live wednesday.
That is wonderful news.

Re: New APP / Portal

Posted: Tue Oct 22, 2013 9:22 am
by tpriscu
That is very good news. Looking forward to seeing it!

Re: New APP / Portal

Posted: Wed Oct 23, 2013 7:40 pm
by ryanmell
any news on the updated app release date?

Re: New APP / Portal

Posted: Sat Oct 26, 2013 10:23 am
by mikedizon
Can't wait! More iphone apps for me to use. I collected many iphone / ipad apps
And Supported paying for the really nice ones. :D apps.

Re: New APP / Portal

Posted: Sat Oct 26, 2013 6:36 pm
by rimai
Can you check if this is good for you?
http://98.248.54.136:2000/json
It's in the latest dev branch.

Re: New APP / Portal

Posted: Sat Oct 26, 2013 7:02 pm
by lnevo
Looks good to me, but I haven't tried to read it yet through ajax. I'll have to throw some code together later. Very cool though.

Re: New APP / Portal

Posted: Tue Nov 12, 2013 10:17 pm
by JoelIreland
Hey Roberto where do i find the JSON branch you added?
Thanks

Re: New APP / Portal

Posted: Wed Nov 13, 2013 11:11 am
by rimai
Use http://ipaddress:2000/json
You must have the RA+ to get json data output.
It won't fit in the standard RA :(

Re: New APP / Portal

Posted: Wed Nov 13, 2013 4:15 pm
by JoelIreland
Great that helps. Can we get it to return JSON when relays are switched etc? Thanks
Also it needs to have xml headers removed, the benefit of json is we can control the RA as a local device using its ip address. XML wont allow cross domain but JSON will. But jquery still detects it as XML.

Re: New APP / Portal

Posted: Wed Nov 13, 2013 4:50 pm
by lnevo
You'd have to add the functionality similar to /r for /json shouldnt be that hard but keep in mind that rules out the ability to support standard ra.

Why not just take the xml and do a json encode?

Re: New APP / Portal

Posted: Wed Nov 13, 2013 7:45 pm
by JoelIreland
Because if you want to retrieve results direct from module via browser and javascript, it wont allow you to take xml from another domain hence why json would be allot better not just for web but mobile as well as has become the more popular format for developers.