Nixie Controller Setup - tagyoureit/nodejs-poolController GitHub Wiki

What is Nixie

Nixie Controllers will be included for njsPC version 7.1.x and above

Nixie is a controller that operates entirely within njsPC. She provides equipment control for devices associated with your pool. When paired with relayEquipmentManager (REM), you can easily associate equipment with relays connected to a Raspberry Pi, Orange Pi, or BeagleBone computer, without programming experience. Nixie operates in two distinct modes. These modes include a cooperative mode and stand-alone mode.

Cooperative Mode

Nixie works to extend your existing outdoor controller by providing additional relay support for your pool. You may add additional circuits, chemistry controllers, or valves. Nixie will manage the logic for these devices for you.

In cooperative mode your main automation panel remains in control of the primary circuits for the pool. Nixie simply acts as another control panel to the master panel.

Stand-alone Mode

When operating in stand-alone mode Nixie will allow you to define one of four profiles. These profiles determine the body control for your setup. To set one of the stand-alone modes for Nixie open up dashPanel then click on the gears icon in the upper right of the screen. From there select the Controller tab. On the Model tab choose the Nixie model that best describes your pool setup. NOTE: If you have a commercial OCP you will not be able to select a stand-alone model.

image

Nixie Single Body

Single body controllers are those that have only one body and one filter. When Nixie Single Body is selected you will only be able to control either a pool or a spa. No intake or return valves will be created and a single filter will be available.

Nixie Shared Body

Shared body controllers are pool/spa, pool/pool, or spa/spa combinations that share a common filter and filter pump. In this configuration Nixie will provide you with a single filter an Intake valve, and a Return valve. The Intake and Return valves should be connected to redirect the water flow so it is drawn from the second body (spa) and returned to the second body (spa) when that body is activated. This also provides a spillway function for to draw from the pool and return to the spa.

Nixie Dual Body

Dual body controllers operate dual equipment configurations. In this configuration there will be two distinct and separate bodies that operate independently. Two filters will be created and no Intake or Return valves will be available.

Nixie No Body

This model is for configurations where no body of water is being controlled. In this configuration, no filter will be created and you will not have the ability to add controllable heaters or chem controllers. Valves, Circuits, Features, and Groups can be added to the controller.

Initial Setup

You will first need to get all your hardware in order. This includes any circuit, valve, or heater relays you would like to use. You can use REM, MQTT, sockets, or http interfaces to control these.

REM Setup

While Nixie will operate without REM, you may want to consider using REM to manage your relays. REM allows you to configure and interface with a variety of relay boards and sensors. This will simplify your setup and provide some fault tolerance should an equipment failure occur. Nixie uses a latching mechanism to ensure the communication between njsPC and REM remains constant. If njsPC is shut down for any reason, any relays that are currently closed on REM will open to shut everything down.

Follow the instructions for setting up REM and label the GPIO, Sensors, and Relays so you can identify them later in njsPC. Here is an example of a relay setup on an MCP23017 I2c controller. There are a number of relay boards and GPIO relays supported in REM.

image

Also take this opportunity to configure your temperature sensors. As a rule of thumb you need 1 water temperature sensor for each filter. An air temperature sensor should also be provided. If you are expecting to set up a solar heater you will also need a solar sensor so the solar heater can calculate the times when solar is beneficial to heat the pool.

General

The general tab allows you to set up your personal information as well as some key system definitions. These settings are global to your Nixie controller in that they provide options for the master controller.

Personal Information

With the exception of the Longitude and Latitude settings on your controller, the Personal Information data is optional. The Longitude and Latitude is used for the internal Heliotrope that calculates the Sunrise and Sunset times for your schedules. A source of this information can be found at https://www.latlong.net/ by providing your address.

Timezone & Locality

These settings are pulled from the server in which njsPC is installed. You should not need to change these settings here. If they are not correct check the timezone settings on your Raspberry Pi.

Delays

