Skip to content

Commit

Permalink
[pentair] Many enhancements since original commit, including (#13485)
Browse files Browse the repository at this point in the history
* Updated per design review comments
* Added unitHint to Dimensionless items

Signed-off-by: Jeff James <jeff@james-online.com>
  • Loading branch information
jsjames authored Jul 8, 2024
1 parent 1740644 commit c0d2638
Show file tree
Hide file tree
Showing 61 changed files with 8,919 additions and 2,168 deletions.
316 changes: 200 additions & 116 deletions bundles/org.openhab.binding.pentair/README.md

Large diffs are not rendered by default.

5 changes: 0 additions & 5 deletions bundles/org.openhab.binding.pentair/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,4 @@
<artifactId>org.openhab.binding.pentair</artifactId>

<name>openHAB Add-ons :: Bundles :: Pentair Binding</name>

<properties>
<bnd.importpackage>gnu.io;version="[3.12,6)"</bnd.importpackage>
</properties>

</project>
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,6 @@
*/
package org.openhab.binding.pentair.internal;

import java.util.Collections;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;

import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.thing.ThingTypeUID;

Expand All @@ -36,73 +31,148 @@ public class PentairBindingConstants {
public static final String SERIAL_BRIDGE = "serial_bridge";

// List of all Device Types
public static final String EASYTOUCH = "easytouch";
public static final String CONTROLLER = "controller";
public static final String INTELLIFLO = "intelliflo";
public static final String INTELLICHLOR = "intellichlor";
public static final String INTELLICHEM = "intellichem";

// List of all Bridge Thing Type UIDs
public static final ThingTypeUID IP_BRIDGE_THING_TYPE = new ThingTypeUID(BINDING_ID, IP_BRIDGE);
public static final ThingTypeUID SERIAL_BRIDGE_THING_TYPE = new ThingTypeUID(BINDING_ID, SERIAL_BRIDGE);

// List of all Thing Type UIDs
public static final ThingTypeUID INTELLIFLO_THING_TYPE = new ThingTypeUID(BINDING_ID, INTELLIFLO);
public static final ThingTypeUID EASYTOUCH_THING_TYPE = new ThingTypeUID(BINDING_ID, EASYTOUCH);
public static final ThingTypeUID CONTROLLER_THING_TYPE = new ThingTypeUID(BINDING_ID, CONTROLLER);
public static final ThingTypeUID INTELLICHLOR_THING_TYPE = new ThingTypeUID(BINDING_ID, INTELLICHLOR);

// List of all Channel ids
public static final String EASYTOUCH_POOLTEMP = "pooltemp";
public static final String EASYTOUCH_SPATEMP = "spatemp";
public static final String EASYTOUCH_AIRTEMP = "airtemp";
public static final String EASYTOUCH_SOLARTEMP = "solartemp";

public static final String EASYTOUCH_SPAHEATMODE = "spaheatmode";
public static final String EASYTOUCH_SPAHEATMODESTR = "spaheatmodestr";
public static final String EASYTOUCH_POOLHEATMODE = "poolheatmode";
public static final String EASYTOUCH_POOLHEATMODESTR = "poolheatmodestr";
public static final String EASYTOUCH_HEATACTIVE = "heatactive";

public static final String EASYTOUCH_POOLSETPOINT = "poolsetpoint";
public static final String EASYTOUCH_SPASETPOINT = "spasetpoint";

public static final String EASYTOUCH_POOL = "pool";
public static final String EASYTOUCH_SPA = "spa";
public static final String EASYTOUCH_AUX1 = "aux1";
public static final String EASYTOUCH_AUX2 = "aux2";
public static final String EASYTOUCH_AUX3 = "aux3";
public static final String EASYTOUCH_AUX4 = "aux4";
public static final String EASYTOUCH_AUX5 = "aux5";
public static final String EASYTOUCH_AUX6 = "aux6";
public static final String EASYTOUCH_AUX7 = "aux7";

public static final String EASYTOUCH_FEATURE1 = "feature1";
public static final String EASYTOUCH_FEATURE2 = "feature2";
public static final String EASYTOUCH_FEATURE3 = "feature3";
public static final String EASYTOUCH_FEATURE4 = "feature4";
public static final String EASYTOUCH_FEATURE5 = "feature5";
public static final String EASYTOUCH_FEATURE6 = "feature6";
public static final String EASYTOUCH_FEATURE7 = "feature7";
public static final String EASYTOUCH_FEATURE8 = "feature8";

public static final String INTELLICHLOR_SALTOUTPUT = "saltoutput";
public static final String INTELLICHLOR_SALINITY = "salinity";

public static final String INTELLIFLO_RUN = "run";
public static final String INTELLIFLO_MODE = "mode";
public static final String INTELLIFLO_DRIVESTATE = "drivestate";
public static final String INTELLIFLO_POWER = "power";
public static final String INTELLIFLO_RPM = "rpm";
public static final String INTELLIFLO_PPC = "ppc";
public static final ThingTypeUID INTELLICHEM_THING_TYPE = new ThingTypeUID(BINDING_ID, INTELLICHEM);

public static final String PARAMETER_ID = "id";

// Controller Items
public static final String PROPERTY_CONTROLLER_FIRMWAREVERSION = "firmwareVersion";
public static final String PROPERTY_CONTROLLER_ID = "id";

public static final String CONTROLLER_CONFIGSYNCTIME = "synctime";

public static final String GROUP_CONTROLLER_STATUS = "status";

public static final String CHANNEL_CONTROLLER_AIRTEMPERATURE = "airtemperature";
public static final String CHANNEL_CONTROLLER_SOLARTEMPERATURE = "solartemperature";
public static final String CHANNEL_CONTROLLER_LIGHTMODE = "lightmode";
public static final String CHANNEL_CONTROLLER_SERVICEMODE = "servicemode";
public static final String CHANNEL_CONTROLLER_SOLARON = "solaron";
public static final String CHANNEL_CONTROLLER_HEATERON = "heateron";
public static final String CHANNEL_CONTROLLER_HEATERDELAY = "heaterdelay";

public static final String GROUP_CONTROLLER_POOLCIRCUIT = "pool";
public static final String GROUP_CONTROLLER_SPACIRCUIT = "spa";
public static final String GROUP_CONTROLLER_AUX1CIRCUIT = "aux1";
public static final String GROUP_CONTROLLER_AUX2CIRCUIT = "aux2";
public static final String GROUP_CONTROLLER_AUX3CIRCUIT = "aux3";
public static final String GROUP_CONTROLLER_AUX4CIRCUIT = "aux4";
public static final String GROUP_CONTROLLER_AUX5CIRCUIT = "aux5";
public static final String GROUP_CONTROLLER_AUX6CIRCUIT = "aux6";
public static final String GROUP_CONTROLLER_AUX7CIRCUIT = "aux7";
public static final String GROUP_CONTROLLER_AUX8CIRCUIT = "aux8";

public static final String CHANNEL_CONTROLLER_CIRCUITSWITCH = "switch";
public static final String CHANNEL_CONTROLLER_CIRCUITNAME = "name";
public static final String CHANNEL_CONTROLLER_CIRCUITFUNCTION = "function";

public static final String GROUP_CONTROLLER_FEATURE1 = "feature1";
public static final String GROUP_CONTROLLER_FEATURE2 = "feature2";
public static final String GROUP_CONTROLLER_FEATURE3 = "feature3";
public static final String GROUP_CONTROLLER_FEATURE4 = "feature4";
public static final String GROUP_CONTROLLER_FEATURE5 = "feature5";
public static final String GROUP_CONTROLLER_FEATURE6 = "feature6";
public static final String GROUP_CONTROLLER_FEATURE7 = "feature7";
public static final String GROUP_CONTROLLER_FEATURE8 = "feature8";

// List of heat group and items
public static final String GROUP_CONTROLLER_POOLHEAT = "poolheat";
public static final String GROUP_CONTROLLER_SPAHEAT = "spaheat";

public static final String CHANNEL_CONTROLLER_TEMPERATURE = "temperature";
public static final String CHANNEL_CONTROLLER_SETPOINT = "setpoint";
public static final String CHANNEL_CONTROLLER_HEATMODE = "heatmode";

// List of schedule group and items
public static final String GROUP_CONTROLLER_SCHEDULE = "schedule";

public static final String CHANNEL_CONTROLLER_SCHEDULESAVE = "save";
public static final String CHANNEL_CONTROLLER_SCHEDULESTRING = "schedule";
public static final String CHANNEL_CONTROLLER_SCHEDULETYPE = "type";
public static final String CHANNEL_CONTROLLER_SCHEDULECIRCUIT = "circuit";
public static final String CHANNEL_CONTROLLER_SCHEDULEDAYS = "days";
public static final String CHANNEL_CONTROLLER_SCHEDULESTART = "start";
public static final String CHANNEL_CONTROLLER_SCHEDULEEND = "end";

// List of Intellichlor channel ids
public static final String CHANNEL_INTELLICHLOR_PROPERTYVERSION = "version";
public static final String CHANNEL_INTELLICHLOR_PROPERTYMODEL = "model";

public static final String CHANNEL_INTELLICHLOR_SALTOUTPUT = "saltOutput";
public static final String CHANNEL_INTELLICHLOR_SALINITY = "salinity";
public static final String CHANNEL_INTELLICHLOR_OK = "ok";
public static final String CHANNEL_INTELLICHLOR_LOWFLOW = "lowFlow";
public static final String CHANNEL_INTELLICHLOR_LOWSALT = "lowSalt";
public static final String CHANNEL_INTELLICHLOR_VERYLOWSALT = "veryLowSalt";
public static final String CHANNEL_INTELLICHLOR_HIGHCURRENT = "highCurrent";
public static final String CHANNEL_INTELLICHLOR_CLEANCELL = "cleanCell";
public static final String CHANNEL_INTELLICHLOR_LOWVOLTAGE = "lowVoltage";
public static final String CHANNEL_INTELLICHLOR_LOWWATERTEMP = "lowWaterTemp";
public static final String CHANNEL_INTELLICHLOR_COMMERROR = "commError";

// IntelliChem Items

public static final String PROPERTY_INTELLICHEM_FIRMWAREVERSION = "firmwareVersion";

public static final String CHANNEL_INTELLICHEM_PHREADING = "phReading";
public static final String CHANNEL_INTELLICHEM_ORPREADING = "orpReading";
public static final String CHANNEL_INTELLICHEM_PHSETPOINT = "phSetPoint";
public static final String CHANNEL_INTELLICHEM_ORPSETPOINT = "orpSetPoint";
public static final String CHANNEL_INTELLICHEM_TANK1LEVEL = "tank1Level";
public static final String CHANNEL_INTELLICHEM_TANK2LEVEL = "tank2Level";
public static final String CHANNEL_INTELLICHEM_CALCIUMHARDNESS = "calciumHardness";
public static final String CHANNEL_INTELLICHEM_CYAREADING = "cyaReading";
public static final String CHANNEL_INTELLICHEM_ALKALINITY = "alkalinity";
public static final String CHANNEL_INTELLICHEM_PHDOSERTYPE = "phDoserType";
public static final String CHANNEL_INTELLICHEM_ORPDOSERTYPE = "orpDoserType";
public static final String CHANNEL_INTELLICHEM_PHDOSERSTATUS = "phDoserStatus";
public static final String CHANNEL_INTELLICHEM_ORPDOSERSTATUS = "orpDoserStatus";
public static final String CHANNEL_INTELLICHEM_PHDOSETIME = "phDoseTime";
public static final String CHANNEL_INTELLICHEM_ORPDOSETIME = "orpDoesTIme";
public static final String CHANNEL_INTELLICHEM_LSI = "lsi";
public static final String CHANNEL_INTELLICHEM_SALTLEVEL = "saltLevel";

public static final String CHANNEL_INTELLICHEM_ALARMWATERFLOW = "alarmWaterFlow";
public static final String CHANNEL_INTELLICHEM_ALARMPH = "alarmPh";
public static final String CHANNEL_INTELLICHEM_ALARMORP = "alarmOrp";
public static final String CHANNEL_INTELLICHEM_ALARMPHTANK = "alarmPhTank";
public static final String CHANNEL_INTELLICHEM_ALARMORPTANK = "alarmOrpTank";
public static final String CHANNEL_INTELLICHEM_ALARMPROBEFAULT = "alarmProbeFault";

public static final String CHANNEL_INTELLICHEM_WARNINGPHLOCKOUT = "warningPhLockout";
public static final String CHANNEL_INTELLICHEM_WARNINGPHDAILYLIMITREACHED = "warningPhDailyLimitReached";
public static final String CHANNEL_INTELLICHEM_WARNINGORPDAILYLIMITREACHED = "warningOrpDailyLimitReached";
public static final String CHANNEL_INTELLICHEM_WARNINGINVALIDSETUP = "warningInvalidSetup";
public static final String CHANNEL_INTELLICHEM_WARNINGCHLORINATORCOMMERROR = "warningChlorinatorCommError";

// List of all Intelliflo channel ids
public static final String CHANNEL_INTELLIFLO_RUN = "run";
public static final String CHANNEL_INTELLIFLO_POWER = "power";
public static final String CHANNEL_INTELLIFLO_RPM = "rpm";
public static final String INTELLIFLO_GPM = "gpm";
public static final String INTELLIFLO_ERROR = "error";
public static final String INTELLIFLO_STATUS1 = "status1";
public static final String INTELLIFLO_STATUS2 = "status2";
public static final String INTELLIFLO_TIMER = "timer";
public static final String INTELLIFLO_RUNPROGRAM = "runProgram";

public static final String DIAG = "diag";

// Custom Properties
public static final String PROPERTY_ADDRESS = "localhost";
public static final Integer PROPERTY_PORT = 10000;

// Set of all supported Thing Type UIDs
public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Collections
.unmodifiableSet(Stream.of(IP_BRIDGE_THING_TYPE, SERIAL_BRIDGE_THING_TYPE, EASYTOUCH_THING_TYPE,
INTELLIFLO_THING_TYPE, INTELLICHLOR_THING_TYPE).collect(Collectors.toSet()));
public static final int DEFAULT_PENTAIR_ID = 34;
}
Loading

0 comments on commit c0d2638

Please sign in to comment.