OpenHAB Οδηγός για αρχάριους Μέρος 2: ZWave, MQTT, Κανόνες και Διάγραμμα

OpenHAB Οδηγός για αρχάριους Μέρος 2: ZWave, MQTT, Κανόνες και Διάγραμμα

Δωρεάν δεν σημαίνει πάντα «όχι τόσο καλά όσο επί πληρωμή» και το OpenHAB δεν αποτελεί εξαίρεση. Το λογισμικό αυτοματισμού οικιακού κώδικα υπερβαίνει κατά πολύ τις δυνατότητες οποιουδήποτε άλλου συστήματος αυτοματισμού σπιτιού στην αγορά - αλλά δεν είναι εύκολο να το ρυθμίσετε. Στην πραγματικότητα, μπορεί να είναι εντελώς απογοητευτικό.





Στο μέρος 1 του οδηγού, σας πέρασα εγκατάσταση του OpenHAB σε ένα Raspberry Pi , παρουσίασε τις βασικές έννοιες του OpenHAB και σας έδειξε πώς να προσθέσετε τα πρώτα σας στοιχεία στο σύστημα. Σήμερα θα προχωρήσουμε παρακάτω:





  • Προσθήκη συσκευών ZWave
  • Προσθήκη ελεγκτή Harmony Ultimate
  • Εισαγωγή κανόνων
  • Παρουσίαση του MQTT και εγκατάσταση ενός μεσίτη MQTT στο Pi σας, με αισθητήρες σε ένα Arduino
  • Καταγραφή δεδομένων και γραφική παράσταση

Εισαγωγή στο Z-Wave

Το Z-Wave ήταν το κυρίαρχο πρωτόκολλο αυτοματισμού σπιτιού εδώ και χρόνια: είναι αξιόπιστο, έχει αναπτυχθεί εκτενώς και λειτουργεί σε πολύ μεγαλύτερο εύρος από οποιοδήποτε άλλο έξυπνο σπίτι. Υπάρχουν εκατοντάδες αισθητήρες Z-Wave στη διάθεσή σας που εκτελούν ένα ευρύ φάσμα εργασιών. OpenHAB μπορώ συνεργάζεται με το Z-Wave, αλλά είναι πολύ δύσκολη η εγκατάσταση και η αξιοπιστία δεν είναι εγγυημένη.





Εάν σκέφτεστε να αγοράσετε ένα σπίτι γεμάτο αισθητήρες Z-Wave ειδικά για χρήση με το OpenHAB, θα σας παρότρυνα να το ξανασκεφτείτε. Μπορεί να λειτουργήσει υπέροχα για εσάς ή μπορεί να μαστίζεται από μικρά αλλά επίμονα προβλήματα. Τουλάχιστον, μην αγοράζετε ένα σπίτι γεμάτο αισθητήρες μέχρι να έχετε την ευκαιρία να δοκιμάσετε μερικούς. Ο μόνος λόγος για να επιλέξετε το Z-Wave είναι εάν δεν έχετε εγκατασταθεί 100% στο OpenHAB και θα θέλατε να αφήσετε τις επιλογές σας ανοιχτές στο μέλλον: Το Z-Wave για παράδειγμα συνεργάζεται με τον κόμβο Samsung SmartThings, καθώς και με συγκεκριμένους κόμβους Z-Wave όπως το Homeseer και μια σειρά από άλλες επιλογές λογισμικού, όπως π.χ. domoticz Το

Παρόλο που το OpenHAB περιλαμβάνει μια δέσμευση Z-Wave, πρέπει ακόμα διαμορφώστε πρώτα το δίκτυο Z-Wave , προτού το OpenHAB αρχίσει να το αναζητά για δεδομένα. Εάν έχετε μια πλακέτα ελεγκτή Rasberry, έχετε κάποιο λογισμικό για τη διαμόρφωση του δικτύου, οπότε δεν θα το καλύψουμε εδώ. Εάν αγοράσατε έναν ελεγκτή Aeotec USB Z-Stick ή παρόμοιο, πιθανότατα δεν διαθέτετε κανένα λογισμικό, οπότε διαβάστε παρακάτω.



Aeotec Z-Stick Gen5 Z-Wave Hub Z-Wave Plus USB για δημιουργία πύλης (συνηθισμένο λευκό) ΑΓΟΡΑ ΤΩΡΑ ΣΤΟ AMAZON

Εάν έχετε ήδη εγκατάσταση δικτύου Z-Wave , μπορείτε απλά να συνδέσετε το χειριστήριό σας στο Pi και να αρχίσετε να διαμορφώνετε τη σύνδεση και τα στοιχεία. Εάν αυτή είναι η πρώτη σας εισβολή στο Z-Wave, είναι λίγο πιο περίπλοκη.

Πρώτον, από την πλευρά του υλικού: κάθε ελεγκτής έχει τον δικό του τρόπο σύζευξης με συσκευές (τεχνικά γνωστή ως «λειτουργία συμπερίληψης» στην οποία εκχωρείται ένα αναγνωριστικό κόμβου). Στην περίπτωση του Aotec Z-Stick, αυτό σημαίνει να το αποσυνδέσετε από τη θύρα USB και να πατήσετε το κουμπί μία φορά για να το τοποθετήσετε σε λειτουργία συμπερίληψης. Στη συνέχεια, πηγαίνετε κοντά στη συσκευή που αντιστοιχίζετε και πατήστε το κουμπί συμπερίληψης και σε αυτήν (αυτό θα διαφέρει επίσης: η υποδοχή μου Everspring απαιτεί το κουμπί να πιέζεται 3 φορές διαδοχικά, οπότε το μάθημα εδώ είναι να διαβάσετε το εγχειρίδιο για τη συσκευή σας) Το





Το Z-Stick αναβοσβήνει σύντομα για να δείξει την επιτυχία. Αυτό παρουσιάζει προβλήματα κατά την επανασύνδεσή του στο Pi, καθώς εκχωρείται μια νέα θύρα. Επανεκκινήστε το Pi σας για να το επαναφέρετε στην τυπική θύρα εάν διαπιστώσετε ότι έχει εκχωρηθεί δυναμικά διαφορετική. Ακόμα καλύτερα: μην το συνδέσετε στο Pi μέχρι να ολοκληρώσετε όλα τα ζευγάρια υλικού πρώτα.

Εγκατάσταση συνδέσμων HABmin και Z-Wave

