Author |
|
judetf Senior Member
Joined: January 23 2008
Online Status: Offline Posts: 234
|
Posted: April 04 2010 at 20:56 | IP Logged
|
|
|
According to "the Internet," there is a default timeout value for EZFlora zones, to prevent over-watering.
I'm hoping that's why one of my zones seems to be shutting itself off (it's a drip-hose zone, so I'm trying to get it to run for a long time).
I've looked through the command set for the EZFlora but can neither understand it nor see anything that suggests a max timeout value.
Does anyone know how to read this value and/or change it?
Many thanks,
jtf
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: April 04 2010 at 23:37 | IP Logged
|
|
|
The default maximum is 30 minutes for each valve. The maximum for any given valve is 255 as the value for each valve is held in a one byte field. The EZFlora Messages/Commands pdf file under Notes: identifies the memory locations where the time values are stored for manual and program operation. Are you using the Simplehomenet Utility Suite to configure the EZFlora.
__________________ Lee G
|
Back to Top |
|
|
judetf Senior Member
Joined: January 23 2008
Online Status: Offline Posts: 234
|
Posted: April 05 2010 at 06:36 | IP Logged
|
|
|
Lee,
Thanks for the info. No, I am using PowerHome exclusively (at least so far) to control the EZFlora.
Given the macro that Dave posted for how he controls the device, I may be able to figure out how to adjust that setting. If anyone has a command at their fingertips, it would be much appreciate.
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: April 05 2010 at 06:53 | IP Logged
|
|
|
The maximum manual values are stored in memory locations 00-07 for valves 1-8. Set MSB, Peek/Poke commands are used to read/write the memory. To read/write valve 1 maximum issue ....
Set MSB 0x28 00 - set Most Significant memory address byte to 0x00
Peek 0x2B 00 - set Least Significant memory address to 0x00 and read location
Poke 0x29 xx - write xx into memory location established by Set MSB/Peek commands
To make the change permanent issue EZIO Control cmd1 = 0x4F cmd2 = 0x01
__________________ Lee G
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: April 05 2010 at 07:16 | IP Logged
|
|
|
This is a copy of the Insteon command log of the SHN Utility Suite reading the maximum manual times for all valves...
1 To ID:08.9E.00 flags:0F cmd1:28 cmd2:0 1 from ID:08.9E.00 flags:F cmd1:28 cmd2:0
2 To ID:08.9E.00 flags:0F cmd1:2B cmd2:0 2 from ID:08.9E.00 flags:F cmd1:2B cmd2:1E
3 To ID:08.9E.00 flags:0F cmd1:2B cmd2:1 3 from ID:08.9E.00 flags:F cmd1:2B cmd2:1E
4 To ID:08.9E.00 flags:0F cmd1:2B cmd2:2 4 from ID:08.9E.00 flags:F cmd1:2B cmd2:1E
5 To ID:08.9E.00 flags:0F cmd1:2B cmd2:3 5 from ID:08.9E.00 flags:F cmd1:2B cmd2:1E
6 To ID:08.9E.00 flags:0F cmd1:2B cmd2:4 6 from ID:08.9E.00 flags:F cmd1:2B cmd2:1E
7 To ID:08.9E.00 flags:0F cmd1:2B cmd2:5 7 from ID:08.9E.00 flags:F cmd1:2B cmd2:1E
8 To ID:08.9E.00 flags:0F cmd1:2B cmd2:6 8 from ID:08.9E.00 flags:F cmd1:2B cmd2:1E
9 To ID:08.9E.00 flags:0F cmd1:2B cmd2:7 9 from ID:08.9E.00 flags:F cmd1:2B cmd2:1E
__________________ Lee G
|
Back to Top |
|
|
judetf Senior Member
Joined: January 23 2008
Online Status: Offline Posts: 234
|
Posted: April 05 2010 at 07:45 | IP Logged
|
|
|
Okay, you convinced me... that I don't have what it takes to figure it out. :(
I'm going to install the simplehomenet utility suite shortly and do it that way.
Thanks again for the pointers!
jtf
|
Back to Top |
|
|
judetf Senior Member
Joined: January 23 2008
Online Status: Offline Posts: 234
|
Posted: April 05 2010 at 09:13 | IP Logged
|
|
|
<sigh>
I just found your _other_ thread re: the utility suite needing a PLC and that PLM support is down the road.
Back to the chalkboard.
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: April 05 2010 at 10:41 | IP Logged
|
|
|
The following macro will set the maximum valve time for a specific valve (zone). The second ph_insteon cmd2 value is 0 which is for valve (zone) 1. The third ph_insteon cmd2 value is the max time in minutes which is 255 in this example. Set the cmd2 value in the second ph_insteon to a value of 0-7 for valves 1-8 and the cmd2 value in the third ph_insteon to whatever maximum minutes you want up to 255.
insert into macroheader values ('VALVETIME','Set Maximum Manual Time',0,0,1);
insert into macrodetail values ('VALVETIME',1,38,'',0,'ph_insteon("EZFLORA",40,0)',0,'');
insert into macrodetail values ('VALVETIME',2,38,'',0,'ph_insteon("EZFLORA",43,0)',0,'');
insert into macrodetail values ('VALVETIME',3,38,'',0,'ph_insteon("EZFLORA",41,255)',0,'');
__________________ Lee G
|
Back to Top |
|
|
judetf Senior Member
Joined: January 23 2008
Online Status: Offline Posts: 234
|
Posted: April 05 2010 at 10:46 | IP Logged
|
|
|
Okay, so I'm giving it the old college try and am not sure of my results. Before trying to write anything, I wanted to start by 'peeking' at the address to confirm the default value of the max minimal value of Zone 2, which I would expect to be 30.
Based on what you wrote above (and your other thread) I am interpreting "0x2B 00" to be the peek command for Zone 1. So I'm trying to run the following as a formula in PH:
ph_insteon("EZFLORA", 40, 0)+
ph_insteonwithret("EZFLORA", 43, 1)
The return is just 0, however. Does that '0' represent the default which is somehow hard-coded to 30 minutes?
If so, then I'm guessing I have to add the following to set the timeout value to be 2 hours:
ph_insteon("EZFLORA", 41, 78)
(I confess to know nothing about hexidecimal values: I came up with '78' by plugging 120 (the number of minutes I want in the timeout) into an online hex converter.)
Am I on the right track?
Thanks,
jtf
|
Back to Top |
|
|
judetf Senior Member
Joined: January 23 2008
Online Status: Offline Posts: 234
|
Posted: April 05 2010 at 10:47 | IP Logged
|
|
|
Ah, you beat me to it... Thanks, Lee. Please ignore what I just wrote and I will use the macro you just provided.
Much, much obliged!
jtf
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: April 05 2010 at 12:16 | IP Logged
|
|
|
PowerHome takes decimal values in the ph_insteon call. The cmd2 value for two hours (120 minutes) would be 120. The cmd2 value of 1 is for valve (zone) 2. The 0 you are seeing is the successful result of the command execution, not the returned value. Put the two ph_insteon calls on separate lines (do not + them together) so the result of the Peek cmd1 43 0x2B will be ph_insteonwithret result which should be the current value. I will put together a macro tonight which displays all the manual valve (maximum) times so you can see all valve maximum times with a single macro invocation.
__________________ Lee G
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: April 05 2010 at 13:37 | IP Logged
|
|
|
This macro will display all 8 Manual Valve Times (Maximum manual On time). Some of the macro lines are long so watch out for spaces added by forum. This is a running macro on my system. It takes several seconds to retrieve the 8 values from memory before a pop-up displays the values.
EDIT: updated macro to specify EZFlora ID in single statement at beginning. This makes changing the ID easier. Also displays the firmware revision along with the 8 manual valve times.
insert into macroheader values ('DISPLAYVALVETIMES','View Manual Times',0,0,1);
insert into macrodetail values ('DISPLAYVALVETIMES',1,15,'[LOCAL1]',NULL,'"EZFLORA"',0,'');
insert into macrodetail values ('DISPLAYVALVETIMES',2,38,'',0,'ph_insteon(ph_getvar_s(1,1), 40,0)',0,'');
insert into macrodetail values ('DISPLAYVALVETIMES',3,38,'',0,'ph_setvar_a(2,1,ph_insteonwi thret(ph_getvar_s(1,1),43,0))',0,'');
insert into macrodetail values ('DISPLAYVALVETIMES',4,38,'',0,'ph_setvar_a(2,2,ph_insteonwi thret(ph_getvar_s(1,1),43,1))',0,'');
insert into macrodetail values ('DISPLAYVALVETIMES',5,38,'',0,'ph_setvar_a(2,3,ph_insteonwi thret(ph_getvar_s(1,1),43,2))',0,'');
insert into macrodetail values ('DISPLAYVALVETIMES',6,38,'',0,'ph_setvar_a(2,4,ph_insteonwi thret(ph_getvar_s(1,1),43,3))',0,'');
insert into macrodetail values ('DISPLAYVALVETIMES',7,38,'',0,'ph_setvar_a(2,5,ph_insteonwi thret(ph_getvar_s(1,1),43,4))',0,'');
insert into macrodetail values ('DISPLAYVALVETIMES',8,38,'',0,'ph_setvar_a(2,6,ph_insteonwi thret(ph_getvar_s(1,1),43,5))',0,'');
insert into macrodetail values ('DISPLAYVALVETIMES',9,38,'',0,'ph_setvar_a(2,7,ph_insteonwi thret(ph_getvar_s(1,1),43,6))',0,'');
insert into macrodetail values ('DISPLAYVALVETIMES',10,38,'',0,'ph_setvar_a(2,8,ph_insteonw ithret(ph_getvar_s(1,1),43,7))',0,'');
insert into macrodetail values ('DISPLAYVALVETIMES',11,38,'',0,'ph_setvar_a(2,9,ph_insteonw ithret(ph_getvar_s(1,1),43,42))',0,'');
insert into macrodetail values ('DISPLAYVALVETIMES',12,24,'No TTS',1,'ph_getvar_s(1,1) + " Revision = " + ph_numtohex1(ph_getvar_n(2,9),2) + "
Manual Zone 1 = " + ph_getvar_s(2,1) + "
Manual Zone 2 = " + ph_getvar_s(2,2) + "
Manual Zone 3 = " + ph_getvar_s(2,3) + "
Manual Zone 4 = " + ph_getvar_s(2,4) + "
Manual Zone 5 = " + ph_getvar_s(2,5) + "
Manual Zone 6 = " + ph_getvar_s(2,6) + "
Manual Zone 7 = " + ph_getvar_s(2,7) + "
Manual Zone 8 = " + ph_getvar_s(2,8)',0,'');
Edited by grif091 - April 07 2010 at 08:50
__________________ Lee G
|
Back to Top |
|
|
judetf Senior Member
Joined: January 23 2008
Online Status: Offline Posts: 234
|
Posted: April 05 2010 at 15:42 | IP Logged
|
|
|
This is fantastic stuff. Thanks. (And thanks for the education. I was feeling confident in my PH skills, then saw the EZFlora command set and, well, that feeling sank.)
You say this is a running macro on your system. Out of curiosity, why do you have a macro to return the max valve time on an EZFlora? I would assume it's a 'set it and forget it variable, no? This will be my first season with the EZFlora running (and I was giddy this weekend when I finally ran the lines and then caused the sprinklers to turn on by using my iPhone - the possibilities for Halloween pranks, and sweltering summer afternoons are now endless). But for pure watering purposes, I'm curious as to why you'd want a macro to pull up the max timeout values for each zone... It's not as if you change them frequently, right?
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: April 05 2010 at 17:13 | IP Logged
|
|
|
That was just to let you know that the macro does work here as opposed to something I had written but not tested. Just an independent method to confirm the first macro is setting the max values as desired. They are permanent once set and saved (unless a factory reset). I use the SHN Utility to manage all my SimpleHomeNet devices. Those values are just a failsafe in case your manual On/Off mechanism fails to turn Off a Zone.
Edited by grif091 - April 05 2010 at 17:15
__________________ Lee G
|
Back to Top |
|
|
judetf Senior Member
Joined: January 23 2008
Online Status: Offline Posts: 234
|
Posted: April 06 2010 at 08:37 | IP Logged
|
|
|
I must have gotten a used device; when I ran your code to look at the max timeout values, there were all different, ranging from 20 to 80. But everything seems to be working now.
I needed to change them b/c a few of them were set lower than the amount of time I want certain zones to be on, so I wasn't getting the full watering time. But now all seems to work well.
I do have a spare PLC, just in case, but I'm not sure I am going to bring it online just to fiddle with the EZFlora, since it now seems to be dialed-in and ready to go.
Thanks again for all the help,
jtf
|
Back to Top |
|
|
Handman Senior Member
Joined: February 02 2009 Location: United States
Online Status: Offline Posts: 229
|
Posted: August 25 2012 at 17:48 | IP Logged
|
|
|
I've entered the nightmarish world of the EZFLORA and trying to write macros to turn on/off valves and display this on/off status on the Device Status page. I would like to see the current "max watering time limits" of my unit and am trying to run Lee's macro for these limits but I am running into an issue. I open the multi-editor, copy the text from the forum, correct the extra spaces, and make sure it is in SQL edit mode. Nonetheless I get an error:
SQLSTATE = 21S01
[Sybase][ODBC Driver][Adaptive Server Anywhere]Insert value list does not match column list: Wrong number of values for INSERT
Not sure if this has to do with differences in PH versions. I am running 2.1.4 with 2.1.2 DB. Any ideas?
Edited by Handman - August 26 2012 at 11:20
|
Back to Top |
|
|
Handman Senior Member
Joined: February 02 2009 Location: United States
Online Status: Offline Posts: 229
|
Posted: August 25 2012 at 18:21 | IP Logged
|
|
|
UPDATE: never mind. I compared the macro with one that does work (imported into SQL editor and reviewed the number of columns) and realized that there is an extra column required of the macros in ver. 2.1.4. I added a blank column and it worked perfectly.
Incidentally the results were somewhat odd. The EZFLORA revision number is 00 (first generation??)
The max valve times were all 0 (zero) expect for two which I had manually set to 35 minutes and 130 minutes and another valve was set to four (4) minutes.
SPRINKLER Revision = 00
Manual Zone 1 = 35
Manual Zone 2 = 4
Manual Zone 3 = 0
Manual Zone 4 = 130
Manual Zone 5 = 0
Manual Zone 6 = 0
Manual Zone 7 = 12
Manual Zone 8 = 0
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: August 25 2012 at 18:34 | IP Logged
|
|
|
Here is a vesion I exported from 2.1.4 and verifed it works.
insert into macroheader values ('DISPLAYVALVETIMES','View Manual Times',0,0,1);
insert into macrodetail values ('DISPLAYVALVETIMES',1,15,'[LOCAL1]',NULL,'"EZFLORA II-2"',0,'','');
insert into macrodetail values ('DISPLAYVALVETIMES',2,38,'',0,'ph_insteon(ph_getvar_s(1,1), 40,0)',0,'','');
insert into macrodetail values ('DISPLAYVALVETIMES',3,38,'',0,'ph_setvar_a(2,1,ph_insteonwi thret(ph_getvar_s(1,1),43,0))',0,'','');
insert into macrodetail values ('DISPLAYVALVETIMES',4,38,'',0,'ph_setvar_a(2,2,ph_insteonwi thret(ph_getvar_s(1,1),43,1))',0,'','');
insert into macrodetail values ('DISPLAYVALVETIMES',5,38,'',0,'ph_setvar_a(2,3,ph_insteonwi thret(ph_getvar_s(1,1),43,2))',0,'','');
insert into macrodetail values ('DISPLAYVALVETIMES',6,38,'',0,'ph_setvar_a(2,4,ph_insteonwi thret(ph_getvar_s(1,1),43,3))',0,'','');
insert into macrodetail values ('DISPLAYVALVETIMES',7,38,'',0,'ph_setvar_a(2,5,ph_insteonwi thret(ph_getvar_s(1,1),43,4))',0,'','');
insert into macrodetail values ('DISPLAYVALVETIMES',8,38,'',0,'ph_setvar_a(2,6,ph_insteonwi thret(ph_getvar_s(1,1),43,5))',0,'','');
insert into macrodetail values ('DISPLAYVALVETIMES',9,38,'',0,'ph_setvar_a(2,7,ph_insteonwi thret(ph_getvar_s(1,1),43,6))',0,'','');
insert into macrodetail values ('DISPLAYVALVETIMES',10,38,'',0,'ph_setvar_a(2,8,ph_insteonw ithret(ph_getvar_s(1,1),43,7))',0,'','');
insert into macrodetail values ('DISPLAYVALVETIMES',11,38,'',0,'ph_setvar_a(2,9,ph_insteonw ithret(ph_getvar_s(1,1),43,42))',0,'','');
insert into macrodetail values ('DISPLAYVALVETIMES',12,24,'No TTS',1,'ph_getvar_s(1,1) + " Revision = " + ph_numtohex1(ph_getvar_n(2,9),2) + "
Manual Zone 1 = " + ph_getvar_s(2,1) + "
Manual Zone 2 = " + ph_getvar_s(2,2) + "
Manual Zone 3 = " + ph_getvar_s(2,3) + "
Manual Zone 4 = " + ph_getvar_s(2,4) + "
Manual Zone 5 = " + ph_getvar_s(2,5) + "
Manual Zone 6 = " + ph_getvar_s(2,6) + "
Manual Zone 7 = " + ph_getvar_s(2,7) + "
Manual Zone 8 = " + ph_getvar_s(2,8)',0,'','');
Is this a new EZFlora from Simplehomenet/Smartenit?
__________________ Lee G
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: August 25 2012 at 18:48 | IP Logged
|
|
|
The forum has never been fixed to allow images to be uploaded. The Zone times are test values I set during i2CS support testing.
EZFLORA I2CS Revision = 28
Manual Zone 1 = 30
Manual Zone 2 = 31
Manual Zone 3 = 32
Manual Zone 4 = 33
Manual Zone 5 = 34
Manual Zone 6 = 35
Manual Zone 7 = 36
Manual Zone 8 = 37
EZFLORA II-2 Revision = 27
Manual Zone 1 = 30
Manual Zone 2 = 30
Manual Zone 3 = 30
Manual Zone 4 = 30
Manual Zone 5 = 30
Manual Zone 6 = 30
Manual Zone 7 = 30
Manual Zone 8 = 30
__________________ Lee G
|
Back to Top |
|
|
Handman Senior Member
Joined: February 02 2009 Location: United States
Online Status: Offline Posts: 229
|
Posted: August 25 2012 at 21:44 | IP Logged
|
|
|
I got the macro working, but I can't tell you anything about my EZFlora except it is from SimpleHomeNet model #5010A and that's all. No date on it or other markings. Revision with the macro says 00.
The weird thing is that the macro is returning completely different values now than when I set it for 30 minutes an hour ago! In fact, some zones seem to be changing even if I run the macro a second time! (notice zone 8 then zone 2) What to believe?
SPRINKLER Revision = 00
Manual Zone 1 = 80
Manual Zone 2 = 4
Manual Zone 3 = 0
Manual Zone 4 = 255
Manual Zone 5 = 0
Manual Zone 6 = 0
Manual Zone 7 = 0
Manual Zone 8 = 0
SPRINKLER Revision = 00
Manual Zone 1 = 80
Manual Zone 2 = 4
Manual Zone 3 = 0
Manual Zone 4 = 255
Manual Zone 5 = 0
Manual Zone 6 = 0
Manual Zone 7 = 0
Manual Zone 8 = 170
SPRINKLER Revision = 00
Manual Zone 1 = 80
Manual Zone 2 = 170
Manual Zone 3 = 0
Manual Zone 4 = 255
Manual Zone 5 = 0
Manual Zone 6 = 0
Manual Zone 7 = 0
Manual Zone 8 = 0
|
Back to Top |
|
|
|
|