piGarden: package per integrazione con Home Assistant

Eccomi che torno a parlare di piGarden e come integrarlo con con Home Assistant, il noto controller domotico.

Nel precedente articolo piGarden: integrazione con Home Assistant (che dovete comunque leggere per completezza) avevo già spiegato come eseguire l’integrazione andando a modificare direttamente i file di configurazione di Home Assistant. Adesso invece ho ragguppato tutte le istruzioni in un package esterno in modo da dovere mettere mano il meno possibile al file di configurazione generale di Home Assistant. In oltre ho aggiunto la possibilità di:

  • Interrompere tutte le irrigazioni in corso con una sola azione
  • Interrompere tutte le irrigazioni in corso e disabilitare le scehedulazione attive con suna sola azione
  • Riavviare il raspberry dove gira piGarden
  • Spegnere il raspberry dove gira piGarden

Questo è il file di configurazione che dovete posizionare nella cartella contenente i packages del vostro Home Assistant. Se non avete configurato i package potete farlo nel seguente modo:

  • create la cartella “packages” nel percorso dove è posizionato il vostro file di configurazione di Home Assistant
  • modificate configuration.yaml e inserite la seguente riga:

packages: !include_dir_named packages

Nel package sono presenti tre zone di esempio (giardino_posteriore_dx, giardino_posteriore_sx e giardino_posteriore_cn). Modificatelo come meglio credete.

Dovete poi copiare le immagini relative agli irrigatori, nella cartella www/icons del vostro Home Assistant. Le immagini le potete scaricare da qui.

Altro passo essenziale, come già spiegavo nel precedente articolo, è quello di installare e configurare mqttconnector che permette di comunicare con piGarden tramite protocollo mqtt.

Fatto questo, configurate su Home Assistant (se non già fato) la connessione al vostro server mqtt andando a modificare direttamente il file configuration.yaml di Home Assistant oppure facendolo direttamente dall’interfaccia web.

Ora non vi rimane che configurare l’interfaccia lovelace di Home Assistant andando ad aggiungere due nuove schede di tipo “Vertical Stack” e incollandoci rispettivamente seguenti comandi:

cards:
  - entities:
      - entity: sensor.pigarden_info
      - entity: script.pigarden_close_all
      - entity: script.pigarden_close_all_and_disable_scheduling
      - entity: script.pigarden_reboot
      - entity: script.pigarden_poweroff
    show_header_toggle: false
    title: Controllo piGarden
    type: entities
  - entities:
      - sensor.pigarden_last_rain_sensor
      - sensor.pigarden_last_rain_online
    show_header_toggle: false
    title: Ultima pioggia rilevata
    type: entities
  - entity: weather.openweather
    name: Meteo
    type: weather-forecast
type: vertical-stack

…. e questi ….

cards:
  - entities:
      - switch.pigarden_zone_giardino_posteriore_dx
      - input_boolean.pigarden_force_giardino_posteriore_dx
    show_header_toggle: false
    title: Giardino Posteriore DX
    type: entities
  - entities:
      - switch.pigarden_zone_giardino_posteriore_sx
      - input_boolean.pigarden_force_giardino_posteriore_sx
    show_header_toggle: false
    title: Giardino Posteriore SX
    type: entities
  - entities:
      - switch.pigarden_zone_giardino_posteriore_cn
      - input_boolean.pigarden_force_giardino_posteriore_cn
    show_header_toggle: false
    title: Giardino Posteriore CN
    type: entities
type: vertical-stack

Spero che il risultato vi possa piacere.

Per i file da scaricare che ho menzionato ho anche creato un repository su github dove potete trovare tutto il materiale: https://github.com/lejubila/piGardenHomeAssistant