Δεδομένου ότι το OpenHAB δεν είναι ένα βοηθητικό πρόγραμμα ρύθμισης παραμέτρων για το Z-Wave, θα εγκαταστήσουμε ένα άλλο εργαλείο διαχείρισης ιστού που το κάνει-κάτι που ονομάζεται HABmin. Προχωρήστε στο Αποθετήριο HABmin Github κατεβάστε την τρέχουσα έκδοση. Μόλις το αποσυμπιέσετε, θα βρείτε 2 .δοχείο αρχεία στον κατάλογο addons - αυτά θα πρέπει να τοποθετηθούν στον αντίστοιχο κατάλογο addons στο κοινόχρηστο μενού OpenHAB Home (εάν χρησιμοποιείτε επίσης το Aotec gen5 Z-Stick, βεβαιωθείτε ότι έχετε τουλάχιστον την έκδοση 1.8 του δεσμού Z-Wave) Το





Στη συνέχεια, δημιουργήστε έναν νέο φάκελο στον κατάλογο webapps και ονομάστε τον «habmin» (το πεζό γράμμα είναι σημαντικό). Αντιγράψτε τα υπόλοιπα ληφθέντα αρχεία εκεί.

Σημείωση: Υπάρχει επίσης ένα HABmin 2 υπό ενεργό ανάπτυξη. Η εγκατάσταση είναι σχεδόν η ίδια, αλλά με ένα επιπλέον πρόσθετο .jar. Mightσως αξίζει να δοκιμάσετε και τα δύο για να δείτε ποια προτιμάτε.

Εάν δεν το έχετε κάνει ήδη, συνδέστε το χειριστήριο στο Pi σας. Πληκτρολογήστε τα παρακάτω για να βρείτε τη σωστή θύρα.

ls /dev /tty*

You'reάχνετε οτιδήποτε με USB στο όνομα, ή στη δική μου περίπτωση, το Z-stick παρουσιάστηκε ως / dev / ttyACM0 (ένα μόντεμ). Mightσως είναι πιο εύκολο να κάνετε την εντολή μία φορά πριν την συνδέσετε και μία μετά, ώστε να δείτε τι αλλάζει αν δεν είστε σίγουροι.

Ανοίξτε το αρχείο διαμόρφωσης OpenHAB και τροποποιήστε την ενότητα στο Z-Wave, χωρίς να σχολιάσετε και τις δύο γραμμές και να βάλετε την πραγματική διεύθυνση της συσκευής σας. Ένα τελευταίο βήμα για μένα ήταν να επιτρέψω στον χρήστη του OpenHAB να έχει πρόσβαση στο μόντεμ.

sudo usermod -a -G dialout openhab

Τώρα, για να ξεκινήσετε τα πάντα σε δράση, κάντε επανεκκίνηση του OpenHAB

sudo service openhab επανεκκίνηση

Ας ελπίσουμε ότι αν ελέγχετε το αρχείο καταγραφής εντοπισμού σφαλμάτων, θα δείτε κάτι τέτοιο. Συγχαρητήρια, τώρα μιλάτε για το Z-Wave. Μπορεί επίσης να βρείτε το αρχείο καταγραφής εντοπισμού σφαλμάτων πλημμυρισμένο από μηνύματα από διάφορους κόμβους Z-Wave. Ας ξεκινήσουμε ελέγχοντας το HABMIN για να δούμε τι βρέθηκε: http: //openhab.local: 8080/habmin/index.html (αντικαθιστώντας το openhab.local με το όνομα κεντρικού υπολογιστή ή τη διεύθυνση IP του Raspberry Pi).

Υπάρχουν πολλά να δείτε στο HABMIN, αλλά μας ενδιαφέρει μόνο το Διαμόρφωση -> Δεσμεύσεις -> Z -Wave -> Συσκευές καρτέλα, όπως μπορείτε να δείτε παρακάτω. Αναπτύξτε τον κόμβο για να επεξεργαστείτε την ετικέτα τοποθεσίας και ονόματος για ευκολία αναφοράς.

Διαμόρφωση στοιχείων Z-Wave

Κάθε συσκευή Z-Wave θα έχει μια συγκεκριμένη διαμόρφωση για το OpenHAB. Ευτυχώς, οι περισσότερες συσκευές έχουν ήδη εξερευνηθεί και θα υπάρχουν ήδη παραδείγματα για τη δική σας. Η διαμόρφωση προσαρμοσμένων συσκευών που δεν αναγνωρίζονται είναι πέρα ​​από το πεδίο εφαρμογής αυτού του οδηγού, αλλά ας υποθέσουμε ότι υποστηρίζεται προς το παρόν.

Πρώτον, έχω έναν βασικό διακόπτη και μετρητή ισχύος Everspring AN158 στο Node 3. Ένα γρήγορο Googling με οδήγησε σε μια δημοσίευση ιστολογίου στο Wetwa.re, με ένα δείγμα διαμόρφωσης στοιχείου. Το προσάρμοσα ως εξής:

Αλλαγή Dehumidifier_Switch 'Dehumidifier' {zwave = '3: command = switch_binary'}

Αριθμός Dehumidifier_Watts 'Αφυγραντήρας κατανάλωση ενέργειας [%.1f W]' {zwave = '3: command = meter'}

Τέλειος.

Ακολουθεί ένας πολυαισθητήρας Aeotec Gen5.

Aeon Labs Aeotec Z-Wave Gen5 Multi-Sensor (Z-Wave Plus) ΑΓΟΡΑ ΤΩΡΑ ΣΤΟ AMAZON

Για αυτό, βρήκα ένα δείγμα διαμόρφωσης στη διεύθυνση iwasdot.com , και ο πολυαισθητήρας μου βρίσκεται στον κόμβο 2.

Αριθμός Hallway_Temperature 'Hallway Temperature [%.1f ° C]' (Hallway, Temperature) {zwave = '2: 0: command = sensor_multilevel, sensor_type = 1, sensor_scale = 0'}

Αριθμός Hallway_Humidity 'Hallway Humidity [%.0f %%]' (Hallway, Humidity) {zwave = '2: 0: command = sensor_multilevel, sensor_type = 5'}

Αριθμός Hallway_Luminance 'Hallway Luminance [%.0f Lux]' (Hallway) {zwave = '2: 0: command = sensor_multilevel, sensor_type = 3'}

Επικοινωνήστε με το Hallway_Motion 'Hallway Motion [%s]' (Hallway, Motion) {zwave = '2: 0: command = sensor_binary, respond_to_basic = true'}

Αριθμός αισθητήρας__ μπαταρίας 'Μπαταρία [%s %%]' (Κίνηση) {zwave = '2: 0: command = battery'}

Εάν η μορφή αυτής της μορφής σας φαίνεται περίεργη, επιστρέψτε στην πρώτη οδηγός για αρχάριους , συγκεκριμένα την ενότητα δέσμευσης Hue, όπου εξηγώ πώς προστίθενται στοιχεία. Πιθανότατα θα χρειαστεί να αντιγράψετε μόνο παραδείγματα επικόλλησης όπως αυτό, αλλά σε περίπτωση που έχετε νέα συσκευή, η δεσμευτική τεκμηρίωση περιγράφει όλες τις εντολές Το

