RANet Ready Relay Box
RANet Ready Relay Box
Hey Guys,
Here is a video of the RANet module controlling a RANet ready relay box.
[youtube]http://www.youtube.com/watch?v=JMBARknej_Y[/youtube]
This relay box will be the first of the wireless expansion modules that will be available shortly.
Here is a video of the RANet module controlling a RANet ready relay box.
[youtube]http://www.youtube.com/watch?v=JMBARknej_Y[/youtube]
This relay box will be the first of the wireless expansion modules that will be available shortly.
Roberto.
Re: RANet Ready Relay Box
That's awesome!
Re: RANet Ready Relay Box
Oh wow....am so loving the creativity from you guys.
Re: RANet Ready Relay Box
Very Cool.
When you asked for suggestions in the other thread I was thinking of a wireless Relay or Power control module.
When you asked for suggestions in the other thread I was thinking of a wireless Relay or Power control module.
Re: RANet Ready Relay Box
Very Nice. How far will the wireless reach? standard stuff? Kicking myself for wiring an extension plug to the pump in the basement.
Re: RANet Ready Relay Box
That is awesome. How is the fallbacks set on the ports? Is it through software or jumpers?
-
- Posts: 246
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: RANet Ready Relay Box
Love it! Aesthetically it is very nice as well. Wireless reach info is important too and would love to know if putting a relay in my basement is okay.
Jack
Re: RANet Ready Relay Box
One thing about zigbee is that devices are also repeaters if I'm not mistaken. Would we be able to talk to standard zigbee devices at all? And would other zigbee devices in the house help (if I'm correct on zigbee retransmission?) the RANet signals? If so then we'd definitely be able to extend to other areas as far as range. Hell, next device request - RANet repeater
Re: RANet Ready Relay Box
As simple as this:lnevo wrote:That is awesome. How is the fallbacks set on the ports? Is it through software or jumpers?
Code: Select all
ReefAngel.Relay.RANetFallBackE[0]=Port7Bit;
Roberto.
Re: RANet Ready Relay Box
The manufacturer advertises 300ft, but that is usually open field range.Smotz wrote:Very Nice. How far will the wireless reach? standard stuff? Kicking myself for wiring an extension plug to the pump in the basement.
Roberto.
Re: RANet Ready Relay Box
I have the return pump on port 5 and skimmer on port 1 on the wireless relay box. Recently the relay box has been losing connectivity from the RA controller on and off and this effectively stops the return pump and skimmer. Is there a way to have the 2 ports to be on even when the relay box loses connectivity from the RA controller?rimai wrote:As simple as this:lnevo wrote:That is awesome. How is the fallbacks set on the ports? Is it through software or jumpers?This line will turn port 7 on and all other ports off.Code: Select all
ReefAngel.Relay.RANetFallBackE[0]=Port7Bit;
Dr Davaraj
Re: RANet Ready Relay Box
Code: Select all
ReefAngel.Relay.RANetFallBackE[0]=Port1Bit | Port5Bit;
Re: RANet Ready Relay Box
Thanks Lee. I'll add that into my code.lnevo wrote:Code: Select all
ReefAngel.Relay.RANetFallBackE[0]=Port1Bit | Port5Bit;
Re: RANet Ready Relay Box
are these available?
Re: RANet Ready Relay Box
rimai wrote:I think I still have one left
Oi..Gonna hold out until they're officially released.
-
- Posts: 140
- Joined: Wed Mar 13, 2013 5:36 pm
Re: RANet Ready Relay Box
how do I get this to work? It's just flashing a white light at me...
Code: Select all
#include <SoftwareSerial.h>
#include <ReefAngel_Features.h>
#include <Globals.h>
#include <RA_Wifi.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_NokiaLCD.h>
#include <RA_ATO.h>
#include <RA_Joystick.h>
#include <LED.h>
#include <RA_TempSensor.h>
#include <Relay.h>
#include <RA_PWM.h>
#include <Timer.h>
#include <Memory.h>
#include <RA_Colors.h>
#include <RA_CustomColors.h>
#include <Salinity.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <AI.h>
#include <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <DCPump.h>
#include <PAR.h>
#include <ReefAngel.h>
/*
#define Heater 1
#define Return 2
#define HeaterTk2 3
#define Skimmer 4
#define Vortech1 5
#define Vortech2 6
#define ATO 7
#define Sump Light 8
*/
////// Place global variable code below here
byte vtechmode, vtSpeed, vtDuration;
////// Place global variable code above here
void setup()
{
// This must be the first line
ReefAngel.Init(); //Initialize controller
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port2Bit;
// ReefAngel.FeedingModePortsE[0] = 0;
// Ports toggled in Water Change Mode
// ReefAngel.WaterChangePorts = Port7Bit | Port4Bit | Port5Bit | Port6Bit;
// ReefAngel.WaterChangePortsE[0] = 0;
// Ports toggled when Lights On / Off menu entry selected
// ReefAngel.LightsOnPorts = 0;
// ReefAngel.LightsOnPortsE[0] = 0;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = Port1Bit | Port2Bit;
// ReefAngel.OverheatShutoffPortsE[0] = 0;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_write( 830 );
// Ports that are always on
ReefAngel.Relay.On( Port2 );
ReefAngel.Relay.On( Port3 );
ReefAngel.Relay.On( Port4 );
ReefAngel.Relay.On( Port5 );
ReefAngel.Relay.On( Port6 );
ReefAngel.Relay.On( Box1_Port1 );
ReefAngel.Relay.On( Box1_Port2 );
ReefAngel.Relay.On( Box1_Port3 );
ReefAngel.Relay.On( Box1_Port4 );
ReefAngel.Relay.On( Box1_Port5 );
ReefAngel.Relay.On( Box1_Port6 );
ReefAngel.Relay.On( Box1_Port7 );
ReefAngel.Relay.On( Box1_Port8 );
////// Place additional initialization code below here
// Hardcode calibrations
ReefAngel.PHMin=576; // PH7.0
ReefAngel.PHMax=842; // PH10.0
ReefAngel.SalMax=3300; // 35ppt
////// Place additional initialization code above here
}
void loop()
{
vtechmode=InternalMemory.RFMode_read();
vtSpeed=InternalMemory.RFSpeed_read();
vtDuration=InternalMemory.RFDuration_read();
static unsigned long feeding;
ReefAngel.StandardHeater( Port1,778,782 );
ReefAngel.WaterLevelATO( Port7,180,71,74 );
ReefAngel.StandardLights( Port8,15,0,2,0 );
ReefAngel.PWM.SetChannel( 0,PWMSlope(19,00,21,00,15,51,20,0) ); //MOON
ReefAngel.PWM.SetChannel( 1,PWMSlope(12,30,20,00,15,50,30,0) ); //RB
ReefAngel.PWM.SetChannel( 2,PWMSlope(12,20,20,00,15,95,30,0) ); //WHITE
ReefAngel.PWM.SetChannel( 3,PWMSlope(12,15,20,00,15,70,30,0) ); //BLUE&CYAN
ReefAngel.PWM.SetChannel( 4,PWMSlope(12,00,20,30,15,70,30,0) ); //UV
if ( ReefAngel.HighATO.IsActive())
{
ReefAngel.Relay.On(Port2);
}
else
{
ReefAngel.Relay.Off(Port2);
}
if (hour() >=13 && hour() < 20)
{
// if (ReefAngel.RF.Mode==Night) ReefAngel.RF.SetMode(Feeding_Stop,0,0);
ReefAngel.RF.UseMemory=true;
// ReefAngel.RF.SetMode(ReefCrest,60,20);
if (ReefAngel.DisplayedMenu==FEEDING_MODE)
{
feeding=now();
}
if (now()-feeding<5400) {
// if (now()-feeding > 1 && now()-feeding < 5400) { // 1 second after feeding mode until 60 minutes after feeding mode.
ReefAngel.RF.UseMemory=false;
ReefAngel.RF.SetMode(Smart_NTM,75,10);
}
}
else
{
ReefAngel.RF.UseMemory=false;
ReefAngel.RF.SetMode(Constant,10,0);
}
if (vtechmode!=InternalMemory.RFMode_read())
InternalMemory.RFMode_write(vtechmode);
if (vtSpeed!=InternalMemory.RFSpeed_read())
InternalMemory.RFSpeed_write(vtSpeed);
if (vtDuration!=InternalMemory.RFDuration_read())
InternalMemory.RFDuration_write(vtDuration);
// This should always be the last line
ReefAngel.Portal( "bencollinz" );
ReefAngel.ShowInterface();
}
void DrawCustomMain()
{
char text[7];
// Date and Time
ReefAngel.LCD.DrawDate( 6, 2 );
ReefAngel.LCD.Clear(COLOR_BLACK, 1, 11, 132, 11);
pingSerial();
ReefAngel.LCD.DrawText(0,255,18,12,"EcoSmart Vortech");
ReefAngel.LCD.Clear(255, 1, 19, 128, 29);
if (vtechmode == 0) ReefAngel.LCD.DrawLargeText(COLOR_LIMEGREEN,255,35,21,"Constant");
else if (vtechmode == 1) ReefAngel.LCD.DrawLargeText(COLOR_GOLD,255,42,21,"Lagoon");
else if (vtechmode == 2) ReefAngel.LCD.DrawLargeText(COLOR_GOLD,255,25,21,"Reef Crest");
else if (vtechmode == 3) ReefAngel.LCD.DrawLargeText(COLOR_CORNFLOWERBLUE,255,22,21,"Short Pulse");
else if (vtechmode == 4) ReefAngel.LCD.DrawLargeText(COLOR_PINK,255,25,21,"Long Pulse");
else if (vtechmode == 5) ReefAngel.LCD.DrawLargeText(COLOR_MAGENTA,255,8,21,"Nutrient Trnsp.");
else if (vtechmode == 6) ReefAngel.LCD.DrawLargeText(COLOR_MAGENTA,255,23,21,"Tidal Swell");
else if (vtechmode == 9) ReefAngel.LCD.DrawLargeText(COLOR_WHITE,0,45,21,"Night");
ReefAngel.LCD.DrawText(0,255,4,30,"RF Speed:");
ReefAngel.LCD.Clear(255,59,29,128,39);
ReefAngel.LCD.DrawText(COLOR_BLUE, DefaultBGColor,71,31,vtSpeed);
ReefAngel.LCD.DrawText(COLOR_BLUE, DefaultBGColor,90,31,"/");
ReefAngel.LCD.DrawText(COLOR_BLUE, DefaultBGColor,100,31,vtDuration);
ReefAngel.LCD.DrawText(0,255,10,40,"Salt");
ConvertNumToString(text, ReefAngel.Params.Temp[T1_PROBE], 10);
ReefAngel.LCD.DrawLargeText(COLOR_INDIANRED, 255, 10, 50, text, Num8x8);
pingSerial();
/* ReefAngel.LCD.DrawText(0,255,50,40,"Fresh");
ConvertNumToString(text, ReefAngel.Params.Temp[T1_PROBE], 10);
ReefAngel.LCD.DrawLargeText(COLOR_INDIANRED, 255, 50, 50, text, Num8x8);
pingSerial();
*/
ReefAngel.LCD.DrawText(0,255,100,40,"pH");
ConvertNumToString(text, ReefAngel.Params.PH, 100);
ReefAngel.LCD.DrawLargeText(COLOR_PLUM, 255, 85, 50, text, Num8x8);
pingSerial();
ReefAngel.LCD.DrawText(0,255,13,58,"Salinity");
ConvertNumToString(text, ReefAngel.Params.Salinity, 10);
ReefAngel.LCD.DrawLargeText(COLOR_LIMEGREEN, 255, 13, 68, text, Num8x8);
pingSerial();
// water level
ReefAngel.LCD.DrawText(0,255,68,58,"WL");
ReefAngel.LCD.DrawText( COLOR_CORNFLOWERBLUE,255, 68, 68, ReefAngel.WaterLevel.GetLevel() );
pingSerial();
// Main Relay Box
byte TempRelay = ReefAngel.Relay.RelayData;
TempRelay &= ReefAngel.Relay.RelayMaskOff;
TempRelay |= ReefAngel.Relay.RelayMaskOn;
ReefAngel.LCD.DrawOutletBox( 12, 108, TempRelay );
pingSerial();
// Relay Expansion
TempRelay = ReefAngel.Relay.RelayDataE[0];
TempRelay &= ReefAngel.Relay.RelayMaskOffE[0];
TempRelay |= ReefAngel.Relay.RelayMaskOnE[0];
ReefAngel.LCD.DrawOutletBox( 12, 120, TempRelay );
pingSerial();
}
void DrawCustomGraph()
{
}
/* void Heater2(byte HeaterRelay, int LowTemp, int HighTemp)
{
if (ReefAngel.Params.Temp[T2_PROBE] == 0) return; // Don't turn the heater on if the temp is reading 0
if (ReefAngel.Params.Temp[T2_PROBE] <= LowTemp && ReefAngel.Params.Temp[T2_PROBE] > 0) ReefAngel.Relay.On(HeaterRelay); // If sensor 2 temperature <= LowTemp - turn on heater
if (ReefAngel.Params.Temp[T2_PROBE] >= HighTemp) ReefAngel.Relay.Off(HeaterRelay); // If sensor 2 temperature >= HighTemp - turn off heater
}
void Heater1(byte HeaterRelay, int LowTemp, int HighTemp)
{
if (ReefAngel.Params.Temp[T1_PROBE] == 0) return; // Don't turn the heater on if the temp is reading 0
if (ReefAngel.Params.Temp[T1_PROBE] <= LowTemp && ReefAngel.Params.Temp[T1_PROBE] > 0) ReefAngel.Relay.On(HeaterRelay); // If sensor 2 temperature <= LowTemp - turn on heater
if (ReefAngel.Params.Temp[T1_PROBE] >= HighTemp) ReefAngel.Relay.Off(HeaterRelay); // If sensor 2 temperature >= HighTemp - turn off heater
}
*/
Re: RANet Ready Relay Box
Roberto, what is the availability of the wireless relay box?rimai wrote:Hey Guys,
Here is a video of the RANet module controlling a RANet ready relay box.
[youtube]http://www.youtube.com/watch?v=JMBARknej_Y[/youtube]
This relay box will be the first of the wireless expansion modules that will be available shortly.