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

17 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

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.