Z-Wave Multi Channel (PE653)

After you add the device, go to the device details page, and the preferences are set there, much the same as in Smartthings. :wink:

In the actual code, it’s in the preferences {} section, usually near the top.

I got all that. Here are the screens for the device... no preferences.

This is a custom driver, yes? What preference are you trying to set?

The preferences are supposed to let me select the type of pool pump

Here is the driver code.

Ah. There’s some compound preference function that’s not translating to Hubitat, I think. Looks like a function type is set first in the driver, then that enables a different set of preferences. @mike.maxwell Any idea why the preference input fields aren’t showing up in this driver?

ah, there is a bug in the way we process options. I will add an issue for it to get fixed… in the mean time, you can change your options parameters to a list of maps instead of a map and that should fix it for now.
ie:

     input "operationMode1", "enum", title: "Boster/Cleaner Pump",
            options:[1:"No",
                     2:"Uses Circuit-1",
                     3:"Variable Speed pump Speed-1",
                     4:"Variable Speed pump Speed-2",
                     5:"Variable Speed pump Speed-3",
                     6:"Variable Speed pump Speed-4"]

becomes:

     input "operationMode1", "enum", title: "Boster/Cleaner Pump",
            options:[[1:"No"],
                     [2:"Uses Circuit-1"],
                     [3:"Variable Speed pump Speed-1"],
                     [4:"Variable Speed pump Speed-2"],
                     [5:"Variable Speed pump Speed-3"],
                     [6:"Variable Speed pump Speed-4"]]
3 Likes

Will try this afternoon… thanks for the help you guys are awesome!

I tested that change on my test driver and it compiles fine but still doesn’t show the preference setting in the driver details.

:disappointed_relieved: so sad. Hopefully this will give me full access to the device.

can you post your code? i tested it with the first setting and it was fine.

I just took the code posted by justin.bennett 3 hours ago and copied in your change, and no preferences are displaying at the top.

you only copied my change? you have to change all instances where it is a map, to a list of maps.

I’ll go through it again then.

Aha! I was looking in the wrong spot. One of my drivers (for some reason) has the preferences showing at the top above the commands, and two others have them at the bottom. O_o

