Hallo zusammen,
ab heute wird das Modul 70_HYDRAWISE über update verteilt. Das Modul liest die Daten von Hunter Hydrawise Controllern, die im WLAN hängen. Die Daten können dann über die API Schnittstelle gelesen werden, sowie vereinzelte Aktionen ausgelöst werden.
Für die Verwendung muss ein API-KEY bei Hunter beantrag werdent. Das geht einfach im Benutzerkonto
- https://app.hydrawise.com/
In FHEM wird es wie folgt definiert
define myHydrawise HYDAWISE <API-KEY> <Iintervall>
Unter 60 Sekunden ist nicht zu empfehlen, da die Schnittstelle von Hunter sonst einige Minuten sperrt, wenn zu oft angefragt wird.
Link zum Commandref:
- https://fhem.de/commandref_DE.html#HYDRAWISE
Das Thema ist aus folgendem Forumsbeitrag entstanden
- https://forum.fhem.de/index.php?topic=88589.0
Viel Spaß beim Testen.
Grüße,
Alex
Hallo xasher
Ich habe deine Hydrawise Modul eingesetzt und es funktioniert sehr gut.
Ich habe eine Bitte: Kannst Du die Readings "next" und "run_minutes" permanent machen.
Gegenwärtig löschen sich diese sobald die relays wieder deaktiviert sind.
Das bedeutet, man kann darauf keine notifys aufbauen. :-[
Danke
Gruß
Sailor
Hi Sailor,
vielen Dank für den Hinweis. Bei mir ist gerade geschäftlich viel los. Aber es macht natürlich Sinn es so umzusetzen.
Gibt es aus deiner Erfahrung bestimmte Defaultwerte, wenn der Wert nicht gesetzt ist?
Grüße,
Alex
Hi Alex
Zitat von: xasher am 16 September 2020, 07:58:45
vielen Dank für den Hinweis. Bei mir ist gerade geschäftlich viel los. Aber es macht natürlich Sinn es so umzusetzen.
Gibt es aus deiner Erfahrung bestimmte Defaultwerte, wenn der Wert nicht gesetzt ist?
Ich habe mal eine Zone für eine Minute aktiviert.
Anbei die beiden Unterschiede:
{"relay_id":2629180,"time":1576800000, "type":110,"run":0, "relay":1,"name":"Main Walkway","period":259200,"timestr":"", "stop":1},
{"relay_id":2629180,"time":1, "type":106,"run":53, "relay":1,"name":"Main Walkway","period":259200,"timestr":"Now","stop":1},
Basierend auf der API Beschreibung https://support.hydrawise.com/hc/en-us/article_attachments/360058265154/Hydrawise_REST_API.pdf
"run" ist korrekt in Sekunden Restlaufzeit und muss am Ende auch "0" haben
"timestring" ist im deaktivierten Zustand "undef".
Vielleicht sollte man das "undef" ("") umwandeln in "idle" oder "no_next_schedule".
"time" hat im deaktivierten Zustand 1576800000s = 18,25 Tage.
Vielleicht sollte man das im deaktivierten Zustand umwandeln in "none".
"Type", "Stop" und "Period" sind nicht dokumentierte Datensätze. :o
Da muss man wohl mal Hunter fragen...
Gruß
Sailor
Hallo Sailor,
ich habe jetzt das next Reading auf "idle" erweitert. Bevor ich das aber einchecke nochmals die Nachfrage, ob das Reading "run_minutes" bei dir rausfällt. Generell lösche ich alle Readings, die nicht mehr im json sind. Aber "run_minutes" sollte immer gesetzt sein, wenn es einmal in deiner Konfiguration definiert ist.
Siehe Schreenshot.
Viele Grüße,
Alex
Hallo Alex
Zitat von: xasher am 21 September 2020, 09:02:41
Bevor ich das aber einchecke nochmals die Nachfrage, ob das Reading "run_minutes" bei dir rausfällt. Generell lösche ich alle Readings, die nicht mehr im json sind.
Aber "run_minutes" sollte immer gesetzt sein, wenn es einmal in deiner Konfiguration definiert ist.
Leider fliegt das run_minutes wieder raus
Internals:
CFGFN ./cfg/Room_OS.cfg
DEF 0C6D-ABE8-ABE8-49DB 60
FUUID 5f4678be-f33f-02bc-b4c0-c9558dd2dde33528
INTERVAL 60
NAME OS_Hydrawise
NR 3002
STATE on
TYPE HYDRAWISE
OLDREADINGS:
READINGS:
2020-09-22 20:43:19 controller_counts 1
2020-09-08 20:40:50 controller_id 396580
2020-09-22 20:43:19 ct1_controller_id 396580
2020-09-22 20:43:19 ct1_controller_message All good!
2020-09-22 20:43:19 ct1_controller_name My Controller
2020-09-22 20:43:19 ct1_last_contact 2020-09-22 20:05:12
2020-09-22 20:43:19 ct1_serial_number 0590a1bb
2020-09-22 20:43:19 cur_controller_id 396580
2020-09-22 20:43:19 cur_controller_name My Controller
2020-09-22 20:43:19 customer_id 407812
2020-09-22 20:43:19 presence present
2020-09-22 20:43:19 relay_counts 10
2020-09-22 20:43:19 rl10_name Fresh Water
2020-09-22 20:43:19 rl10_relay 10
2020-09-22 20:43:19 rl10_relay_id 2629280
2020-09-03 10:57:55 rl12_name Well Pump
2020-09-03 10:57:55 rl12_relay 12
2020-09-03 10:57:55 rl12_relay_id 2628802
2020-09-22 20:43:19 rl1_name Main Walkway
2020-09-22 20:43:19 rl1_relay 1
2020-09-22 20:43:19 rl1_relay_id 2629180
2020-09-22 20:43:19 rl2_name Danielles Garde
2020-09-22 20:43:19 rl2_relay 2
2020-09-22 20:43:19 rl2_relay_id 2629204
2020-09-22 20:43:19 rl3_name Lawn Sprinkler
2020-09-22 20:43:19 rl3_relay 3
2020-09-22 20:43:19 rl3_relay_id 2629212
2020-09-22 20:43:19 rl4_name South-West Patt
2020-09-22 20:43:19 rl4_relay 4
2020-09-22 20:43:19 rl4_relay_id 2629224
2020-09-22 20:43:19 rl5_name Jurassic Garden
2020-09-22 20:43:19 rl5_relay 5
2020-09-22 20:43:19 rl5_relay_id 2629238
2020-09-22 20:43:19 rl6_name Greenhouse
2020-09-22 20:43:19 rl6_relay 6
2020-09-22 20:43:19 rl6_relay_id 2629258
2020-09-22 20:43:19 rl7_name Pond Garden
2020-09-22 20:43:19 rl7_relay 7
2020-09-22 20:43:19 rl7_relay_id 2629269
2020-09-22 20:43:19 rl8_name Pattio House
2020-09-22 20:43:19 rl8_relay 8
2020-09-22 20:43:19 rl8_relay_id 2629270
2020-09-22 20:43:19 rl9_name East Garden
2020-09-22 20:43:19 rl9_relay 9
2020-09-22 20:43:19 rl9_relay_id 2629278
2020-09-22 20:43:19 state on
helper:
APIKEY 0C6D-ABE8-ABE8-49DB
Attributes:
DbLogExclude .*
event-on-change-reading .*
room Outside
webCmd stopall renewContext renewRelays
Wundert mich aber auch nicht:
Zeile 782:
readingsDelete( $hash, $reading );
Anbei mal der gesamte Breakdown des JSON-Strings im Ruhezustands
time 1600800691
nextpoll 60
message ""
simRelays 1
options 1
stupdate 0
master 0
master_timer 0
master_post_timer 0
expanders []
sensors
0
input 0
type 3
mode 0
timer 0
offtimer 0
rate 5
relays []
1
input 1
type 1
mode 1
timer 0
offtimer 0
relays []
relays
0
relay_id xxxxxxx
time 1576800000
type 110
run 0
relay 1
name "Main Walkway"
period 259200
timestr ""
stop 1
1
relay_id xxxxxxx
time 1576800000
type 110
run 0
relay 2
name "Danielles Garde"
period 259200
timestr ""
stop 1
2
relay_id xxxxxxx
time 1576800000
type 110
run 0
relay 3
name "Lawn Sprinkler"
period 259200
timestr ""
stop 1
3
relay_id xxxxxxx
time 1576800000
type 110
run 0
relay 4
name "South-West Patt"
period 259200
timestr ""
stop 1
4
relay_id xxxxxxx
time 1576800000
type 110
run 0
relay 5
name "Jurassic Garden"
period 259200
timestr ""
stop 1
5
relay_id xxxxxxx
time 1576800000
type 110
run 0
relay 6
name "Greenhouse"
period 259200
timestr ""
stop 1
6
relay_id xxxxxxx
time 1576800000
type 110
run 0
relay 7
name "Pond Garden"
period 259200
timestr ""
stop 1
7
relay_id xxxxxxx
time 1576800000
type 110
run 0
relay 8
name "Pattio House"
period 259200
timestr ""
stop 1
8
relay_id xxxxxxx
time 1576800000
type 110
run 0
relay 9
name "East Garden"
period 259200
timestr ""
stop 1
9
relay_id xxxxxxx
time 1576800000
type 110
run 0
relay 10
name "Fresh Water"
period 259200
timestr ""
stop 1
Gruß
Sailor
Hi Sailor,
ich habe es mal wie im Anhang eingecheckt...
Viele Grüße,
Alex
Ein herzerfrischendes Moin vom achtern Diek vorweg
Ich habe jetzt meine Bewaesserungskreise im ftui eingearbeitet.
Wer Interesse an dem Code hat:
<li data-row="1" data-col="1" data-sizex="3" data-sizey="6" class="semitransparent">
<header class = "semitransparentheader">Sprinkler
</header>
<BR>
<table width="100%">
<tbody>
<tr>
<td colspan="3" class="big">HYDRAWISE Irrigation Control
</td>
</tr>
<tr>
<td colspan ="3">
<div class = "big"
data-type = "push"
data-device = "OS_Hydrawise"
data-get = "ct1_controller_message"
data-get-on = "Error"
data-icon = "mi-error fa-blink"
data-on-color = "#FF0000"
data-hide = "ct1_controller_message"
data-hide-on = "All good!"
data-fhem-cmd = '{fhem("set OS_Hydrawise renewContext")}'>
</div>
<div data-type = "image"
data-url = "../images/default/Hunter-PHC.png"
data-size = "84px"
data-device = "OS_Hydrawise"
data-hide = "ct1_controller_message"
data-hide-on = "^((?!All good\!).)*$"
data-hide-off = "All good!">
</div>
</td>
</tr>
<tr>
<td colspan="3" class="big">
<BR>
All Sprinkler
</td>
</tr>
<tr>
<td colspan="3">
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "fa-hand-stop-o"
data-fhem-cmd = '{fhem("set OS_Hydrawise stopall");; fhem("set OS_Hydrawise renewRelays")}'
class = "inline big" >
</div>
</td>
</tr>
<tr>
<td colspan="3" class="big">
<BR>
Individual Zones
</td>
</tr>
<tr>
<td><BR><div class="big"
data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl1_name">
</div>
<div data-type = "symbol"
data-device = "OS_Hydrawise"
data-get = "rl1_next"
data-states = '["Running", "idle"]'
data-icons = '["oa-sani_sprinkling fa-blink","oa-sani_sprinkling"]'
data-colors = '["blue","#4C5D71"]'
class = "bigger inline">
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "fa-hand-stop-o"
data-hide = "rl1_next"
data-hide-on = "idle"
data-hide-off = "Running"
data-fhem-cmd = '{fhem("set OS_Hydrawise stop " . ReadingsVal("OS_Hydrawise", "rl1_relay_id",0));; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "oa-audio_play"
data-hide = "rl1_next"
data-hide-on = "Running"
data-hide-off = "idle"
data-fhem-cmd = '{fhem("set OS_Hydrawise run " . ReadingsVal("OS_Hydrawise", "rl1_relay_id",0) . " 600");; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl1_run_minutes"
data-fix = "2"
data-hide-on = "none"
data-pre-text = "Irrigation Time left: "
data-unit = " min">
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl1_run_minutes"
data-hide-on = "^((?!none).)*$"
data-substitution='["none","Irrigation OFF"]'>
</div>
</td>
<td></td>
<td><BR><div class="big"
data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl2_name">
</div>
<div data-type = "symbol"
data-device = "OS_Hydrawise"
data-get = "rl2_next"
data-states = '["Running", "idle"]'
data-icons = '["oa-sani_sprinkling fa-blink","oa-sani_sprinkling"]'
data-colors = '["blue","#4C5D71"]'
class = "bigger inline">
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "fa-hand-stop-o"
data-hide = "rl2_next"
data-hide-on = "idle"
data-hide-off = "Running"
data-fhem-cmd = '{fhem("set OS_Hydrawise stop " . ReadingsVal("OS_Hydrawise", "rl2_relay_id",0));; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "oa-audio_play"
data-hide = "rl2_next"
data-hide-on = "Running"
data-hide-off = "idle"
data-fhem-cmd = '{fhem("set OS_Hydrawise run " . ReadingsVal("OS_Hydrawise", "rl2_relay_id",0) . " 600");; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl2_run_minutes"
data-fix = "2"
data-hide-on = "none"
data-pre-text = "Irrigation Time left: "
data-unit = " min">
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl2_run_minutes"
data-hide-on = "^((?!none).)*$"
data-substitution='["none","Irrigation OFF"]'>
</div>
</td>
</tr>
<tr>
<td><BR><div class="big"
data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl3_name">
</div>
<div data-type = "symbol"
data-device = "OS_Hydrawise"
data-get = "rl3_next"
data-states = '["Running", "idle"]'
data-icons = '["oa-sani_sprinkling fa-blink","oa-sani_sprinkling"]'
data-colors = '["blue","#4C5D71"]'
class = "bigger inline">
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "fa-hand-stop-o"
data-hide = "rl3_next"
data-hide-on = "idle"
data-hide-off = "Running"
data-fhem-cmd = '{fhem("set OS_Hydrawise stop " . ReadingsVal("OS_Hydrawise", "rl3_relay_id",0));; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "oa-audio_play"
data-hide = "rl3_next"
data-hide-on = "Running"
data-hide-off = "idle"
data-fhem-cmd = '{fhem("set OS_Hydrawise run " . ReadingsVal("OS_Hydrawise", "rl3_relay_id",0) . " 600");; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl3_run_minutes"
data-fix = "2"
data-hide-on = "none"
data-pre-text = "Irrigation Time left: "
data-unit = " min">
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl3_run_minutes"
data-hide-on = "^((?!none).)*$"
data-substitution='["none","Irrigation OFF"]'>
</div>
</td>
<td></td>
<td><BR><div class="big"
data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl4_name">
</div>
<div data-type = "symbol"
data-device = "OS_Hydrawise"
data-get = "rl4_next"
data-states = '["Running", "idle"]'
data-icons = '["oa-sani_sprinkling fa-blink","oa-sani_sprinkling"]'
data-colors = '["blue","#4C5D71"]'
class = "bigger inline">
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "fa-hand-stop-o"
data-hide = "rl4_next"
data-hide-on = "idle"
data-hide-off = "Running"
data-fhem-cmd = '{fhem("set OS_Hydrawise stop " . ReadingsVal("OS_Hydrawise", "rl4_relay_id",0));; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "oa-audio_play"
data-hide = "rl4_next"
data-hide-on = "Running"
data-hide-off = "idle"
data-fhem-cmd = '{fhem("set OS_Hydrawise run " . ReadingsVal("OS_Hydrawise", "rl4_relay_id",0) . " 600");; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl4_run_minutes"
data-fix = "2"
data-hide-on = "none"
data-pre-text = "Irrigation Time left: "
data-unit = " min">
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl4_run_minutes"
data-hide-on = "^((?!none).)*$"
data-substitution='["none","Irrigation OFF"]'>
</div>
</td>
</tr>
<tr>
<td><BR><div class="big"
data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl5_name">
</div>
<div data-type = "symbol"
data-device = "OS_Hydrawise"
data-get = "rl5_next"
data-states = '["Running", "idle"]'
data-icons = '["oa-sani_sprinkling fa-blink","oa-sani_sprinkling"]'
data-colors = '["blue","#4C5D71"]'
class = "bigger inline">
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "fa-hand-stop-o"
data-hide = "rl5_next"
data-hide-on = "idle"
data-hide-off = "Running"
data-fhem-cmd = '{fhem("set OS_Hydrawise stop " . ReadingsVal("OS_Hydrawise", "rl5_relay_id",0));; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "oa-audio_play"
data-hide = "rl5_next"
data-hide-on = "Running"
data-hide-off = "idle"
data-fhem-cmd = '{fhem("set OS_Hydrawise run " . ReadingsVal("OS_Hydrawise", "rl5_relay_id",0) . " 600");; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl5_run_minutes"
data-fix = "2"
data-hide-on = "none"
data-pre-text = "Irrigation Time left: "
data-unit = " min">
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl5_run_minutes"
data-hide-on = "^((?!none).)*$"
data-substitution='["none","Irrigation OFF"]'>
</div>
</td>
<td></td>
<td><BR><div class="big"
data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl6_name">
</div>
<div data-type = "symbol"
data-device = "OS_Hydrawise"
data-get = "rl6_next"
data-states = '["Running", "idle"]'
data-icons = '["oa-sani_sprinkling fa-blink","oa-sani_sprinkling"]'
data-colors = '["blue","#4C5D71"]'
class = "bigger inline">
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "fa-hand-stop-o"
data-hide = "rl6_next"
data-hide-on = "idle"
data-hide-off = "Running"
data-fhem-cmd = '{fhem("set OS_Hydrawise stop " . ReadingsVal("OS_Hydrawise", "rl6_relay_id",0));; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "oa-audio_play"
data-hide = "rl6_next"
data-hide-on = "Running"
data-hide-off = "idle"
data-fhem-cmd = '{fhem("set OS_Hydrawise run " . ReadingsVal("OS_Hydrawise", "rl6_relay_id",0) . " 600");; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl6_run_minutes"
data-fix = "2"
data-hide-on = "none"
data-pre-text = "Irrigation Time left: "
data-unit = " min">
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl6_run_minutes"
data-hide-on = "^((?!none).)*$"
data-substitution='["none","Irrigation OFF"]'>
</div>
</td>
</tr>
<tr>
<td><BR><div class="big"
data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl7_name">
</div>
<div data-type = "symbol"
data-device = "OS_Hydrawise"
data-get = "rl7_next"
data-states = '["Running", "idle"]'
data-icons = '["oa-sani_sprinkling fa-blink","oa-sani_sprinkling"]'
data-colors = '["blue","#4C5D71"]'
class = "bigger inline">
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "fa-hand-stop-o"
data-hide = "rl7_next"
data-hide-on = "idle"
data-hide-off = "Running"
data-fhem-cmd = '{fhem("set OS_Hydrawise stop " . ReadingsVal("OS_Hydrawise", "rl7_relay_id",0));; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "oa-audio_play"
data-hide = "rl7_next"
data-hide-on = "Running"
data-hide-off = "idle"
data-fhem-cmd = '{fhem("set OS_Hydrawise run " . ReadingsVal("OS_Hydrawise", "rl7_relay_id",0) . " 600");; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl7_run_minutes"
data-fix = "2"
data-hide-on = "none"
data-pre-text = "Irrigation Time left: "
data-unit = " min">
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl7_run_minutes"
data-hide-on = "^((?!none).)*$"
data-substitution='["none","Irrigation OFF"]'>
</div>
</td>
<td></td>
<td><BR><div class="big"
data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl8_name">
</div>
<div data-type = "symbol"
data-device = "OS_Hydrawise"
data-get = "rl8_next"
data-states = '["Running", "idle"]'
data-icons = '["oa-sani_sprinkling fa-blink","oa-sani_sprinkling"]'
data-colors = '["blue","#4C5D71"]'
class = "bigger inline">
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "fa-hand-stop-o"
data-hide = "rl8_next"
data-hide-on = "idle"
data-hide-off = "Running"
data-fhem-cmd = '{fhem("set OS_Hydrawise stop " . ReadingsVal("OS_Hydrawise", "rl8_relay_id",0));; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "oa-audio_play"
data-hide = "rl8_next"
data-hide-on = "Running"
data-hide-off = "idle"
data-fhem-cmd = '{fhem("set OS_Hydrawise run " . ReadingsVal("OS_Hydrawise", "rl8_relay_id",0) . " 600");; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl8_run_minutes"
data-fix = "2"
data-hide-on = "none"
data-pre-text = "Irrigation Time left: "
data-unit = " min">
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl8_run_minutes"
data-hide-on = "^((?!none).)*$"
data-substitution='["none","Irrigation OFF"]'>
</div>
</td>
</tr>
<tr>
<td><BR><div class="big"
data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl9_name">
</div>
<div data-type = "symbol"
data-device = "OS_Hydrawise"
data-get = "rl9_next"
data-states = '["Running", "idle"]'
data-icons = '["oa-sani_sprinkling fa-blink","oa-sani_sprinkling"]'
data-colors = '["blue","#4C5D71"]'
class = "bigger inline">
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "fa-hand-stop-o"
data-hide = "rl9_next"
data-hide-on = "idle"
data-hide-off = "Running"
data-fhem-cmd = '{fhem("set OS_Hydrawise stop " . ReadingsVal("OS_Hydrawise", "rl9_relay_id",0));; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "oa-audio_play"
data-hide = "rl9_next"
data-hide-on = "Running"
data-hide-off = "idle"
data-fhem-cmd = '{fhem("set OS_Hydrawise run " . ReadingsVal("OS_Hydrawise", "rl9_relay_id",0) . " 600");; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl9_run_minutes"
data-fix = "2"
data-hide-on = "none"
data-pre-text = "Irrigation Time left: "
data-unit = " min">
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl9_run_minutes"
data-hide-on = "^((?!none).)*$"
data-substitution='["none","Irrigation OFF"]'>
</div>
</td>
<td></td>
<td><BR><div class="big"
data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl10_name">
</div>
<div data-type = "symbol"
data-device = "OS_Hydrawise"
data-get = "rl10_next"
data-states = '["Running", "idle"]'
data-icons = '["oa-sani_sprinkling fa-blink","oa-sani_sprinkling"]'
data-colors = '["blue","#4C5D71"]'
class = "bigger inline">
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "fa-hand-stop-o"
data-hide = "rl10_next"
data-hide-on = "idle"
data-hide-off = "Running"
data-fhem-cmd = '{fhem("set OS_Hydrawise stop " . ReadingsVal("OS_Hydrawise", "rl10_relay_id",0));; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "push"
data-device = "OS_Hydrawise"
data-icon = "oa-audio_play"
data-hide = "rl10_next"
data-hide-on = "Running"
data-hide-off = "idle"
data-fhem-cmd = '{fhem("set OS_Hydrawise run " . ReadingsVal("OS_Hydrawise", "rl10_relay_id",0) . " 600");; fhem("set OS_Hydrawise renewRelays")}'
class = "inline" >
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl10_run_minutes"
data-fix = "2"
data-hide-on = "none"
data-pre-text = "Irrigation Time left: "
data-unit = " min">
</div>
<div data-type = "label"
data-device = "OS_Hydrawise"
data-get = "rl10_run_minutes"
data-hide-on = "^((?!none).)*$"
data-substitution='["none","Irrigation OFF"]'>
</div>
</td>
</tr>
</tbody>
</table>
</li>
Die Datei "Hunter-PHC" muss unter "/opt/fhem/www/images/default" abgelegt werden.
Rechtevergabe nicht vergessen!
Gruss
Sailor