If you are running a standalone Nixie controller you can manage the system delays in this section. To enable or disable a type of delay check or uncheck the box next to the delay. If the box is checked then Nixie will delay operations for the number of seconds provided while the actions are taking place. Details regarding these delays are provided below.

  • Pump Off During Valve Action: This applies to Shared Body Nixie controllers where the filter pump(s) are delayed for a period of time to allow the intake and return valves to move to the appropriate position. The reason for this is not for the reasons that you may think. It is to isolate any heat in the spa or pool so that cold water from the pool does not enter the warm water in the spa and vice versa. This is not for protection of the pump or valves since these are rated to accommodate this rotation with the pump running.

  • Heater Start Delay: When a body is first started the heater start delay will delay any calls for heat to the heater. This allows the water flow to stabilize before the heater engages.

  • Cleaner Start Delay: Any circuit that is identified as a Master Cleaner type will be delayed after the body starts. This ensures there is proper flow before starting any cleaner booster pumps on the circuit to prevent cavitation of the booster pump.

  • Cleaner Off for Solar: If the cleaner is running when the solar heater starts calling for heat, the cleaner circuit will turn off for the specified number of seconds. This allows for air to be evacuated from the solar system so that any booster pumps are not cavitated during solar startup.

  • Manual Priority Delay: This is a delay that will allow a circuit to override schedules that may affect it. This is controlled at the system level by the setting in General->Delays->Manual Priority Override. From the manual:

From the manual: 
Manual OP Priority: ON: This feature allows for a circuit to be manually switched OFF and switched 
ON within a scheduled program, the circuit will continue to run for a maximum of 12 hours or whatever 
that circuit Egg Timer is set to, after which the scheduled program will resume. This feature will 
turn off any scheduled program to allow manual pump override. The Default setting is OFF.

## When on
1.  If a schedule should be on and the user turns the schedule off then the schedule expires until 
such time as the time off has expired.  When that occurs the schedule should be reset to run at the 
designated time.  If the user resets the schedule by turning the circuit back on again then the 
schedule will be ignored and the circuit will run until the egg timer expires or the circuit/feature 
is manually turned off.  This setting WILL affect other schedules that may impact this circuit.

## When off
1. "Normal" = If a schedule should be on and the user turns the schedule off then the schedule expires 
until such time as the time off has expired.  When that occurs the schedule should be reset to run at 
the designated time.  If the user resets the schedule by turning the circuit back on again then the 
schedule will resume and turn off at the specified time.

When a schedule is active, and the Manual Operation Priority is turned on, the circuit can be toggled and it will enter the override condition. The condition can be cancelled itself by using the Cancel Delays below (which will cancel all delays) or turning off the circuit in question which will only cancel it's delay.

Additionally, if you want to turn on the override condition for a circuit when it is not in a schedule (or the global setting is not on) you can long press on any circuit for >750ms and it will turn on the delay for just that circuit.

Circuit Groups and Light Groups have special treatment. If any member of the group has manual priority turned on then the entire group will be considered to have manual priority on. Changing the desired state of a group member will toggle the group state and also cancel the manual priority.

Cancelling a Delay

During operation when delays are active a Cancel Delays button will appear on the Bodies panel in the dashboard. This will list the current active delays and clear them so that delayed operations may complete.

Sensor Calibration

The Sensor Calibration section allows you to configure and calibrate temperature data for Nixie. You may also set the threshold temperature for when Nixie enters freeze protection mode.

This Freeze Threshold temperature is compared to the Air Sensor temperature to detect freeze conditions. When the air temperature drops below the Freeze Threshold temperature, Nixie will turn on all circuits that are identified with the Freeze Protection checkbox. If you have a Pool/Spa combo and both the pool and spa have the Freeze Protection checkbox checked, Nixie will rotate between the Pool and Spa mode every 15 minute while Freeze Protection is engaged. During Freeze protection all schedules are suspended for circuits with the Freeze Protection checkbox checked.

Bodies

The number of bodies for the controller as added when you select the type of Nixie controller. Nixie will add the number of required bodies under management. Your only tasks here are to supply the estimated number of gallons in each body and some specific options related to the spa. The capacity numbers are used in calculations for chemistry control and to suggest the number of bags of salt needed to reach the desired level for your chlorinator.

Capacity

The capacity of water of the defined body in gallons.

Spa Manual Heat

