@hackerhab
Is there any reason in particular that you choose to map the channel in .items file rather than using PaperUI to link the items. This may be the cause of some of your problems
I use text files to create items too, but then I use paperUI to link the items to Things and Channels and I am having ZERO problems with OpenSprinkler. You might want to give it try. It can’t hurt.
Here is my items file for reference.
.items
Switch vStation01RunStatus "Zone 1 Run Status [MAP(opensprinkler_run_status.map):%s]" <status> (gSprinkler, gSprinklerZones, Group_HabPanel_Dashboard)
Switch vStation01Queued "Zone 1 Queue Status [MAP(opensprinkler_queue_status.map):%s]" <status> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation01RemainingTime "Zone 1 Running Time" <time> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation01NextDuration "[%.0f s]" <time> (gSprinkler, gSprinklerDurationMin, Group_HabPanel_Dashboard)
Number:Time vStation01NextDurationMin "[%.0f min]" <time> (gSprinkler, gSprinklerDurationMin, Group_HabPanel_Dashboard)
Switch vStation02RunStatus "Zone 2 Run Status [MAP(opensprinkler_run_status.map):%s]" <status> (gSprinkler, gSprinklerZones, Group_HabPanel_Dashboard)
Switch vStation02Queued "Zone 2 Queue Status [MAP(opensprinkler_queue_status.map):%s]" <status> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation02RemainingTime "Zone 2 Running Time" <time> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation02NextDuration "[%.0f s]" <time> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation02NextDurationMin "[%.0f min]" <time> (gSprinkler, gSprinklerDurationMin, gSprinklerDurationMin, Group_HabPanel_Dashboard)
Switch vStation03RunStatus "Zone 3 Run Status [MAP(opensprinkler_run_status.map):%s]" <status> (gSprinkler, gSprinklerZones, Group_HabPanel_Dashboard)
Switch vStation03Queued "Zone 3 Queue Status [MAP(opensprinkler_queue_status.map):%s]" <status> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation03RemainingTime "Zone 3 Running Time" <time> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation03NextDuration "[%.0f s]" <time> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation03NextDurationMin "[%.0f min]" <time> (gSprinkler, gSprinklerDurationMin, gSprinklerDurationMin, Group_HabPanel_Dashboard)
Switch vStation04RunStatus "Zone 4 Run Status [MAP(opensprinkler_run_status.map):%s]" <status> (gSprinkler, gSprinklerZones, Group_HabPanel_Dashboard)
Switch vStation04Queued "Zone 4 Queue Status [MAP(opensprinkler_queue_status.map):%s]" <status> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation04RemainingTime "Zone 4 Running Time" <time> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation04NextDuration "[%.0f s]" <time> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation04NextDurationMin "[%.0f min]" <time> (gSprinkler, gSprinklerDurationMin, gSprinklerDurationMin, Group_HabPanel_Dashboard)
Switch vStation05RunStatus "Zone 5 Run Status [MAP(opensprinkler_run_status.map):%s]" <status> (gSprinkler, gSprinklerZones, Group_HabPanel_Dashboard)
Switch vStation05Queued "Zone 5 Queue Status [MAP(opensprinkler_queue_status.map):%s]" <status> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation05RemainingTime "Zone 5 Running Time" <time> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation05NextDuration "[%.0f s]" <time> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation05NextDurationMin "[%.0f min]" <time> (gSprinkler, gSprinklerDurationMin, gSprinklerDurationMin, Group_HabPanel_Dashboard)
Switch vStation06RunStatus "Zone 6 Run Status [MAP(opensprinkler_run_status.map):%s]" <status> (gSprinkler, gSprinklerZones, Group_HabPanel_Dashboard)
Switch vStation06Queued "Zone 6 Queue Status [MAP(opensprinkler_queue_status.map):%s]" <status> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation06RemainingTime "Zone 6 Running Time" <time> (gSprinkler, Group_HabPanel_Dashboard)
Number:Time vStation06NextDuration "[%.0f s]" <time> (gSprinkler, gSprinklerDurationMin, Group_HabPanel_Dashboard)
Number:Time vStation06NextDurationMin "[%.0f min]" <time> (gSprinkler, gSprinklerDurationMin, Group_HabPanel_Dashboard)
Number:ElectricCurrent vCurrentDraw "Sprinkler Current [%.0f mA]" <enery> (gSprinkler, Group_HabPanel_Dashboard) {channel="opensprinkler:device:http:device:currentDraw" [profile="default"] }
Switch vSprinklerRunState "Sprinkler is [MAP(opensprinkler_run_status.map):%s]" <status> (gSprinkler, Group_HabPanel_Dashboard)
Number vWaterLevel "Water Level is [%.0f ]" <water> (gSprinkler, gSprinklerDurationMin, Group_HabPanel_Dashboard) { http="<[openSprinkler:10000:JSONPATH($.wl)]" }