Logitech Harmony Binding

Πριν προχωρήσουμε σε κανόνες, ήθελα να προσθέσω μια γρήγορη σημείωση σχετικά με τη συνεργασία με το δέσιμο Harmony. Είμαι μεγάλος θαυμαστής της σειράς Harmony των απόλυτων τηλεχειριστηρίων για να απλοποιήσω την εμπειρία του οικιακού κέντρου πολυμέσων, αλλά συχνά αποτελούν ξεχωριστό σύστημα στο έξυπνο σπίτι. Με το OpenHAB, οι δραστηριότητες της Logitech Harmony και ο πλήρης έλεγχος της συσκευής μπορούν πλέον να αποτελούν μέρος του κεντρικού σας συστήματος και ακόμη και να περιλαμβάνονται στους κανόνες αυτοματισμού.

Ξεκινήστε με την εγκατάσταση των τριών δεσμευτικών αρχείων που βρίσκετε χρησιμοποιώντας το apt-cache για αναζήτηση για 'αρμονία':

Μην ξεχάσετε να chown ο κατάλογος bindings ξανά όταν τελειώσετε:

sudo apt-get install openhab-addon-action-harmonhub

sudo apt-get install openhab-addon-binding-harmonhub

sudo apt-get install openhab-addon-io-harmonyhub

sudo chown -hR openhab: openhab/usr/share/openhab

Για να διαμορφώσετε τη σύνδεση, ανοίξτε το αρχείο openhab.cfg και προσθέστε μια νέα ενότητα ως εξής:

########## HARMONY REMOTE CONTROLS ##########

harmonhub: host = 192.168.1.181 ή το ip σας

harmonyhub: όνομα χρήστη = your-harmony-email-login

harmonyhub: κωδικός πρόσβασης = ο κωδικός σας

Η διεύθυνση IP είναι αυτή του κόμβου Harmony. Χρησιμοποιήστε ένα σαρωτή δικτύου για να το ανακαλύψετε. Θα χρειαστεί επίσης να εισαγάγετε τα στοιχεία σύνδεσής σας, αυτά που εισάγετε κατά την εκκίνηση του βασικού βοηθητικού προγράμματος διαμόρφωσης Harmony. Αυτό είναι. Κατά την επανεκκίνηση του Hue, το αρχείο καταγραφής εντοπισμού σφαλμάτων θα πρέπει να έχει μια ξαφνική έξοδο εξόδου από τη σύνδεση.

Αυτή είναι μια λίστα με μορφή JSON όλων των δραστηριοτήτων, των συσκευών και των εντολών σας που μπορούν να σταλούν. Είναι καλή ιδέα να το αντιγράψετε για μελλοντική αναφορά. μπορείτε να κάνετε ακόμα πιο εύκολη την ανάγνωση με πτυσσόμενους κόμβους, επικολλώντας σε έναν διαδικτυακό μορφοποιητή JSON όπως αυτό Το

Εκτός από την τυπική δραστηριότητα PowerOff που είναι προεπιλεγμένη, θα βρείτε τις δικές σας καθορισμένες δραστηριότητες που αναφέρονται εδώ κατά όνομα. Τώρα ας δημιουργήσουμε ένα απλό κουμπί ελέγχου για να ξεκινήσετε δραστηριότητες. Αρχικά, στο αρχείο στοιχείων σας, προσθέστε την ακόλουθη γραμμή. Αν θέλετε, αλλάξτε την ομάδα και το εικονίδιο.

/ * Harmony Hub */

String Harmony_Activity 'Harmony [%s]' (Living_Room) {harmonyhub = '*[currentActivity]'}

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

Switch item = Harmony_Activity mappings = [PowerOff = 'Off', Exercise = 'Exercise', 13858434 = 'TV', Karaoke = 'Karaoke']

δωρεάν ταινίες χωρίς εγγραφή ή λήψη

Στην τετράγωνη αγκύλη θα δείτε κάθε δραστηριότητα μαζί με την ετικέτα. Γενικά, μπορείτε να ανατρέξετε απευθείας σε δραστηριότητες όπως τις ονομάσατε στο τηλεχειριστήριό σας, αλλά η εξαίρεση σε αυτό που βρήκα ήταν οτιδήποτε με κενό στο όνομα της δραστηριότητας, όπως «Παρακολούθηση τηλεόρασης». Σε αυτήν την περίπτωση, θα πρέπει να χρησιμοποιήσετε το αναγνωριστικό δραστηριότητας. Και πάλι, μπορείτε να βρείτε το αναγνωριστικό στην έξοδο εντοπισμού σφαλμάτων JSON. Αποθηκεύστε και ανανεώστε τη διεπαφή σας, θα πρέπει να δείτε κάτι παρόμοιο με αυτό:

Μπορείτε επίσης να ανατρέξετε σε δραστηριότητες στους κανόνες σας, όπως θα δούμε στη συνέχεια. Διαβάστε τη σελίδα wiki για περισσότερες πληροφορίες σχετικά με το Δέσιμο αρμονίας Το

Μια γενική εισαγωγή στους κανόνες

Οι περισσότεροι έξυπνοι οικιακοί κόμβοι περιλαμβάνουν κάποιο είδος δημιουργίας κανόνων, ώστε να μπορείτε να αντιδράτε αυτόματα σε δεδομένα αισθητήρων και γεγονότα στο σπίτι. Στην πραγματικότητα, θα υποστήριζα ότι ένα πραγματικά έξυπνο σπίτι δεν είναι αυτό που χρειάζεστε για να αφιερώσετε χρόνο αλληλεπιδρώντας με εφαρμογές για κινητά - είναι αυτό που είναι αόρατο για τον τελικό χρήστη και πλήρως αυτοματοποιημένο. Για το σκοπό αυτό, το OpenHAB περιλαμβάνει επίσης μια ισχυρή γλώσσα δέσμης ενεργειών κανόνων που μπορείτε να προγραμματίσετε, υπερβαίνοντας κατά πολύ την πολυπλοκότητα των περισσότερων έξυπνων οικιακών κόμβων ή συνταγών IFTTT.

Οι κανόνες προγραμματισμού ακούγονται χειρότεροι από ό, τι είναι. Ας ξεκινήσουμε απλά με ένα ζευγάρι κανόνων που ενεργοποιούν ή απενεργοποιούν το φως ανάλογα με τον αισθητήρα παρουσίας:

κανόνας «Ανάβει το γραφείο όταν είναι παρών ο Τζέιμς»

πότε