When the controller is switched into spa mode the Nixie will change the heat mode to heater if it is not already selected. This option is really only useful for spa side remotes.

image

Filters

The filter relay(s) define when the filter is operating for the number of bodies you selected for your pool. For single body and shared body configurations you will have one filter. For dual body configurations there will be two filters. For the no body's there will be none. If you are using REM to manage the filter relay select the REM connection. After selecting the connection, select the filter relay from the Device dropdown. Once you have provided all the filter attributes click the Save Filter button to commit your changes. Do this for each filter.

Name

You can name the filter anything you like.

Type

Choose the type of filter media that is used for the filter.

Capacity

Filters sizes are determined by the surface area of media material. Enter the media capacity and units used to define the media.

Filter Pressure

The filter pressure section is used to calculate the cleaning cycle for the filter. If you have a pressure sensor mounted on your filter Nixie will automatically calculate the clean percentage for your filter. To do this it needs to know what the reference pressure is when the filter is clean and what it is when the filter is dirty.

The circuit dropdown is used to limit the measurement of the cleaning pressure to times when that circuit is on exclusively. Nixie understands the difference between circuits that are used for lighting so these are automatically excluded from the measurement.

Connection

Nixie supports multiple REM servers. Select the REM server from the connection dropdown that manages the filter relay.

Device

Select the relay device that is attached to the filter relay.

image

Valves

Automated valves including IntelliValve and CV24s should have constant power applied to at least one pair of their 3 wire connector. When connecting valves to a relay use a SPDT relay where the non-diverted (default position) is connected to the normally open side. That way if njspc or REM is turned off the valve will cycle to the default position. The normally closed side should be for the diverted position of the valve.

If you are using a Nixe Shared model then an intake and return valve will have already been created for you. Intake is the valve on the suction side of your pump and return is the valve on the pressure side of your pump. Nixie will automatically control the position of these valves based upon the body that is currently turned on. If you add a spillway circuit or feature, these valves will cycle so that water is sucked from the pool and returned to the spa, creating a spillway effect.

You may add a ridiculous number of auxiliary valves to Nixie. The diverted position of these valves are triggered by the state of the circuit or feature you assign to it. For instance, if you have a circuit named Sheer Descent, then whenever the Sheer Descent circuit is energized the valve will be triggered to the diverted position. If you are using REM select the connection and device that the valve is connected to.

Name

Name the valve whatever you like. That is unless the valve is the intake or return valve. These have fixed names.

Type

The valve type does not have significance as of this writing. When we get around to decoding the IntelliValve protocol this will become more significant.

Pin Id

This is used only as a grouping for valve management concepts tied to external interfaces. Its purpose is only to define the grouping used in these interfaces. If you have to ask its use, just leave it at 0.

Connection

Nixie supports multiple REM servers. Select the REM server from the connection dropdown that manages the vale relay.

Device

Select the relay device that the valve is attached to.

image

Circuits --> AUX Circuits

AUX Circuits are any device that is controlled by a relay. To configure a circuit click the gears icon in the upper right hand corner of dashPanel then select the circuits tab. On the AUX Circuits tab the pre-defined circuits to operate the stand-alone controller will already be there. You do not attach these to REM as they are controlled via the filter relay(s).

To add a circuit click the add circuit button. A new circuit will appear in the list. Define the circuit by providing it a name and selecting the appropriate REM relay. The type determines the special functions related to the circuit. For instance, if you select any of the lighting circuit types it will place that circuit into the Lights section of the dashPanel. If you select one of the color changing options the color options will be provided for the light and send the appropriate on/off/on sequences to control the light to the relay.

Name

Name the circuit whatever you like.

Type

