Στο προηγούμενο post ολοκληρώσαμε την εγκατάσταση του home assistant σε raspberry Pi για τη δημιουργία του δικού μας Smarthome hub.

Σήμερα θα συνεχίσουμε από το σημείο του πρώτου login στο web-interface του home assistant με σκοπό την αρχική του παραμετροποίηση. Θα πρέπει να σημειωθεί ότι το home assistant hub θα είναι η καρδιά του έξυπνου σπιτιού αφού θα δέχεται πληροφορίες από και προς όλες τις έξυπνες συσκευές μας και γιαυτό θα πρέπει ιδανικά να είναι σε σημείο που υπάρχει σήμα Wi-Fi και σωστή και συνεχόμενη τάση ρεύματος ώστε να λειτουργεί χωρίς προβλήματα.

Όλη σχεδόν η παραμετροποίηση του home assistant γίνεται από 2 σημεία. Το web-interface και τον φάκελο /config του συστήματος. Σε αυτό τον φάκελο υπάρχουν αρχεία δομής .yaml με όλες τις πληροφορίες για τις έξυπνες συσκευές μας. Για να μπορέσουμε να έχουμε πρόσβαση στον φάκελο αυτό θα χρειαστεί να προσθέσουμε μέσω του web-interface το add-on "samba share" ακολουθώντας τις παρακάτω οδηγίες.

Υποθέτουμε ότι ήδη έχουμε συνδεθεί στο web-interface μέσα από την διεύθυνση http://hassio.local:8123 σε περίπτωση που το router μας υποστηρίζει mDNS ή αντικαθιστούμε το hassio.local με την ip-address που έχουμε δώσει στο  Raspberry Pi.


Απο το μενού αριστερά επιλέγουμε το hass.io στη σελίδα που θα εμφανιστεί επιλέγουμε το add-on Store

Η επιλογή θα μας εμφανίσει τη λίστα με τα βασικά add-on που μπορούμε να χρησιμοποιήσουμε. Από εκεί επιλέγουμε το "samba share" και κάνουμε εγκατάσταση του add-on.


Μόλις τελειώσει η εγκατάσταση επιλέγουμε ξανά το samba share ώστε να μπούμε στο setup του add-on. Το παρακάτω αρχειο είναι από το δικό μου samba share add-on χωρίς φυσικά το password

{
  "workgroup": "WORKGROUP",
  "name": "hassio",
  "guest": false,
  "map": {
    "config": true,
    "addons": true,
    "ssl": false,
    "share": true,
    "backup": true
  },
  "username": "your username",
  "password": "your password",
  "interface": "wlan0",
  "allow_hosts": [
    "10.0.0.0/8",
    "172.16.0.0/12",
    "192.168.0.0/16"
  ]
}

Είναι σημαντικό να προσέχουμε τη δομή του αρχείου χωρίς να ξεχνάμε τα εισαγωγικά οπού χρειάζονται οι τιμές γιατί αν ξεχάσουμε κάποιο κατά λάθος το setup δεν θα μπορέσει να φορτώσει το service.

Πατάμε save και start(ή  restart) και περιμένουμε να ανέβει ο samba server.  To log ακριβώς από κάτω μας δείχνει τι έχει πάει καλά ή όχι ώστε να μπορέσουμε να το διορθώσουμε.

Από τη στιγμή που ο samba server έχει σηκωθεί σωστά στο network του υπολογιστή μας θα δούμε ένα νέο υπολογιστή με όνομα hass.io με 4 φακέλους. Για την ώρα μας ενδιαφέρει ο φάκελος config/ και ποιο συγκεκριμένα το αρχειο configuration.yaml.

Ένα τυπικό αρχειο configuration.yaml έχει τη παρακάτω μορφή.


Σε αυτό το αρχειο θα κάνουμε σχεδόν όλη τη παραμετροποίηση του έξυπνου σπιτιού. Το πρόβλημα με τα αρχεία  .yaml είναι ότι δεν συχωρεί ξεχασμένα κενά και εισαγωγικά επίσης αγαπάει τη σωστή δομή ώστε να είναι εύκολα αναγνώσιμο το κείμενο.

Κάθε σοβαρό smarthome Hub πρέπει να γνωρίζει που βρίσκεται γιατί μόνο έτσι θα μπορεί να προσαρμόσει ώρα, ημερομηνία αλλά και κάτι ποιο σημαντικό, τις ακριβείς ώρες ανατολής και δύσης του ηλίου ώστε να προσαρμόζει τους αυτοματισμούς μας καθημερινά χωρίς τη δική μας παρέμβαση.

Πως θα γίνει αυτό; Αφού έχουμε εγκαταστήσει το add-on του "samba share" έχουμε μπει στο δίκτυο και έχουμε κάνει map τον φάκελο /config. Θα χρειαστεί να κατεβάσουμε έναν text editor όπως τον atom για να συνεχίσουμε τη διαδικασία. Μέσω του atom ανοίγουμε το configuration.yaml το οποίο είναι και το βασικό αρχειο της παραμετροποίησης του home assistant. Σε αυτό και δηλώνοντας τις παρακάτω πληροφορίες θα μπορέσουμε να προσαρμόσουμε το home assistant στη δική μας περιοχή.  

homeassistant:
  # Δηλώνουμε το όνομα του home assistant. Στη δική μας περίπτωση είναι Home.
  name: Home
  # Για να υπολογίσει το πότε ξημερώνει και νυχτώνει το  home assistant θέλει τις         #συντεταγμένες μας
  latitude: 37.058967
  longitude: 22.593937
  # Υψομετρική θέση από το επίπεδο της θάλασσας;. Αν τη γνωρίζουμε.
  elevation: 85
  # Διαλέγουμε μετρικό σύστημα.
  unit_system: metric
  # Διαλέγουμε τη ζώνη ώρας της χώρας μας.
  time_zone: Europe/Athens

Για να βρούμε τα δικά μας latitude/lonitude απλά βάζουμε τη τοποθεσία μας στο google maps και αντιγράφουμε τις συντεταγμένες. 

Πριν σώσουμε το αρχειο παρατηρούμε αν υπάρχει στο αρχείο η  παρακάτω καταχώρηση και αν όχι τη δημιουργούμε.

# Ακολούθησε τον ήλιο
sun:

Να θυμίσω πως ότι ξεκινάει με # σε ένα αρχειο .yaml είναι σχόλιο και δεν το λαμβάνει υπόψη του ο compiler κατά τη μεταγλώττιση του αρχείου.

Σώζουμε το αρχειο και κάνουμε restart το home assistant για να πάρει τις αλλαγές.

Στην επόμενη επανεκκίνηση παρατηρούμε στο web-interface ότι το εικονίδιο του ήλιου έχει εμφανιστεί και σύμφωνα με τη περιοχή μας μας λέει πότε ανατείλει και πότε δύει ο ήλιος. Πλέον μπορούμε να χρησιμοποιήσουμε τη καταχώρηση αυτή στους αυτοματισμούς μας ώστε λχ. να σβήνουν αυτόματα τα φώτα τη μέρα και ανοίγουν τη νύχτα.

Στο επόμενο post:
θα δούμε πως θα ενσωματώσουμε την πρόβλεψή του καιρού στο home assistant hub ώστε το gateway  να παίρνει αποφάσεις γνωρίζοντας τις παραμέτρους του καιρού στη περιοχή μας.