Το στοιχείο JamesInOffice άλλαξε από OFF σε ON

τότε

sendCommand (Office_Hue, ON)

τέλος

κανόνας «Σβήνει το γραφείο όταν φεύγει ο Τζέιμς»

πότε

Το στοιχείο JamesInOffice άλλαξε από ON σε OFF

τότε

sendCommand (Office_Hue, OFF)

τέλος

Πρώτον, ονομάζουμε τον κανόνα - να είναι περιγραφικός, ώστε να γνωρίζετε ποια εκδήλωση ενεργοποιείται. Στη συνέχεια, ορίζουμε τον απλό μας κανόνα λέγοντας όταν το x είναι αληθές, τότε κάντε το y Το Το τέλος σημαίνει το κλείσιμο του συγκεκριμένου κανόνα. Υπάρχει ένας αριθμός ειδικών λέξεων που μπορείτε να χρησιμοποιήσετε στους κανόνες, αλλά προς το παρόν έχουμε να κάνουμε με δύο απλά κομμάτια σύνταξης - Είδος , το οποίο σας επιτρέπει να αναζητήσετε την κατάσταση κάποιου. και sendCommand , το οποίο κάνει ακριβώς αυτό που νομίζετε ότι θα κάνει. Σας είπα ότι ήταν εύκολο.

Probablyσως είναι περιττό να χρησιμοποιείτε ένα ζευγάρι κανόνων, αλλά καθώς η λογική μου γίνεται πιο περίπλοκη, θα είναι επωφελές να τους χωρίσω για το αν εισέρχομαι ή εξέρχομαι από την περιοχή - και θα ήταν καλή ιδέα να προσθέσω κάπου έναν αισθητήρα φωτός στην εξίσωση, ώστε να μην ανάβουμε άσκοπα τα φώτα.

Ας δούμε ένα άλλο παράδειγμα για να δημιουργήσουμε έναν προγραμματισμένο κανόνα.

κανόνας «Άσκηση κάθε πρωί»

πότε

Time cron '0 0 8 1/1 *? *'

τότε

harmonyStartActivity («Άσκηση»)

τέλος

Και πάλι, ονομάζουμε τον κανόνα, αναφέρουμε τις συνθήκες πότε πρέπει να ενεργοποιηθεί και τις ενέργειες που πρέπει να γίνουν. Αλλά σε αυτή την περίπτωση, ορίζουμε ένα μοτίβο Χρόνου. Ο αστείος κώδικας που βλέπετε στα εισαγωγικά είναι μια έκφραση CRON για το Quartz Scheduler (η μορφή είναι ελαφρώς διαφορετική από την κανονική CRONtab). χρησιμοποίησα cronmaker.com για να βοηθήσετε στη δημιουργία της έκφρασης, αλλά μπορείτε επίσης να διαβάσετε τον οδηγό μορφής [No More Available] για μια λεπτομερή εξήγηση και περισσότερα παραδείγματα.

Το CronMaker.com χρησιμοποιείται για τη δημιουργία της σωστά μορφοποιημένης έκφρασης Cron

Οι κανόνες μου λένε απλά «8πμ κάθε πρωί, κάθε μέρα της εβδομάδας, πείτε στο σύστημα Harmony Ultimate να ξεκινήσει τη δραστηριότητα άσκησης», το οποίο με τη σειρά του ενεργοποιεί την τηλεόραση, το Xbox, τον ενισχυτή και πατά το κουμπί Α μετά από ένα λεπτό για να ξεκινήσει ο δίσκος στη μονάδα δίσκου.

Δυστυχώς, το OpenHAB δεν είναι ακόμα σε θέση να κάνει την άσκηση για μένα.

Ένας ακόμη κανόνας που θέλω να σας δείξω είναι κάτι που χρησιμοποιώ για να διαχειριστώ τα επίπεδα υγρασίας στο σπίτι μου. Έχω έναν μόνο αφυγραντήρα που πρέπει να μετακινούμαι όπου χρειάζεται, έτσι αποφάσισα να κοιτάξω όλους τους αισθητήρες υγρασίας μου, να βρω ποιος είναι ο υψηλότερος και να τον αποθηκεύσω σε μια μεταβλητή. Αυτή τη στιγμή ενεργοποιείται κάθε λεπτό, αλλά μπορεί εύκολα να μειωθεί. Ρίξτε μια ματιά πρώτα:

εισαγωγή org.openhab.core.library.types.*

εισαγωγή org.openhab.model.script.actions.*

εισαγωγή java.lang.String

κανόνας «Παρακολούθηση υγρασίας»

όταν Time cron '0 * * * *;'

τότε

var prevHigh = 0

var highHum = '

Υγρασία;. Μέλη. Για κάθε [βουητό. |

logDebug («υγρασία.κανονισμοί», hum.name);

if (hum.state ως DecimalType> prevHigh) {

prevHigh = βουητό.κράτος

highHum = hum.name + ':' + hum.state + '%'

}

πώς να χρησιμοποιήσετε το χειριστήριο xbox one στον υπολογιστή Windows 10

]

logDebug («υγρασία.κανονισμοί», highHum);

postUpdate (Dehumidifier_Needed, highHum);

τέλος

Ο πυρήνας του κανόνα βρίσκεται στο Υγρασία; .μέλη.πράση γραμμή. Η υγρασία είναι ένα όνομα ομάδας για τους αισθητήρες υγρασίας μου. .μελη αρπάζει όλα τα στοιχεία σε αυτήν την ομάδα. για κάθε επαναλαμβάνεται πάνω τους (με μια περίεργη μορφή αγκύλης που πιθανώς δεν γνωρίζετε). Η σύνταξη των κανόνων είναι παράγωγο του Xtend, οπότε μπορείτε να διαβάσετε το Τεκμηρίωση Xtend αν δεν μπορείτε να βρείτε ένα παράδειγμα για να προσαρμοστείτε.

Πιθανώς δεν θα χρειαστεί όμως - υπάρχουν εκατοντάδες παραδείγματα κανόνων εκεί έξω:

MQTT για OpenHAB και Internet of Things

Το MQTT είναι ένα ελαφρύ σύστημα ανταλλαγής μηνυμάτων για επικοινωνία από μηχανή σε μηχανή-ένα είδος Twitter για το Arduinos ή το Raspberry Pis να μιλούν μεταξύ τους (αν και φυσικά λειτουργεί με πολύ περισσότερα από αυτά). Γίνεται γρήγορα δημοφιλής και βρίσκει ένα σπίτι με συσκευές Internet of Things, οι οποίες είναι συνήθως μικροελεγκτές χαμηλών πόρων που χρειάζονται έναν αξιόπιστο τρόπο για τη μετάδοση δεδομένων αισθητήρα πίσω στον κόμβό σας ή τη λήψη απομακρυσμένων εντολών. Αυτό ακριβώς θα κάνουμε με αυτό.