The type of circuit that is being defined. This defines any special functions associated with the circuit.

  • Generic: No special functions assigned
  • Spillway: When the circuit is turned on the return valve is diverted so that water is pulled from the pool and returned to the spa.
  • Master Cleaner: Identifies the circuit as controlling a booster pump or cleaner valve. In this instance the filter pump must be engaged to turn on this circuit.
  • Light: Identifies the circuit as a generic light and will be placed into the lights section of the interface.
  • IntelliBrite: Identifies the circuit as controlling an IntelliBrite light. Special circuit sequences are applied to change the themes and colors for the light.
  • GloBrite: Identifies the circuit as controlling a GloBrite light. Special circuit sequences are applied to change the themes and colors for the light.
  • GloBrite White: Identifies the circuit as controlling a GloBrite White light. Special circuit sequences are applied to change the dimming capabilities of the light.
  • MagicStream: Identifies the circuit as controlling a MagicStream laminar with IntelliBrite capabilities.
  • ColorLogic: Identifies the circuit as controlling a ColorLogic light. Special circuit sequences are applied to change the themes and colors of the light.
  • Dimmer: Identifies the circuit as controlling a light with dimming abilities.
  • ColorCascade: Identifies the circuit as controlling a ColorCascade water feature with IntelliBrite capabilities. image

Show as Feature

If the circuit is not a light circuit it will be hidden if unchecked. If it is a lighting circuit this option will move the light into the features section when checked.

Freeze Protection

When checked this circuit will be turned on should the air temperature drop below the Freeze Threshold defined in the General settings. The default is 35F.

Egg Timer

Defines the number of hours and minutes that the circuit should run before automatically turning off when the circuit is manually turned on. This ensures that circuits are not accidentally left on for extended periods of time.

Don't Stop

Overrides the egg timer so that when the circuit is manually turned on it will not automatically turn off.

Connection

Nixie supports multiple REM servers. Select the REM server from the connection dropdown that manages the circuit relay.

Device

Select the relay device that the circuit is attached to.

Circuits --> Features

Features are similar to Aux circuits but with one major distinction. They do not control relays. To configure a feature click the gears icon in the upper right hand corner of dashPanel then select the Circuits tab and the Features subtab.

To add a Feature click the Add Feature button. A new Feature will appear in the list. Define the Feature by providing it a name and the attributes of the feature.

Name

Name the feature whatever you like.

Type

The type of feature that is being defined. This defines any special functions associated with the circuit.

  • Generic: No special functions assigned
  • Spillway: When the circuit is turned on the return valve is diverted so that water is pulled from the pool and returned to the spa.

Show as Feature

If this box is unchecked the feature will be hidden on the dashboard display.

Freeze Protection

When checked this feature will be turned on should the air temperature drop below the Freeze Threshold defined in the General settings. The default is 35F.

Egg Timer

Defines the number of hours and minutes that the feature should remain on before automatically turning off when the feature is manually turned on. This ensures that features are not accidentally left on for extended periods of time.

Don't Stop

Overrides the egg timer so that when the feature is manually turned on it will not automatically turn off.

Circuits --> Circuit Groups

Circuit groups can be used to combine circuits and features into thematic macros. To configure a circuit group click the gears icon in the upper right hand corner of dashPanel then select the circuits tab then the Circuit Groups subtab. Like Features you do not attach circuit groups to REM since they are not designed to control a relay.

Create the circuit group by clicking the Add Circuit Group button then add as many circuits or features to the group as you like. To add a circuit to the group click the Add Circuit button and a new circuit line will appear. To remove a circuit from the group click the trash can at the end of the line. The circuit configurations will not be saved until the Save Group button is pressed.

Name

Name the Circuit Group whatever you like.

Show as Feature

If this box is unchecked the Circuit Group will be hidden on the dashboard display.

Egg Timer

Defines the number of hours and minutes that the Circuit Group should remain on before automatically turning off when the it is manually turned on. This ensures that features are not accidentally left on for extended periods of time.

Don't Stop

Overrides the egg timer so that when the Circuit Group is manually turned on it will not automatically turn off.

image

Heaters

You may define up to 32 heaters associated with the bodies on your Nixie controller. That would be a bit ridiculous but 32 jumped in our heads for some reason. In most circumstances you may have up to two for each body. To define your heaters select the gears icon at the top right of dashPanel. Click the Add Heater button and a new heater panel will appear.

It is important to define the type of heater we are working with. If the heater is a gas heater then the connection to the heater relay should be to the fireman's switch on the heater. If this is a solar heater then the solar relay should be connected to the solar valve in REM.

