Very buggy integration…
Is there any function to SKIP the next watering? ((but keep all others after the skipped one running)
The enable/disable for the controller and zones work independently of each other and each remember its own state. Disabling the controller then disabling the zone and then enabling the controller will still leave the zone disabled. This is the intended behaviour.
Could you please qualify your statement. If there is a bug then please report it. All the templates for reporting an issue are setup. I can’t fix it if I don’t know what it is.
There is no SKIP function. What are the circumstances behind wanting to suspend watering? An idea might be to suspend watering for a period of time.
I would not follow call it buggy, its well thought for a specific usecase
@rgc99 thank you very much for this great addon. Works perfectly. Got a simple question:
I have a preamble period of 1 minute and 1 minute delays between sequences. I have an automation which has a voice warning to shut down the doors of the places which might be affected from the water coming down from the sprinklers. But i can only use binary sensor of the zone as a trigger, which is a bit late because the sprinklers are already started working than.
Which trigger should i use for the warning that will work just at the start of preamble? Is it binary_sensor.controller or status attribute of controller or anything else?
It is the controller that will turn on before the zone turns on when preamble is used. The trigger should look at the state of the controller/master i.e. binary_sensor.irrigation_unlimited_c1_m. For example:
automation:
- alias: Shut doors
description: Shut the doors for watering
trigger:
- platform: state
entity_id:
- binary_sensor.irrigation_unlimited_c1_m
from: "off"
to: "on"
action:
# Add some actions here to close the doors
To reopen the doors when the watering finishes try this:
automation:
- alias: Open doors
description: Open the doors after watering
trigger:
- platform: state
entity_id:
- binary_sensor.irrigation_unlimited_c1_m
from: "on"
to: "off"
action:
# Add some actions here to open the doors
You could also use the postamble to delay the reopening. Hope this helps.
Here is a nicer manual run card. It uses time picker card which has a lot of options and eliminates problems with the standard time control such as the am/pm selector.
type: entities
title: Manual Run
entities:
- entity: input_select.irrigation_unlimited_entities
name: Controller/Zone
- entity: input_select.irrigation_unlimited_sequences
name: Controller/Sequence
- type: custom:time-picker-card
entity: input_datetime.irrigation_unlimited_run_time
hour_mode: 24
hour_step: 1
minute_step: 1
second_step: 5
name: ''
layout:
embedded: true
link_values: false
hide:
seconds: true
- type: divider
- type: custom:paper-buttons-row
buttons:
- name: Go
tap_action:
action: call-service
service: irrigation_unlimited.shim_manual_run
service_data:
time_entity: input_datetime.irrigation_unlimited_run_time
controller_zone_entity: input_select.irrigation_unlimited_entities
controller_sequence_entity: input_select.irrigation_unlimited_sequences
- name: Cancel
tap_action:
action: call-service
service: irrigation_unlimited.shim_cancel
service_data:
controller_zone_entity: input_select.irrigation_unlimited_entities
Thank you very much.
But I still need pyscript, do I?
Yes you do.
Hi, I’m having a few issues with the manual start card. The log error is:
2021-11-10 16:57:23 ERROR (MainThread) [homeassistant.components.automation.irrigation_unlimited_load_ui_controls] Irrigation Unlimited Load UI Controls: Error executing script. Service not found for call_service at pos 1: Unable to find service irrigation_unlimited.list_config
2021-11-10 16:57:23 ERROR (MainThread) [homeassistant.components.automation.irrigation_unlimited_load_ui_controls] Error while executing automation automation.irrigation_unlimited_load_ui_controls: Unable to find service irrigation_unlimited.list_config
I’ve placed the .py file in the correct position. I don’t see the drop downs being populated at all.
Regards,
Paul
Hi Paul,
It looks like pyscript is not setup correctly. Install the pyscript component. Now make sure you have a config/pyscript directory and put the irrigation_unlimited_service_shim.py file in it. Restart/reload pyscript.
Hey there,
Yep, that did the trick, many thanks. Suggestion for noobs such as myself, it would be an advantage to throw some instructions up about installing pyscript (unless I read over it).
If I can ask a couple more questions please . . .
I’m still seeing NaN on the “Last 7 Days” graph. Have cleared cache, etc but doesn’t seem to have made a difference.
I’ve previously created an irrigation system on the clipsal shac using LUA and have integrated a simple flag based on a call to the weather service about the rainfall in the last 24 hours. I just skip the watering in this case.
I’m trying to get my head around the way yours works. It appears that somehow I can extend the time until watering but still not sure how this works. Would be nice to just check a flag as to whether to start the zone or not.
Regs,
Paul
Hi Paul,
Glad you got it sorted. You are the second person to encounter a similar problem so I am thinking there is room for improvement in the documentation. Might even double down and put something in the trouble shooting section.
NaN is usually because there is no data in the history. Perhaps the zone has yet to turn on/off.
Adjusting the watering schedule works the other way around. The integration doesn’t go out and check anything, you tell it by way of service calls what to do. The service call you will probably want to focus on is ‘adjust_time’. There are a number of options here, but for example you can nominate a new time or alter the existing scheduled time, even to zero which will prevent any irrigation. This adjustment is usually handled by way of an automation which is triggered when your flag changes state or at a specified time - before the irrigation is due to commence. Take a look at the ESPHome example in the readme. It’s a simple soil moisture sensor that adjusts the watering time either by a sliding scale or simply on/off when a threshold is reached. Once you are on top of this and given the plethora of weather data available in HA via other integrations, I look forward to your irrigation adjustment automation solution. Always interested, please post - that goes for anyone else as well.
Hi there,
Whats your name btw
I looked into it and can see the attributes show there has been a number of cycles, however still not seeing anything showing. The yaml I’m using I believe is straight from one of your examples. Starting to get my head around HA but a long way to go I suspect.
type: custom:mini-graph-card
name: Watering Last 7 Days
icon: mdi:sprinkler-variant
entities:
- entity: binary_sensor.irrigation_unlimited_c1_z1
attribute: today_total
- entity: binary_sensor.irrigation_unlimited_c1_z2
attribute: today_total
show:
graph: bar
labels: true
unit: min
aggregate_func: max
hours_to_show: 168
group_by: date
lower_bound: 0
zone_id: ‘1’
index: 0
enabled: true
status: ‘off’
schedule_count: 0
schedules: ‘’
adjustment: None
current_schedule: not running
percent_complete: 0
next_schedule: 1
next_name: Sunrise
next_start: ‘2021-11-14T18:11:00+11:00’
next_duration: ‘0:01:00’
next_adjustment: None
today_total: 3
friendly_name: Greenhouse Pump 1
icon: mdi:valve-closed
Hi Paul,
Make sure you have v0.11.0-dev.4 version of mini-graph card. I thought the author had rolled the changes into the main release but I don’t think so. Go to HACS → Frontend → mini-graph-card-> Options (the three dots button) → Reinstall → Show beta versions → v0.11.0-dev.4 → Install. Now clear your browser cache.
It was the ‘attribute’ option that was added to this release that we need.
Regards
Robert
Legend, that did the trick. Much appreciated.
Cheers,
Paul
Hi Robert,
Sorry to be a complete pain, but I’m trying to work out how to duplicate what I’m currently using here.
Just confused with the schedules and sequences. I can only run one zone at a time.
I have 9 zones at this point with the following parameters.
Zone 1 - Every 3 days for 5 min
Zone 2 - Every 2 days for 5 min
Zone 3 - Every 7 days for 5 min
Zone 4 - Every 2 days for 5 min
Zone 5 - Every day for 10 min
Zone 6 - Off Currently
Zone 7 - Off Currently
Zone 8 - Every day for 5 min
Zone 9 - Every day for 5 min
Additional to the above, I also have a pump for the hydroponics that I’m currently running every 30 minutes for 5 minutes.
Regards,
Paul
Hi Paul,
No problem ask away. Here is the executive overview. Zones represent physical valves and exist under the umbrella of a controller. Each zone may have their own schedule and dance to their own tune.
The above assumes you have enough pressure to handle the situation. If this is not so or you simply like the idea of setting up your zones like a line of domino’s then sequences are your answer. Arrange them, setup a time for the action to begin and watch the show. Now all the zones sing the same song.
No right way, mix and match, many options. Above all, have fun.
Regards
Robert
Thought I’d be smart and copy your code to create an enable/disable UI.
type: entities
title: Enable/Disable Controller
entities:
- entity: input_select.irrigation_unlimited_entities
name: Controller/Zone
- type: divider
- type: custom:paper-buttons-row
buttons:
- name: Enable
tap_action:
action: call-service
service: irrigation_unlimited.enable
service_data:
entity_id: input_select.irrigation_unlimited_entities
- name: Disable
tap_action:
action: call-service
service: irrigation_unlimited.disable
service_data:
entity_id: input_select.irrigation_unlimited_entities
Nothing happened and the logs are showing . . .
- Unable to find referenced entities input_boolean.disable_irrigation_controller
- Unable to find referenced entities input_select.irrigation_unlimited_entities
Guess I’m not as smart as I thought
The enable/disable/toggle shims are not in the pyscript file. These are small pieces of code that convert for example ‘1.1 Zone1’ living in an input_select control into ‘binary_sensor.irrigation_unlimited_c1_z1’ and then call the actual service. They are just helpers sitting between the lovelace card and the integration. There is an updated pyscript/irrigation_unlimited_service_shim.py file in the repository which contain the new shims.
Now you need to call the helpers from your card.
type: entities
title: Enable/Disable Controller
entities:
- entity: input_select.irrigation_unlimited_entities
name: Controller/Zone
- type: divider
- type: custom:paper-buttons-row
buttons:
- name: Enable
tap_action:
action: call-service
service: irrigation_unlimited.shim_enable
service_data:
controller_zone_entity: input_select.irrigation_unlimited_entities
- name: Disable
tap_action:
action: call-service
service: irrigation_unlimited.shim_disable
service_data:
controller_zone_entity: input_select.irrigation_unlimited_entities
Nice work.