Γιατί όμως να επανεφεύρουμε τον τροχό;

Η MQ Telemetry Transport εφευρέθηκε το 1999 για τη σύνδεση αγωγών πετρελαίου μέσω αργών δορυφορικών συνδέσεων, ειδικά σχεδιασμένων για την ελαχιστοποίηση της χρήσης της μπαταρίας και του εύρους ζώνης, παρέχοντας παράλληλα αξιόπιστη παράδοση δεδομένων. Με την πάροδο των ετών οι αρχές σχεδιασμού παρέμειναν οι ίδιες, αλλά η περίπτωση χρήσης έχει μετατοπιστεί από εξειδικευμένα ενσωματωμένα συστήματα σε γενικές συσκευές Internet of Things. Το 2010 το πρωτόκολλο κυκλοφόρησε χωρίς δικαιώματα, ανοιχτό για οποιονδήποτε να χρησιμοποιήσει και να εφαρμόσει. Μας αρέσει το δωρεάν.

Mightσως αναρωτιέστε γιατί ασχολούμαστε ακόμη με ένα ακόμη πρωτόκολλο - έχουμε ήδη το HTTP - το οποίο μπορεί να χρησιμοποιηθεί για την αποστολή γρήγορων μηνυμάτων μεταξύ όλων των συστημάτων συνδεδεμένων στον ιστό (όπως το OpenHAB και το IFTTT, ιδιαίτερα με το νέο κανάλι δημιουργίας) ). Και θα είχες δίκιο. Ωστόσο, τα γενικά έξοδα επεξεργασίας ενός διακομιστή HTTP είναι αρκετά μεγάλα - τόσο πολύ ώστε να μην μπορείτε να το εκτελέσετε εύκολα σε έναν ενσωματωμένο μικροελεγκτή όπως το Arduino (τουλάχιστον, μπορείτε, αλλά δεν θα έχετε πολύ μνήμη για οτιδήποτε άλλο ). Το MQTT είναι το άλλο χέρι ελαφρύ, οπότε η αποστολή μηνυμάτων στο δίκτυό σας δεν θα φράξει τους σωλήνες και μπορεί εύκολα να χωρέσει στο μικρό μας χώρο μνήμης Arduino.

Πώς λειτουργεί το MQTT;

Το MQTT απαιτεί τόσο διακομιστή (που ονομάζεται «μεσίτης») όσο και έναν ή περισσότερους πελάτες. Ο διακομιστής λειτουργεί ως μεσάζων, λαμβάνει μηνύματα και τα αναμεταδίδει σε οποιονδήποτε ενδιαφερόμενο πελάτη.

Ας συνεχίσουμε με το Twitter-για-μηχανές αναλογία όμως. Όπως οι χρήστες του Twitter μπορούν να τιτίβουν τους δικούς τους ανούσιους 140 χαρακτήρες και οι χρήστες μπορούν να «ακολουθήσουν» άλλους χρήστες για να δουν μια επιμελημένη ροή δημοσιεύσεων, οι πελάτες MQTT μπορούν να εγγραφούν σε ένα συγκεκριμένο κανάλι για να λαμβάνουν όλα τα μηνύματα από εκεί, καθώς και να δημοσιεύουν τα δικά τους μηνύματα σε αυτό το κανάλι. Αυτό το μοτίβο δημοσίευσης και εγγραφής αναφέρεται ως pub / sub , σε αντίθεση με την παράδοση διακομιστή-πελάτη μοντέλο HTTP.

Το HTTP απαιτεί να επικοινωνήσετε με το μηχάνημα με το οποίο επικοινωνείτε, πείτε γεια, και στη συνέχεια να αναγνωρίζετε συνεχώς ο ένας τον άλλον ενώ λαμβάνετε ή τοποθετείτε δεδομένα. Με το pub/sub, ο πελάτης που κάνει τη δημοσίευση δεν χρειάζεται να γνωρίζει ποιοι πελάτες είναι εγγεγραμμένοι: απλώς αντλεί τα μηνύματα και ο μεσίτης τα αναδιανέμει σε τυχόν εγγεγραμμένους πελάτες. Οποιοσδήποτε πελάτης μπορεί να δημοσιεύσει και να εγγραφεί σε θέματα, όπως ένας χρήστης του Twitter.

Σε αντίθεση με το Twitter όμως, το MQTT δεν περιορίζεται σε 140 χαρακτήρες. Είναι αγνωστικιστικά δεδομένα, ώστε να μπορείτε να στέλνετε μικρούς αριθμούς ή μεγάλα μπλοκ κειμένου, datagrams μορφοποιημένα με JSON ή ακόμα και εικόνες και δυαδικά αρχεία.

Δεν είναι ότι το MQTT είναι καλύτερο από το HTTP για όλα - αλλά για αυτό είναι πιο κατάλληλο αν πρόκειται να έχουμε πολλούς αισθητήρες σε όλο το σπίτι, αναφέροντας συνεχώς.

Είναι επίσης σημαντικό να γνωρίζετε ότι το OpenHAB δεν θα λειτουργήσει ως μεσίτης MQTT - θα το αντιμετωπίσουμε λίγο αργότερα. Ωστόσο, το OpenHAB θα λειτουργεί ως πελάτης: μπορεί να δημοσιεύσει το αρχείο καταγραφής δραστηριοτήτων του OpenHAB, καθώς και να συνδέσει συγκεκριμένα κανάλια σε συσκευές, ώστε, για παράδειγμα, να έχετε έναν διακόπτη που ελέγχεται από μηνύματα MQTT σε ένα συγκεκριμένο κανάλι. Αυτό είναι ιδανικό για τη δημιουργία ενός σπιτιού γεμάτου αισθητήρες.

Εγκαταστήστε το Mosquitto στο Pi σας

Παρόλο που το OpenHAB περιλαμβάνει έναν πελάτη MQTT, ώστε να μπορείτε να εγγραφείτε σε ένα θέμα και να δημοσιεύετε μηνύματα, δεν θα λειτουργεί ως διακομιστής. Για αυτό, είτε πρέπει να χρησιμοποιήσετε έναν μεσίτη MQTT που βασίζεται στον ιστό (επί πληρωμή ή δωρεάν) ή να εγκαταστήσετε το δωρεάν λογισμικό στο Pi σας. Θα ήθελα να τα κρατήσω όλα στο σπίτι, οπότε έχω εγκαταστήσει το Mosquitto στο Pi.

Δυστυχώς, η διαθέσιμη έκδοση μέσω του συνηθισμένου apt-get είναι εντελώς παρωχημένη. Αντ 'αυτού, ας προσθέσουμε τις πιο πρόσφατες πηγές.

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key