Select the target body or bodies that the heater is available for. If you have a shared body and the heater can heat either the pool or spa then select pool/spa from the body dropdown. If you only want the heater options to be available for the spa for instance select spa. Once you are done setting the attributes of the heater press the Save Heater button to commit your changes.

image

Nixie supports different types of heaters. Once a heater has been added to the system and its type selected, set the body that the heater is associated with. If you are running a pool/spa combination then select the pool/spa selection for the body dropdown. This will make the heat modes for the heater available to the body in dashPanel.

Gas Heater

Gas heaters are those heaters that are controlled via a fireman's switch on the heater. See the DIY Nixie Controller for wiring suggestions. Once you have set up REM to include a relay for the fireman's switch select the REM Connection and Device to point to the relay.

Cooldown Delay: You can set a cooldown delay that will force the valve positions and pump selection into cooldown mode for a period of time while disengaging the fireman's switch relay. This is for some heaters that require water to continue to circulate for a period of time after heating. Set this to 0 to disable delay when switching off a heated body.

NOTE: Pentair MasterTemp heaters do not require a cooldown delay. Cooldown is accomplished using an internal blower that circulates air over the heat exchanger if power is supplied to the heater at all times.

Solar Heater

To set up a solar heater select the Solar Heater type from the dropdown. The REM Connection and Device will activate when there is a call for heat or cooling from the solar heater. You must have a solar temperature sensor installed near the panels on the roof to use a solar heater with Nixie. This is used to determine effective heating from the solar array.

Start Temp Delta: This is the temperature offset from the water temperature to determine whether to engage solar for heat or cooling. When the water temperature falls below the setpoint and the water temperature plus the Start Temp Delta is greater than the setpoint then Nixie will trip the solar valve relay to begin heating. The reverse is true for cooling.

Stop Temp Delta: The temperature difference when the solar heater will disengage after solar heating or cooling has begun.

Nocturnal Cooling: When enabled Nixie will engage the solar valve if the Solar Temperature sensor reads less than the high limit setting for the body and the calculated sunset time has expired.

Heat Pump

Heat pumps operate by activating a relay for the fireman's switch. Heat pumps typically operate in a similar fashion where the solar temp sensor indicates whether the heater has sufficient available heat to engage. If no solar sensor is installed Nixie will use the air temp sensor to determine whether the heat pump should activate for heating.

UltraTemp

Nixie supports UltraTemp heaters via its RS485 interface. Be sure to select the address defined in the heater control panel (1-16) for communication with the UltraTemp heater. The heater RS485 data lines should be connected to the Nixie RS485 bus. UltraTemp does not report the internal temperature sensor reading over RS485. Unfortunately, it uses this sensor to heat or cool to the desired setpoint. As a result, there can be a difference between what the water temperature is reading and what the heater thinks the temperature is within a few degrees. Nixie will allow you to calibrate the water temperature sensor to the heater but you cannot calibrate the heater temperature sensor.

Address: The address assigned to the UltraTemp heater. This address must match the address set up in the UltraTemp control panel. You can assign up to 16 UltraTemp heaters in your configuration.

Cooling Enabled: Enables cooling mode and cooling setpoints for bodies assigned to the heater. If the water temperature exceeds the setpoint then Nixie will engage the heater in cooling mode to lower the water temperature.

Differential Temp: The differential temperature determines when a heat or cool cycle will shut the heater off. After a cycle starts the heat or cool mode will disengage when the setpoint plus the differential is reached.

Hybrid (ETi Hybrid)

Hybrid heaters combine a heat pump with a gas fired heater. This combines the economy of a Heat Pump with the power of a Gas Heater while communicating over RS485.

NOTE: If you have one of these we need a full replay captured while the heater is in operation.

Address: The address that is assigned in the heater control panel for the heater. You can assign up to 16 ETi hybrid heaters in your configuration.

Boost Temp: This is only active in Hybrid heating mode and heats the water to the setpoint using the gas portion of the heater when the heater cannot heat to the setpoint using the heat pump.

Economy Time: This is only active in Hybrid heating mode. The gas portion of the heater will activated after a period of time in which the heater cannot reach the setpoint using the heat pump portion of the heater.