20 pensieri su “piGarden: package per integrazione con Home Assistant

  1. Ciao Grazie mille per il progetto e per tutto quello che fai…
    Vorrei usare piGarden con sonoff 4 tasmotato..
    uso già home assistant e ho visto che hai fatto il package con l’ automazione, che richiama il 2° rabsperry…
    potrebbe essere interessate comandare via MQTT i sonoff che dici?
    Via Sonoff ho visto che usi http…
    Rimango in attesa di una cordiale Rix..Buon Lavoro

  2. Ciao @alessandro,
    con i sonoff uso http perché così posso avere una risposta immediata se la chiamata è andata a buon fine o menso, con mqtt non lo potrei fare.
    Comunque vedo di pensare ad un’implementazione anche via mqtt.

  3. Ciao e complimenti per il gran lavoro!
    Volevo chiederti se è possibile installare PiGarden anche su sistema operativo hassio come unico so del Raspberry? Grazie

  4. Ciao, sono felicissimo del mio RaspiGarden!! Funziona benissimo. Adesso mi stavo cimentando nella configurazione di Home Assistant ma ho un problema…
    mqtt funziona e si collega, la sua integrazione in HASS funziona.
    Il problema che ho è che HASS mi da
    020-05-09 12:29:34 ERROR (MainThread) [homeassistant.setup] Setup failed for packages: Integration not found.
    E di conseguenza non visualizzo i pannelli nella home.
    Ho creato la cartella “packages” dentro alla cartella di configurazione di HASS, e sua volta lì ho copiato il file config creato da te.
    Come user e pass di mqtt quali devo usare? quelli che ho specificato nel file config del connector?
    Grazie mille!!!!! Matteo

  5. Scusa altra precisazione: il file di config mqttconnector.ini, nella sezione [pigarden] va modificato inserendo in host=, port= user e pwd i vari dati relativi al piGarden?
    Grazie ancora…

  6. Ciao @matteo,
    l’errore “Setup failed for packages: integration not found” potrebbe essere dovuto ad una errata indentazione della riga
    packages: !include_dir_named packages

    I parametri mqtt (user, pass, port, host) sono quelli del brocker mqtt che utilizzi (io installato mosquitto sul raspberry).
    Invece nella sezione pigarden devi indicare i parametri del socket server che hai utilizzato su piGarden

    Maggiori info su mqttconnector le trovi qui invece per il socket server le trovi qui.

  7. Grazie mille per il tuo aiuto!! e ..scusa se ti disturbo ancora.. ma proprio non riesco a venirne a capo. il mio file di config principale è estremamente semplice, e come ultima riga ho aggiunto “packages: …”
    Ho riconfigurato anche sia mqtt che il file di config di pigarden aggiungendo il parametri mancanti. Ma niente ancora, HASS mi da sempre lo stesso errore “integration not found”.
    HASS sulla pagina mi dà tutte le entità non disponibili tranne gli switch per forzare l’apertura in caso di pioggia, che comunque non si muovono ovviamente.
    Non so che pesci pigliare…

  8. @Matteo
    senza vedere il file di configurazione di home assistant non aprei come aiutarti.
    Hai modo di postarlo da qualche parte in moda che lo possa vedere (non qui)?

  9. io ho installato hassio e non posso integrare pigarden (che gira su un altro raspberry) … ma c’è un modo per interfacciarli e avere su homeassistant lo stato di pigarden ?

  10. Ciao @stefano,
    personalmente non ho mai utilizzato hassio, ma penso che l’unico limite sia quello di non potervi instalalre lo script mqttconnector.
    Se è questo il problema, lo puoi installare sul raspberry dove gira piGarden.

    Per il resto dovresti poter fare tutto da assio. Naturalmente dovrai mettere mano al file yaml che ho linkato su github in modo da adattarlo alla configurazione del tuo piGarden.

  11. Ho installato pigarden e home assistent in due differenti Raspberry la.comunicazione avviene tramite mqtt. La cosa strana che HA esegue il comando però lo switch torna.alla.posizione iniziale e non si riesce a fermare il comando. Cosa posso controllare . Grazie luciano

  12. @luciano
    Perchè piGarden possa recepire i comandi inviati tramite mqtt devi installare e configurare mqttconnector. L’hai fatto?

  13. si ho configurato mqttconnector:
    lo allego
    [mqtt]
    broker_address=indirizzo broker HA
    port=1883
    user=user broker HA
    password=Password borker HA
    client_id=mqttconnector
    path_connector=/home/pi/mqttconnector/
    subtopic_command=command
    subtopic_result=result

    [pigarden]
    enabled=1
    host=127.0.0.1
    port=8084
    exec_command=exec_cmd2sck.sh
    user=
    pwd=
    topic=pigarden
    result_enable=1
    topic_result_qos=0
    topic_result_retain=1

    questa e’ la risposta nel raspberry al comando di home assistant:

    Message received: open Giardino_Posteriore_DX force
    pigarden command: open Giardino_Posteriore_DX force
    Command : ‘open Giardino_Posteriore_DX force’
    Command output : {“version”:{“ver”:0,”sub”:6,”rel”:4},”timestamp”: 1673695188,” event”: {“event”: “ev_open_after”, “alias”: “”},”zones”:{“Giardino_Posteriore_DX “:{“name”:”Giardino_Posteriore_DX”,”state”:2},”Giardino_Posteriore_SX”:{“name”:” Giardino_Posteriore_SX”,”state”:0},”Giardino_Posteriore_CN”:{“name”:”Giardino_Po steriore_CN”,”state”:0},”Giardino_Aiuola_Grande”:{“name”:”Giardino_Aiuola_Grande “,”state”:0},”Giardino_Aiuola_Piccola”:{“name”:”Giardino_Aiuola_Piccola”,”state” :0},”Giardino_Piante”:{“name”:”Giardino_Piante”,”state”:0},”Giardino_Luci”:{“nam e”:”Giardino_Luci”,”state”:0},”Orto_Monti”:{“name”:”Orto_Monti”,”state”:0},”Orto _Lato_Piscina”:{“name”:”Orto_Lato_Piscina”,”state”:0},”Orto_Lato_Muro”:{“name”:” Orto_Lato_Muro”,”state”:0},”Orto_Lato_Rete”:{“name”:”Orto_Lato_Rete”,”state”:0}} ,”ev”:{“EV1_ALIAS”:{“alias”:”Giardino_Posteriore_DX”},”EV2_ALIAS”:{“alias”:”Giar dino_Posteriore_SX”},”EV3_ALIAS”:{“alias”:”Giardino_Posteriore_CN”},”EV4_ALIAS”: {“alias”:”Giardino_Aiuola_Grande”},”EV5_ALIAS”:{“alias”:”Giardino_Aiuola_Piccola “},”EV6_ALIAS”:{“alias”:”Giardino_Piante”},”EV7_ALIAS”:{“alias”:”Giardino_Luci”} ,”EV8_ALIAS”:{“alias”:”Orto_Monti”},”EV9_ALIAS”:{“alias”:”Orto_Lato_Piscina”},”E V10_ALIAS”:{“alias”:”Orto_Lato_Muro”},”EV11_ALIAS”:{“alias”:”Orto_Lato_Rete”}},” sensor”: { “Mi_Flora”:{ “moisture”: “”, “temperature”: “”, “fertility”: “”, “ill uminance”: “”}},”last_weather_online”:{
    “display_location”: {
    “city”: “Massa”
    },
    “observation_epoch”: “1673694902”,
    “local_epoch”: “1673694902”,
    “local_tz_long”: “Europe/Rome”,
    “weather”: “Mostly Cloudy”,
    “temp_c”: “13.03”,
    “relative_humidity”: “79%”,
    “wind_dir”: “SW”,
    “wind_degrees”: “229”,
    “wind_kph”: “1.79”,
    “wind_gust_kph”: “–“,
    “pressure_mb”: “1018”,
    “dewpoint_c”: “–“,
    “feelslike_c”: “–“,
    “icon_url”: “http://icons.wxug.com/i/c/k/cloudy.gif”
    },”error”:{“code”:0,”description”:””},”info”:””,”warning”:””,”success”:”Solenoid open”,”last_rain_online”:”1660513412″,”last_rain_sensor”:”1651432921″,”cron”:{} ,”cron_open_in”:{“open_in”: {“Giardino_Posteriore_DX”: “”},”open_in_stop”: {“Gia rdino_Posteriore_DX”: “”}} }

    Command exit status/return code : 0

  14. scusa il distubo non riesco a risolvere il problema tra mqttconnector e home asisistant
    il log e’ questo, non so piu’ cosa fare ho letto la guida piu volte

    Topic : pigarden/command
    Message received: open Giardino_Posteriore_DX force
    pigarden command: open Giardino_Posteriore_DX force
    cat: -: Connessione interrotta dal corrispondente
    Command : ‘open Giardino_Posteriore_DX force’
    Command output :
    Command exit status/return code : 1
    Unexpected MQTT disconnection. Will auto-reconnect

  15. I log di piGarden cosa dicono?
    Hai attivato il server socket su piGarden?
    Se non ricordo male mqttconnector ha bisogno che il socket server di piGarden sia autenticato con utente e password. Dal file di configurazione di mqttconnector vedo che non è impostato nessun utente e password.

  16. Grazie della tutta disponibilità e pazienza. Ho rinstallato tutto. Il socket riceve il comando di HA. Nel mqttconnector : broker indirizzo Ha
    Pigarden: indirizzo socket interno.
    Home assistant non riceve il comando di attivazione servizio tasto spento i icona non attiva è normale? Se vuoi scrivimi in privato

  17. dopo varie prove, l’impostazione del package di pigarden con home assistant non e’ piu’ funzionale in tutta la sua interezza a causa dei vari aggiornamenti eseguiti nel corso dell’anno, solo lo script finale e’ ancora funzionante perfettamente.

    luciano

  18. Ciao, ho più o meno lo stesso problema di Luciano. Tutto funzionante fino a ottobre (periodo della sospensione dell’irrigazione), verosimilmente anche dopo, HA fornisce come data di ultimo stato 2 settimane fa, periodo di uno degli ultimi aggiornamenti di HA. Ora utilizzando l’interfaccia HA installata da package il RPi con PiGarden riceve il comando, tant’è che cambia status anche l’icona e apre l’EV. Il problema è in HA dove lo switch di zona ritorna allo stato iniziale (spento), e così facendo non da la possibilità di spegnere realmente l’EV in PiGarden perchè lo switch è già spento e non può quindi passare il comando di off. Vi è un errore anche nello stato del sensore rain fisico/online, in quanto “Entità non disponibile: sensor.pigarden_last_rain_sensor”. Ora, vado a memoria, ma non è che con uno degli ultimi aggiornamenti di HA è stata cambiata la sintassi/logica di gestione dei sensor per cui ora nel file “pigarden.yaml” vi sono dei sensor non riconosciuti e per cui non funzionanti che bloccano il funzionamento degli switch e quindi il passaggio di comando tramite mqtt a PiGarden su RPi? Provo a cercare se trovo qualche suggerimento/guida/idea. Se intanto scopri l’arcano ci fai un favore immenso, per un progetto così bello e funzionale è un peccato perdere l’integrazione in HA! Grazie, ciao!

  19. Aggiornamento, funziona!!!!! Trovato il problema, è variata la sintassi per sensori ecc via mqtt con un aggiornamento, con avviso dalla 2022.6, non so quando effettivamente entrato in funzione ma crea errori. Di seguito il mio codice funzionante. Installazione come blog, unica variazione il package “pigarden.yaml”

    weather:
    – platform: openweathermap
    api_key: 9b2173f363cccd164347d9ac7989db28
    name: openweathermap

    switch:
    #
    # Switch per gestire le elettrovalvole di piGarden
    #

    – platform: template
    switches:
    pigarden_zone_retro_sinistra:
    value_template: “{{ is_state(‘binary_sensor.pigarden_state_retro_sinistra’, ‘on’) }}”
    turn_on:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    #payload: “open Retro_Sinistra”
    payload_template: >
    {% if is_state( ‘input_boolean.pigarden_force_retro_sinistra’, ‘off’ ) %}
    open Retro_Sinistra
    {% else %}
    open Retro_Sinistra force
    {% endif %}
    turn_off:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload: “close Retro_Sinistra”
    entity_picture_template: >
    {% if not is_state( ‘binary_sensor.pigarden_state_retro_sinistra’, ‘on’ ) %}
    /local/icons/sprinkler-pause-3.gif
    {% else %}
    /local/icons/sprinkler-play-3.gif
    {% endif %}

    – platform: template
    switches:
    pigarden_zone_retro_destra:
    value_template: “{{ is_state(‘binary_sensor.pigarden_state_retro_destra’, ‘on’) }}”
    turn_on:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload_template: >
    {% if is_state( ‘input_boolean.pigarden_force_retro_destra’, ‘off’ ) %}
    open Retro_Destra
    {% else %}
    open Retro_Destra force
    {% endif %}
    turn_off:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload: “close Retro_Destra”
    entity_picture_template: >
    {% if not is_state( ‘binary_sensor.pigarden_state_retro_destra’, ‘on’ ) %}
    /local/icons/sprinkler-pause-3.gif
    {% else %}
    /local/icons/sprinkler-play-3.gif
    {% endif %}
    – platform: template
    switches:
    pigarden_zone_cucina:
    value_template: “{{ is_state(‘binary_sensor.pigarden_state_cucina’, ‘on’) }}”
    turn_on:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload_template: >
    {% if is_state( ‘input_boolean.pigarden_force_cucina’, ‘off’ ) %}
    open Cucina
    {% else %}
    open Cucina force
    {% endif %}
    turn_off:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload: “close Cucina”
    entity_picture_template: >
    {% if not is_state( ‘binary_sensor.pigarden_state_cucina’, ‘on’ ) %}
    /local/icons/sprinkler-pause-3.gif
    {% else %}
    /local/icons/sprinkler-play-3.gif
    {% endif %}
    – platform: template
    switches:
    pigarden_zone_davanti:
    value_template: “{{ is_state(‘binary_sensor.pigarden_state_davanti’, ‘on’) }}”
    turn_on:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload_template: >
    {% if is_state( ‘input_boolean.pigarden_force_davanti’, ‘off’ ) %}
    open Davanti
    {% else %}
    open Davanti force
    {% endif %}
    turn_off:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload: “close Davanti”
    entity_picture_template: >
    {% if not is_state( ‘binary_sensor.pigarden_state_davanti’, ‘on’ ) %}
    /local/icons/sprinkler-pause-3.gif
    {% else %}
    /local/icons/sprinkler-play-3.gif
    {% endif %}
    – platform: template
    switches:
    pigarden_zone_siepi:
    value_template: “{{ is_state(‘binary_sensor.pigarden_state_siepi’, ‘on’) }}”
    turn_on:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload_template: >
    {% if is_state( ‘input_boolean.pigarden_force_siepi’, ‘off’ ) %}
    open Siepi
    {% else %}
    open Siepi force
    {% endif %}
    turn_off:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload: “close Siepi”
    entity_picture_template: >
    {% if not is_state( ‘binary_sensor.pigarden_state_siepi’, ‘on’ ) %}
    /local/icons/sprinkler-pause-3.gif
    {% else %}
    /local/icons/sprinkler-play-3.gif
    {% endif %}
    – platform: template
    switches:
    pigarden_zone_acqua:
    value_template: “{{ is_state(‘binary_sensor.pigarden_state_acqua’, ‘on’) }}”
    turn_on:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload_template: >
    {% if is_state( ‘input_boolean.pigarden_force_acqua’, ‘off’ ) %}
    open Acqua
    {% else %}
    open Acqua force
    {% endif %}
    turn_off:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload: “close Acqua”
    entity_picture_template: >
    {% if not is_state( ‘binary_sensor.pigarden_state_acqua’, ‘on’ ) %}
    /local/icons/sprinkler-pause-3.gif
    {% else %}
    /local/icons/sprinkler-play-3.gif
    {% endif %}
    – platform: template
    switches:
    pigarden_zone_venturi:
    value_template: “{{ is_state(‘binary_sensor.pigarden_state_venturi’, ‘on’) }}”
    turn_on:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload_template: >
    {% if is_state( ‘input_boolean.pigarden_force_venturi’, ‘off’ ) %}
    open Venturi
    {% else %}
    open Venturi force
    {% endif %}
    turn_off:
    service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload: “close Venturi”
    entity_picture_template: >
    {% if not is_state( ‘binary_sensor.pigarden_state_venturi’, ‘on’ ) %}
    /local/icons/sprinkler-pause-3.gif
    {% else %}
    /local/icons/sprinkler-play-3.gif
    {% endif %}

    sensor:
    – platform: template
    sensors:
    pigarden_info:
    value_template: “{{ states.sensor.pigarden_info_message.state }}”
    icon_template: “{{ states.sensor.pigarden_info_icon.state }}”

    – platform: openweathermap
    name: openweathermap
    api_key: 9b2173f363cccd164347d9ac7989db28
    language: it
    monitored_conditions:
    – weather
    – temperature
    – wind_speed
    – wind_bearing
    – humidity
    – pressure
    – clouds
    – rain
    – snow

    mqtt:
    sensor:
    #
    # Sensore informativo piGarden
    #
    – name: pigarden_info_icon
    state_topic: “pigarden/result”
    value_template: >
    {% if value_json[‘info’] > “” %}
    mdi:information
    {% elif value_json[‘success’] > “” %}
    mdi:message-text
    {% elif value_json[‘warning’] > “” %}
    mdi:message-alert
    {% else %}
    {{ states.sensor.pigarden_info_icon.state }}
    {% endif %}

    – name: pigarden_info_message
    state_topic: “pigarden/result”
    value_template: >
    {% if value_json[‘info’] > “” or value_json[‘success’] > “” or value_json[‘warning’] > “” %}
    {% if value_json[‘info’] > “” %}
    {{ value_json[‘info’] }} ({{ value_json[‘timestamp’] | timestamp_local }})
    {% endif %}
    {% if value_json[‘success’] > “” %}
    {{ value_json[‘success’] }} ({{ value_json[‘timestamp’] | timestamp_local }})
    {% endif %}
    {% if value_json[‘warning’] > “” %}
    {{ value_json[‘warning’] }} ({{ value_json[‘timestamp’] | timestamp_local }})
    {% endif %}
    {% else %}
    {{ states.sensor.pigarden_info_message.state }}
    {% endif %}

    – name: pigarden_last_rain_sensor
    state_topic: “pigarden/result”
    value_template: >
    {% if value_json[‘last_rain_sensor’] > “” %}
    {{ value_json[‘last_rain_sensor’] | int | timestamp_local }}
    {% else %}
    sconosciuto
    {% endif %}

    – name: pigarden_last_rain_online
    state_topic: “pigarden/result”
    value_template: >
    {% if value_json[‘last_rain_online’] > “” %}
    {{ value_json[‘last_rain_online’] | int | timestamp_local }}
    {% else %}
    sconosciuto
    {% endif %}
    binary_sensor:

    #
    # binary sensor per switch template pigarden
    #
    – name: pigarden_state_retro_sinistra
    state_topic: “pigarden/result”
    payload_on: true
    payload_off: false
    qos: 0
    value_template: “{{ value_json[‘zones’][‘Retro_Sinistra’][‘state’] == 1 or value_json[‘zones’][‘Retro_Sinistra’][‘state’] == 2 }}”
    – name: pigarden_state_retro_destra
    state_topic: “pigarden/result”
    payload_on: true
    payload_off: false
    qos: 0
    value_template: “{{ value_json[‘zones’][‘Retro_Destra’][‘state’] == 1 or value_json[‘zones’][‘Retro_Destra’][‘state’] == 2 }}”
    – name: pigarden_state_cucina
    state_topic: “pigarden/result”
    payload_on: true
    payload_off: false
    qos: 0
    value_template: “{{ value_json[‘zones’][‘Cucina’][‘state’] == 1 or value_json[‘zones’][‘Cucina’][‘state’] == 2 }}”
    – name: pigarden_state_davanti
    state_topic: “pigarden/result”
    payload_on: true
    payload_off: false
    qos: 0
    value_template: “{{ value_json[‘zones’][‘Davanti’][‘state’] == 1 or value_json[‘zones’][‘Davanti’][‘state’] == 2 }}”
    – name: pigarden_state_siepi
    state_topic: “pigarden/result”
    payload_on: true
    payload_off: false
    qos: 0
    value_template: “{{ value_json[‘zones’][‘Siepi’][‘state’] == 1 or value_json[‘zones’][‘Siepi’][‘state’] == 2 }}”
    – name: pigarden_state_acqua
    state_topic: “pigarden/result”
    payload_on: true
    payload_off: false
    qos: 0
    value_template: “{{ value_json[‘zones’][‘Acqua’][‘state’] == 1 or value_json[‘zones’][‘Acqua’][‘state’] == 2 }}”
    – name: pigarden_state_venturi
    state_topic: “pigarden/result”
    payload_on: true
    payload_off: false
    qos: 0
    value_template: “{{ value_json[‘zones’][‘Venturi’][‘state’] == 1 or value_json[‘zones’][‘Venturi’][‘state’] == 2 }}”

    input_boolean:
    pigarden_force_retro_sinistra:
    name: Forza irrigazione in caso di pioggia
    initial: off
    icon: mdi:weather-rainy
    pigarden_force_retro_destra:
    name: Forza irrigazione in caso di pioggia
    initial: off
    icon: mdi:weather-rainy
    pigarden_force_cucina:
    name: Forza irrigazione in caso di pioggia
    initial: off
    icon: mdi:weather-rainy
    pigarden_force_davanti:
    name: Forza irrigazione in caso di pioggia
    initial: off
    icon: mdi:weather-rainy
    pigarden_force_siepi:
    name: Forza irrigazione in caso di pioggia
    initial: off
    icon: mdi:weather-rainy
    pigarden_force_acqua:
    name: Forza irrigazione in caso di pioggia
    initial: off
    icon: mdi:weather-rainy
    pigarden_force_venturi:
    name: Forza irrigazione in caso di pioggia
    initial: off
    icon: mdi:weather-rainy

    script:
    pigarden_close_all:
    alias: “Interrompi l’irrigazione di tutte le zone”
    icon: mdi:stop
    sequence:
    – service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload: close_all

    pigarden_close_all_and_disable_scheduling:
    alias: “Interrompi l’irrigazione di tutte le zone e diabilita le schedulazioni”
    icon: mdi:clock-outline
    sequence:
    – service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload: “close_all disable_scheduling”

    pigarden_reboot:
    alias: “Riavvia host piGarden”
    icon: mdi:restart
    sequence:
    – service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload: reboot

    pigarden_poweroff:
    alias: “Spegni host piGarden”
    icon: mdi:power
    sequence:
    – service: mqtt.publish
    data:
    topic: “pigarden/command”
    payload: poweroff

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.