sudo apt-key add mosquitto-repo.gpg.key

cd /etc/apt/sources.list.d/

sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list

sudo apt-get install mosquitto

Αυτό είναι το μόνο που πρέπει να κάνουμε για να λειτουργήσει ένας διακομιστής MQTT στο τοπικό δίκτυο. Ο μεσίτης σας λειτουργεί στη θύρα 1883 από προεπιλογή.

Ελέγξτε ότι ο διακομιστής MQTT λειτουργεί χρησιμοποιώντας το δωρεάν MQTT.fx, το οποίο είναι πολλαπλών πλατφορμών. Κάντε κλικ στο εικονίδιο ρυθμίσεων για να δημιουργήσετε ένα νέο προφίλ και εισαγάγετε τη διεύθυνση IP ή το όνομα του Raspberry Pi. Αποθήκευση και πατήστε σύνδεση. Εάν το μικρό φανάρι πάνω δεξιά γίνει πράσινο, είστε έτοιμοι.

Για μια γρήγορη δοκιμή, κάντε κλικ στην καρτέλα 'Εγγραφή' και πληκτρολογήστε inTopic / στο πλαίσιο κειμένου και, στη συνέχεια, πατήστε το Εγγραφείτε κουμπί. Έχετε εγγραφεί τώρα για να λαμβάνετε μήνυμα σχετικά με το θέμα που ονομάζεται inTopic, αν και θα εμφανίζει 0 μηνύματα. Επιστρέψτε στην καρτέλα δημοσίευσης, πληκτρολογήστεTopic στο μικρό πλαίσιο και ένα σύντομο μήνυμα στο μεγάλο πλαίσιο κειμένου παρακάτω. Κτύπημα Δημοσιεύω μερικές φορές και κοιτάξτε πίσω στην καρτέλα εγγραφή. Θα πρέπει να δείτε μερικά μηνύματα που έχουν εμφανιστεί σε αυτό το θέμα.

Πριν προσθέσουμε μερικούς πραγματικούς αισθητήρες στο δίκτυό μας, πρέπει να μάθουμε για τα επίπεδα θεμάτων, τα οποία μας επιτρέπουν να δομήσουμε και να φιλτράρουμε το δίκτυο MQTT. Τα ονόματα των θεμάτων έχουν διάκριση πεζών-κεφαλαίων, δεν πρέπει να ξεκινούν με $ ή να περιλαμβάνουν κενό ή χαρακτήρες μη ASCII-τυπικές πρακτικές προγραμματισμού για ονόματα μεταβλητών, πραγματικά.

Ο διαχωριστής / υποδεικνύει ένα επίπεδο θέματος, το οποίο είναι ιεραρχικό, για παράδειγμα τα παρακάτω είναι όλα έγκυρα επίπεδα θεμάτων.

inTopic / smallSubdivision / evenSmallerSubdivision

myHome/livingRoom/θερμοκρασία

myHome/livingRoom/υγρασία

myHome/κουζίνα/θερμοκρασία

myHome/κουζίνα/υγρασία

Readyδη, θα πρέπει να βλέπετε πώς αυτή η δομή δέντρου είναι ιδανική για ένα έξυπνο σπίτι γεμάτο αισθητήρες και συσκευές. Η βέλτιστη πρακτική για χρήση με πολλαπλούς αισθητήρες σε ένα μόνο δωμάτιο είναι να δημοσιεύετε κάθε μεταβλητή αισθητήρα ως το δικό της επίπεδο θέματος - διακλαδίζεται σε μεγαλύτερη ειδικότητα (όπως στα παραπάνω παραδείγματα) - αντί να προσπαθείτε να δημοσιεύσετε πολλούς τύπους αισθητήρων στο ίδιο κανάλι Το

Οι πελάτες μπορούν στη συνέχεια να δημοσιεύσουν ή να εγγραφούν σε οποιοδήποτε αριθμό επιμέρους επιπέδων θεμάτων ή να χρησιμοποιήσουν ειδικούς χαρακτήρες μπαλαντέρ για να φιλτράρουν από ψηλά στο δέντρο.

Το + μπαλαντέρ υποκαθιστά οποιοδήποτε επίπεδο θέματος. Για παράδειγμα:

myHome/+/θερμοκρασία

θα εγγραφεί στον πελάτη και στα δύο

myHome/livingRoom/θερμοκρασία

myHome/κουζίνα/θερμοκρασία

... αλλά όχι τα επίπεδα υγρασίας.

Το # είναι μια μπαλαντέρ πολλαπλών επιπέδων, οπότε μπορείτε να πάρετε οτιδήποτε από τον πίνακα αισθητήρων livingRoom με:

myHome/livingRoom/#

Τεχνικά, μπορείτε επίσης να εγγραφείτε στο ριζικό επίπεδο # στο οποίο έχετε απολύτως όλα όσα περνούν από τον μεσίτη, αλλά αυτό μπορεί να είναι σαν να κολλάτε έναν σωλήνα πυρκαγιάς στο πρόσωπό σας: λίγο συντριπτικό. Δοκιμάστε να συνδεθείτε στο δημόσιο μεσίτη MQTT από το HiveMQ και εγγραφείτε στο #. Έλαβα περίπου 300 μηνύματα μέσα σε λίγα δευτερόλεπτα προτού ο πελάτης μου τραυματιστεί.

Συμβουλή για αρχάριους MQTT: ' /το σπίτι μου/' είναι διαφορετικό θέμα ' το σπίτι μου/' - η συμπερίληψη μιας κάθετης γραμμής στην αρχή δημιουργεί ένα κενό επίπεδο θέματος, το οποίο ενώ είναι τεχνικά έγκυρο, δεν συνιστάται επειδή μπορεί να προκαλέσει σύγχυση.

Τώρα που γνωρίζουμε τη θεωρία, ας πάμε με ένα Arduino, Ethernet Shield και έναν αισθητήρα θερμοκρασίας και υγρασίας DHT11 - πιθανότατα έχετε έναν στο κιτ εκκίνησης, αλλά αν όχι, απλώς αντικαταστήστε τον περιβαλλοντικό αισθητήρα με μια κίνηση αισθητήρα (ή ακόμα και κουμπί).

Δημοσίευση MQTT από Arduino με σύνδεση Ethernet

Εάν έχετε υβριδική συμβατή με Arduino συσκευή με ενσωματωμένο Wi-Fi ή Ethernet, θα πρέπει επίσης να λειτουργεί. Τελικά θα θέλουμε έναν καλύτερο/φθηνότερο τρόπο επικοινωνίας με τον οποίο πρέπει να χρησιμοποιούμε μια σύνδεση δικτύου σε κάθε δωμάτιο, αλλά αυτό εξυπηρετεί στην εκμάθηση των βασικών.