@justin.bennett this does work, you’ll just have to complete the modification for mode 2-4.

    preferences {
    input "operationMode1", "enum", title: "Boster/Cleaner Pump",
        options:[[1:"No"],
                 [2:"Uses Circuit-1"],
                 [3:"Variable Speed pump Speed-1"],
                 [4:"Variable Speed pump Speed-2"],
                 [5:"Variable Speed pump Speed-3"],
                 [6:"Variable Speed pump Speed-4"]]
    input "operationMode2", "enum", title: "Pump Type", 
        options:[[0:"1 Speed Pump without Booster/Cleaner"],
                 [1:"1 Speed Pump with Booster/Cleaner"],
                 [2:"2 Speed Pump without Booster/Cleaner"],
                 [3:"2 Speed Pump with Booster/Cleaner"],
                 [4:"Variable Speed Pump without Booster/Cleaner"],
                 [5:"Variable Speed Pump with Booster/Cleaner"],
                 [6:"Reserved 6"],
                 [7:"Reserved 7"]]
    input "poolSpa1", "enum", title: "Pool or Spa",
    	options:[[0:"Pool"],
        		 [1:"Spa"],
                 [2:"Both"]]
    input "fireman", "enum", title: "Fireman Timeout",
        options:[["255":"No heater installed"],
                 ["0":"No cool down period"],
                 ["1":"1 minute"],
                 ["2":"2 minute"],
                 ["3":"3 minute"],
                 ["4":"4 minute"],
                 ["5":"5 minute"],
                 ["6":"6 minute"],
                 ["7":"7 minute"],
				 ["8":"8 minute"],
                 ["9":"9 minute"],
                 ["10":"10 minute"],
                 ["11":"11 minute"],
                 ["12":"12 minute"],
                 ["13":"13 minute"],
                 ["14":"14 minute"],
                 ["15":"15 minute"]]
	input "tempOffsetwater", "number", title: "Water temperature offset", range: "-5..5", defaultValue: 0, required: true
    input "tempOffsetair", "number",
        title: "Air temperature offset - Sets the Offset of the air temerature for the add-on Thermometer in degrees Fahrenheit -5F to +5F", range: "-5..5", defaultValue: 0, required: true
    input "debugLevel", "enum", title: "Debug Level", multiple: "true",
    	options:[[0:"Off"],
        		 [1:"Low"],
                 [2:"High"]], defaultvalue: 0
    input "ZWdelay", "number",
        title: "Delay between Z-Wave commands sent (milliseconds). Suggest 1000.", defaultValue: 1000, required: true
//Mode 1
    input "M1Label", "text", title: "M1: Display Name:", defaultValue: ""
    input "M1Sw1", "enum", title: "M1: Circuit 1 action:", defaultValue: 0,
    	options:[[0:"No Change"],
        		 [1:"On"],
        		 [2:"Off"]]
    input "M1Sw2", "enum", title: "M1: Circuit 2 action:", defaultValue: 0,
    	options:[[0:"No Change"],
        		 [1:"On"],
        		 [2:"Off"]]
    input "M1Sw3", "enum", title: "M1: Circuit 3 action:", defaultValue: 0,
    	options:[[0:"No Change"],
        		 [1:"On"],
        		 [2:"Off"]]
    input "M1Sw4", "enum", title: "M1: Circuit 4 action:", defaultValue: 0,
    	options:[[0:"No Change"],
        		 [1:"On"],
        		 [2:"Off"]]
    input "M1Sw5", "enum", title: "M1: Circuit 5 action:", defaultValue: 0,
    	options:[[0:"No Change"],
        		 [1:"On"],
        		 [2:"Off"]]
    input "M1Mode", "enum", title: "M1: Mode to change to:", defaultValue: 0,
    	options:[[0:"No change"],
        		 [1:"Pool"],
                 [2:"Pool & Set Temperature"],
        		 [3:"Spa"],
                 [4:"Spa & Set Temperature"]]
    input "M1Temp", "number", title: "M1: Set Temperature to:", range: "40..104", defaultValue: 40
    input "M1VSP", "enum", title: "M1: Set VSP Speed to:", defaultValue: 0,
    	options:[[5:"No change"],
        		 [1:"Speed 1"],
        		 [2:"Speed 2"],
        		 [3:"Speed 3"],
                 [4:"Speed 4"],
                 [0:"Turn off"]]
1 Like

I see what you did. I copied/pasted (prior to fixing modes 2 - 4 by adding brackets but I do not see preferences.

Do I need to do modes 2-4 to see preferences?

They are at the bottom. If you comment out modes 2-4 they should show up. Add a /** before mode 2 and a */ after mode 4, but before the end ] for the preferences.

Got it!

I now have full control over the variable speed pump!!! All four modes. However, now I can’t change the temperature.

If enter a number into either ‘Set Cooling Setpoint’ or ‘Set Heating Setpoint’ I get this log

[dev:257](http://192.168.7.201/logs#dev257)2018-03-17 19:25:39.605:errorNo signature of method: dev15213286449791333222929.setHeatingSetpoint() is applicable for argument types: (java.math.BigDecimal) values: [90] on line null

1 Like

Any ideas? I get temperature control working I’m home free and I can upload a github with directions and tell all the ST users to try hubitat.

I would have to assume the driver does not understand the setHeatingSetpoint() command. Gleaning from a thermostat driver, is there a different way to change the temperature?

I have a working thermostat driver here: Sinope smart thermostat maybe you could adapt some of that code?

heatingSetPoint is the command defined in the sinope driver. I think it’s just an undefined command needing some attention.

@justin.bennett Wish I could help but all I’ve got to offer is moral support. Hope someone better equipped will jump in.