Ξεκινήστε με τη λήψη βιβλιοθήκη pubsubclient από το Github Το Εάν έχετε χρησιμοποιήσει το κουμπί 'Λήψη ως ZIP', η δομή είναι λίγο λανθασμένη. Αποσυμπιέστε, μετονομάστε το φάκελο σε just pubsubclient , στη συνέχεια, αφαιρέστε τα δύο αρχεία από το src φάκελο και μετακινήστε τα κατά ένα επίπεδο στη ρίζα του ληφθέντος φακέλου. Στη συνέχεια, μετακινήστε ολόκληρο το φάκελο στο δικό σας Arduino/βιβλιοθήκες Ευρετήριο.

Εδώ είναι το δείγμα κώδικα που μπορείτε να προσαρμόσετε : η έξοδος σήματος DHT11 είναι στην ακίδα 7. Αλλάξτε την IP διακομιστή για αυτήν του Pi σας στην ακόλουθη γραμμή:

client.setServer ('192.168.1.99', 1883);

Δυστυχώς, δεν μπορούμε να χρησιμοποιήσουμε το φιλικό του όνομα (OpenHAB.local στην περίπτωσή μου) καθώς η στοίβα TCP/IP στο Arduino είναι πολύ απλοϊκή και η προσθήκη του κώδικα για την ονομασία Bonjour θα ήταν πολύ μνήμη που δεν θέλουμε να σπαταλήσουμε. Για να αλλάξετε τα θέματα στα οποία μεταδίδονται τα δεδομένα αισθητήρα, μετακινηθείτε προς τα κάτω σε αυτές τις γραμμές:

buff buff [10];

dtostrf (t, 0, 0, buffer);

client.publish ('openhab/himitsu/temperature', buffer);

dtostrf (h, 0, 0, buffer);

client.publish («openhab/himitsu/humidity», buffer);

Ο κώδικας περιλαμβάνει επίσης συνδρομή σε ένα κανάλι εντολών. Βρείτε και προσαρμόστε την ακόλουθη γραμμή:

client.subscribe ('openhab/himitsu/command');

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

Ανεβάστε τον κωδικό σας, συνδέστε το Arduino στο δίκτυο και εγγραφείτε σε οποιοδήποτε από τα δύο χρησιμοποιώντας το MQTT.fx # ή openhab / himitsu / # (ή σε ό, τι αλλάξατε το όνομα του δωματίου, αλλά μην ξεχάσετε να συμπεριλάβετε το # στο τέλος). Πολύ σύντομα θα πρέπει να δείτε μηνύματα που έρχονται. και αν στείλετε το ON ή το OFF στο θέμα της εντολής, θα δείτε επίσης επιβεβαιώσεις.

MQTT Binding για το OpenHAB

Το τελευταίο βήμα στην εξίσωση είναι να το συνδέσετε με το OpenHAB. Για αυτό, φυσικά χρειαζόμαστε ένα δέσιμο.

sudo apt-get install openhab-addon-binding-mqtt

sudo chown -hR openhab: openhab/usr/share/openhab

Και επεξεργαστείτε το αρχείο ρυθμίσεων για να ενεργοποιήσετε τη σύνδεση.

mqtt: broker.url = tcp: // localhost: 1883

mqtt: broker.clientId = openhab

Επανεκκινήστε το OpenHAB

sudo service openhab επανεκκίνηση

Στη συνέχεια, ας προσθέσουμε ένα ή δύο στοιχεία:

/ * Αισθητήρες MQTT */

Number Himitsu_Temp 'Himitsu Temperature [%.1f ° C]' (Himitsu, Temperature) {mqtt = '<[broker:openhab/himitsu/temperature:state:default]'}

Αριθμός Himitsu_Humidity'Himitsu Υγρασία [%.1f %%] '(Himitsu, Υγρασία) {mqtt ='<[broker:openhab/himitsu/humidity:state:default]'}

Μέχρι τώρα θα πρέπει να καταλάβετε τη μορφή. παίρνει ένα Στοιχείο αριθμού από τη δέσμευση MQTT, σε συγκεκριμένο θέμα. Αυτό είναι ένα απλό παράδειγμα, μπορεί να θέλετε να ανατρέξετε στη σελίδα wiki όπου βρίσκεται μπορεί να γίνει πολύ πιο περίπλοκο Το

Συγχαρητήρια, τώρα έχετε τη βάση μιας φθηνής σειράς αισθητήρων με βάση το Arduino. Θα το επανεξετάσουμε στο μέλλον και θα τοποθετήσουμε τα Arduino's στο δικό τους εντελώς ξεχωριστό δίκτυο RF. Έχω δημιουργήσει επίσης μια πανομοιότυπη έκδοση για πίνακες Wizwiki 7500 αν τύχει να έχετε ένα από αυτά.

Εμμονή και γραφική παράσταση δεδομένων

Μέχρι τώρα πιθανώς έχετε δημιουργήσει ένα σωρό αισθητήρες, είτε από Z-Wave είτε από προσαρμοσμένο Arduinos που εκτελούν MQTT-έτσι μπορείτε να δείτε την τρέχουσα κατάσταση αυτών των αισθητήρων ανά πάσα στιγμή και θα πρέπει επίσης να αντιδράτε στην αξία τους στους κανόνες. Αλλά το ενδιαφέρον με τις τιμές των αισθητήρων είναι γενικά ότι αλλάζουν με την πάροδο του χρόνου: εκεί έρχεται η επιμονή και η γραφική παράσταση. επιμονή στο OpenHAB σημαίνει αποθήκευση των δεδομένων με την πάροδο του χρόνου. Ας προχωρήσουμε και να ρυθμίσουμε το RRD4J (Round Robin Database for Java), το οποίο ονομάζεται επειδή τα δεδομένα αποθηκεύονται με τον κύκλο ρομπόιν - τα παλαιότερα δεδομένα απορρίπτονται για να συμπιέσουν το μέγεθος της βάσης δεδομένων.

Εγκαταστήστε πακέτα rrd4j με τις ακόλουθες εντολές.

sudo apt-get install openhab-addon-persistence-rrd4j
sudo chown -hR openhab:openhab /usr/share/openhab

Στη συνέχεια, δημιουργήστε ένα νέο αρχείο που ονομάζεται rrd4j.επιμένει στο διαμορφώσεις/επιμονή ντοσιέ. Επικολλήστε τα παρακάτω:

Στρατηγικές {

everyMinute: '0 * * * *?'

everyHour: '0 0 * * *?'

EveryDay: '0 0 0 * *?'

προεπιλογή = everyChange

}

Αντικείμενα {

// επιμείνετε τα πάντα όταν ενημερώνεται η τιμή, απλώς μια προεπιλογή και επαναφέρετε τα από τη βάση δεδομένων κατά την εκκίνηση

*: στρατηγική = everyChange, restoreOnStartup

// στη συνέχεια καθορίζουμε συγκεκριμένες στρατηγικές του everyHour για οτιδήποτε στην ομάδα θερμοκρασίας και κάθε λεπτό για την υγρασία

πώς να έχετε κινούμενη ταπετσαρία windows 10

Θερμοκρασία*: στρατηγική = everyHour

Υγρασία*: στρατηγική = everyMinute

// εναλλακτικά μπορείτε να προσθέσετε συγκεκριμένα στοιχεία εδώ, όπως π.χ.

// Bedroom_Humidity, JamesInOffice: στρατηγική = everyMinute

}

Στο πρώτο μέρος αυτού του αρχείου, καθορίζουμε στρατηγικές, που σημαίνει απλώς να δώσουμε ένα όνομα σε μια έκφραση CRON. Αυτό είναι το ίδιο όπως κάναμε ήδη με το My.OpenHAB, αλλά αυτή τη φορά δημιουργούμε μερικές νέες στρατηγικές που μπορούμε να χρησιμοποιήσουμε για everyDay, everyHour και everyMinute. Δεν τα έχω χρησιμοποιήσει όλα ακόμα, αλλά ίσως στο μέλλον.

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

Σημείωση: εάν θέλετε επίσης να γράψετε τα δεδομένα, πρέπει να τα αποθηκεύσετε τουλάχιστον μία φορά το λεπτό. Δεν έχει σημασία αν τα δεδομένα του αισθητήρα σας ενημερώνονται τόσο γρήγορα, απλά πρέπει να πείτε στο rr4dj να τα αποθηκεύει μία φορά το λεπτό.

Με αυτό το ορισμένο, θα πρέπει να αρχίσετε να βλέπετε κάποια έξοδο εντοπισμού σφαλμάτων που σας λέει ότι αποθηκεύονται τιμές.

Στη συνέχεια, ας κάνουμε μερικά όμορφα γραφήματα όλων αυτών των δεδομένων. Είναι πραγματικά εύκολο. Για να δημιουργήσετε ένα γράφημα ενός μεμονωμένου αισθητήρα, προσθέστε τα παρακάτω στον χάρτη του ιστότοπού σας:

Στοιχείο γραφήματος = Υπνοδωμάτιο_Χρόνος υγρασίας = ώρα

Αυτό είναι κυριολεκτικά το μόνο που χρειάζεστε. Οι έγκυρες τιμές για την περίοδο είναι h, 4h, 8h, 12h, D, 3D, W, 2W, M, 2M, 4M, Y ? θα πρέπει να είναι προφανές τι σημαίνουν αυτά. Είναι προεπιλεγμένο στο D για μια ολόκληρη ημέρα δεδομένων, εάν δεν καθορίζεται.

Για να δημιουργήσετε ένα γράφημα με πολλά στοιχεία, απλά γράψτε το όνομα της ομάδας αντ 'αυτού:

Στοιχείο γραφήματος = Περίοδος υγρασίας = h

Μπορεί επίσης να σας ενδιαφέρει να μάθετε ότι μπορείτε να χρησιμοποιήσετε αυτό το γράφημα αλλού. δημιουργεί μια εικόνα χρησιμοποιώντας την ακόλουθη διεύθυνση URL: http: // YOUROPENHABURL: 8080/chart? groups = Υγρασία & περίοδος = h

Πως είναι Τα δικα σου Έρχεται το σύστημα OpenHAB;

Αυτό είναι για αυτήν τη δόση του οδηγού, αλλά μην περιμένετε ότι αυτό θα είναι το τελευταίο που θα ακούσετε από εμάς για το OpenHAB. Ας ελπίσουμε ότι αυτό και ο οδηγός για αρχάριους σας έδωσαν μια σταθερή βάση για να αναπτύξετε το δικό σας πλήρες σύστημα OpenHAB - αλλά είναι μια διαδικασία που δεν έχει ολοκληρωθεί ποτέ.

Ευτυχώς, το OpenHAB μπορεί να κλιμακωθεί καλά από μερικές συσκευές σε εκατοντάδες, από απλή πολυπλοκότητα κανόνων έως τον απόλυτο αυτοματισμό του σπιτιού - πώς είναι λοιπόν το σύστημά σας; Ποιες συσκευές επιλέξατε; Ποιο είναι το επόμενο μεγάλο έργο που πρόκειται να αντιμετωπίσετε;

Ας μιλήσουμε στα σχόλια - και παρακαλώ, αν βρήκατε χρήσιμο αυτόν τον οδηγό, κάντε κλικ σε αυτά τα κουμπιά κοινής χρήσης για να πείτε στους φίλους σας πώς μπορούν επίσης να εγκαταστήσουν το δικό τους σύστημα OpenHAB.

Ελπίζουμε να σας αρέσουν τα αντικείμενα που προτείνουμε και συζητάμε! Το MUO έχει συνεργασίες θυγατρικών και χορηγούς, οπότε λαμβάνουμε ένα μερίδιο των εσόδων από ορισμένες από τις αγορές σας. Αυτό δεν θα επηρεάσει την τιμή που πληρώνετε και μας βοηθά να προσφέρουμε τις καλύτερες προτάσεις προϊόντων.

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ Ένας αρχάριος οδηγός για την εμψύχωση του λόγου

Η εμψύχωση του λόγου μπορεί να είναι μια πρόκληση. Εάν είστε έτοιμοι να αρχίσετε να προσθέτετε διάλογο στο έργο σας, θα αναλύσουμε τη διαδικασία για εσάς.

Διαβάστε Επόμενο
Σχετικά θέματα
  • DIY
  • Εξυπνο σπίτι
  • Arduino
  • Οικιακός αυτοματισμός
  • Μακροσκελές έντυπο
  • Οδηγός Longform
Σχετικά με τον Συγγραφέα Τζέιμς Μπρους(Δημοσιεύθηκαν 707 άρθρα)

Ο Τζέιμς έχει πτυχίο Τεχνητής Νοημοσύνης και διαθέτει πιστοποίηση CompTIA A+ και Network+. Όταν δεν είναι απασχολημένος ως Hardware Reviews Editor, απολαμβάνει LEGO, VR και επιτραπέζια παιχνίδια. Πριν ενταχθεί στο MakeUseOf, ήταν τεχνικός φωτισμού, καθηγητής αγγλικών και μηχανικός κέντρου δεδομένων.

Περισσότερα από τον James Bruce

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή