liaskt Δημοσ. 25 Σεπτεμβρίου 2021 Δημοσ. 25 Σεπτεμβρίου 2021 5 ώρες πριν, liakjim είπε Ξέρει κανείς πως τρέχουμε πράξεις στο nodered; Θέλω να τρέξω αυτό = (6,112 * rH * 2,167 * ( 2,71828^((17,67*T)/(T+243,5))))/(273,15+T) Όπου rH είναι η σχετική υγρασία και Τ η θερμοκρασία (θα την παίρνω από θερμόμετρα). Είναι μια απλή φόρμουλα υπολογισμού απόλυτης υγρασίας σε gr/m3. Δεδομένου ότι μπορείς να γράψεις javascript σε nodes στο Nodered θα είναι περίπου όπως το έγραψες και στη φόρμουλα (τελεία όπου έχεις βάλει κόμμα, και τα rH, T ονόματα μεταβλητών). Μήπως όμως είναι καλύτερο να χρησιμοποιήσεις αυτό το custom component στο HA: https://github.com/dolezsa/thermal_comfort Υπολογίζει και δημιουργεί νέα entities για απόλυτη υγρασία, σημείο δρόσου (dew point) και heat index (aka "Real feel"). Και ένα περιγραφικό entity "thermal perception" που το ορίζει με βάση το υπολογισμένο dew point (<10: "a bit dry", <13 "very comfortable", <18 "Ok for most", <21 "somewhat uncomfortable", <24: "very humid,quite uncomfortable", >24: "extremely uncomfortable") Μιας και δεν το έχει βάλει στο HACS πρέπει να το βάλεις χειροκίνητα στο custom_components folder, να κάνεις επανεκκίνηση του HA, και μετά να προσθέσεις στο configuration.yaml τους νέους sensors που θέλεις όπως περιγράφονται στο repo (προσθέτει κατάληξη _absolutehumidity, _dew_point, _heat_index στα ονόματα που θα βάλεις) και ξανά επανεκκίνηση.
liakjim Δημοσ. 25 Σεπτεμβρίου 2021 Δημοσ. 25 Σεπτεμβρίου 2021 4 λεπτά πριν, liaskt είπε Δεδομένου ότι μπορείς να γράψεις javascript σε nodes στο Nodered θα είναι περίπου όπως το έγραψες και στη φόρμουλα (τελεία όπου έχεις βάλει κόμμα, και τα rH, T ονόματα μεταβλητών). Μήπως όμως είναι καλύτερο να χρησιμοποιήσεις αυτό το custom component στο HA: https://github.com/dolezsa/thermal_comfort Υπολογίζει και δημιουργεί νέα entities για απόλυτη υγρασία, σημείο δρόσου (dew point) και heat index (aka "Real feel"). Και ένα περιγραφικό entity "thermal perception" που το ορίζει με βάση το υπολογισμένο dew point (<10: "a bit dry", <13 "very comfortable", <18 "Ok for most", <21 "somewhat uncomfortable", <24: "very humid,quite uncomfortable", >24: "extremely uncomfortable") Μιας και δεν το έχει βάλει στο HACS πρέπει να το βάλεις χειροκίνητα στο custom_components folder, να κάνεις επανεκκίνηση του HA, και μετά να προσθέσεις στο configuration.yaml τους νέους sensors που θέλεις όπως περιγράφονται στο repo (προσθέτει κατάληξη _absolutehumidity, _dew_point, _heat_index στα ονόματα που θα βάλεις) και ξανά επανεκκίνηση. Καλή φάση, μακάρι να το είχα δει νωρίτερα. Θα είχα γλιτώσει πολύ κόπο. Με τη βοήθεια του @than2031995, έχω πλέον αυτό που χρειάζομαι και στο τέλος τους αφαιρώ για να ξέρω αν θα πρέπει να αερίσω το σπίτι! template: sensor: - name: Absolute External Humidity unit_of_measurement: g/m³ state: > {% set h, t = states('sensor.external_humidity') | float, states('sensor.external_temperature') %} {% if not h or t == 'unknown' -%} 'unknown' {%- else %} {% set t = t | float %} {{ (h*6.112*2.1674*e**((t*17.67)/(t+243.5))/(t+273.15))|round(2) }} {% endif %} - name: Absolute Internal Humidity unit_of_measurement: g/m³ state: > {% set h, t = states('sensor.internal_humidity') | float, states('sensor.internal_temperature') %} {% if not h or t == 'unknown' -%} 'unknown' {%- else %} {% set t = t | float %} {{ (h*6.112*2.1674*e**((t*17.67)/(t+243.5))/(t+273.15))|round(2) }} {% endif %} - name: absolute humidity diff state: > {% set int = states ('sensor.absolute_internal_humidity')| float %} {% set ext = states ('sensor.absolute_external_humidity')| float %} {{ (int - ext) | round(2) }} 1
liaskt Δημοσ. 26 Σεπτεμβρίου 2021 Δημοσ. 26 Σεπτεμβρίου 2021 1 ώρα πριν, liakjim είπε Καλή φάση, μακάρι να το είχα δει νωρίτερα. Θα είχα γλιτώσει πολύ κόπο. Με τη βοήθεια του @than2031995, έχω πλέον αυτό που χρειάζομαι και στο τέλος τους αφαιρώ για να ξέρω αν θα πρέπει να αερίσω το σπίτι! template: sensor: - name: Absolute External Humidity unit_of_measurement: g/m³ state: > {% set h, t = states('sensor.external_humidity') | float, states('sensor.external_temperature') %} {% if not h or t == 'unknown' -%} 'unknown' {%- else %} {% set t = t | float %} {{ (h*6.112*2.1674*e**((t*17.67)/(t+243.5))/(t+273.15))|round(2) }} {% endif %} - name: Absolute Internal Humidity unit_of_measurement: g/m³ state: > {% set h, t = states('sensor.internal_humidity') | float, states('sensor.internal_temperature') %} {% if not h or t == 'unknown' -%} 'unknown' {%- else %} {% set t = t | float %} {{ (h*6.112*2.1674*e**((t*17.67)/(t+243.5))/(t+273.15))|round(2) }} {% endif %} - name: absolute humidity diff state: > {% set int = states ('sensor.absolute_internal_humidity')| float %} {% set ext = states ('sensor.absolute_external_humidity')| float %} {{ (int - ext) | round(2) }} Ενδιαφέρον αυτοματισμός. Είδα ότι υπάρχει και σχετικό πρόσφατο Blueprint εδώ: https://community.home-assistant.io/t/switch-a-fan-based-on-absolute-humidity-differnece-between-two-humid-temp-sensors/305686 που κάνει το ίδιο (υπολογίζει τη διαφορά στην απόλυτη υγρασία) αλλά προσθέτει και ένα configurable rising και ένα falling threshold για τη διαφορά για να αποφασίσει αν θα τρέξει τον αυτοματισμό ή όχι. Πρέπει να αλλάξεις λίγο το action στο blueprint να μην ανοίγει/κλείνει ένα switch (e.g. ventilation fan) αλλά να σου στέλνει notification για να αερίσεις το σπίτι χειροκίνητα. 1 1
liakjim Δημοσ. 26 Σεπτεμβρίου 2021 Δημοσ. 26 Σεπτεμβρίου 2021 (επεξεργασμένο) 5 ώρες πριν, liaskt είπε Ενδιαφέρον αυτοματισμός. Είδα ότι υπάρχει και σχετικό πρόσφατο Blueprint εδώ: https://community.home-assistant.io/t/switch-a-fan-based-on-absolute-humidity-differnece-between-two-humid-temp-sensors/305686 που κάνει το ίδιο (υπολογίζει τη διαφορά στην απόλυτη υγρασία) αλλά προσθέτει και ένα configurable rising και ένα falling threshold για τη διαφορά για να αποφασίσει αν θα τρέξει τον αυτοματισμό ή όχι. Πρέπει να αλλάξεις λίγο το action στο blueprint να μην ανοίγει/κλείνει ένα switch (e.g. ventilation fan) αλλά να σου στέλνει notification για να αερίσεις το σπίτι χειροκίνητα. Τώρα κατάλαβα από πού μου έστειλε την εξίσωση ο @than2031995 😋 Ηθικό δίδαγμα : να κοιτάω τα blueprints πρώτα πριν φάω ένα απόγευμα. 😅 Ναι, είναι το ίδιο πράγμα. Το μόνο που έχω είναι ένα ενδεικτικό που αλλάζει χρώμα. Πράσινο αν η διαφορά είναι πάνω απ'το μηδέν, άρα αεριζω ή κόκκινο όταν όχι οπότε δεν αεριζω (μη φέρουμε υγρασία μέσα!). Βλέπω στο blueprint έχει βάλει σαν default threshold το 1.1. Αναρωτιέμαι από πού το έχει πάρει. Θα ρωτήσω. Επεξ/σία 26 Σεπτεμβρίου 2021 από liakjim
userAnon Δημοσ. 26 Σεπτεμβρίου 2021 Δημοσ. 26 Σεπτεμβρίου 2021 (επεξεργασμένο) άκυρο.. Επεξ/σία 26 Σεπτεμβρίου 2021 από userAnon
userAnon Δημοσ. 26 Σεπτεμβρίου 2021 Δημοσ. 26 Σεπτεμβρίου 2021 4 ώρες πριν, liakjim είπε Βλέπω στο blueprint έχει βάλει σαν default threshold το 1.1. Για εξήγησε λίγο παραπάνω όταν μάθεις τι κάνει το παραπάνω threshold και αν γενικά το βρίσκεις αξιόπιστο, γιατί με ενδιαφέρει να το κατεβάσω..
liakjim Δημοσ. 26 Σεπτεμβρίου 2021 Δημοσ. 26 Σεπτεμβρίου 2021 1 ώρα πριν, userAnon είπε Για εξήγησε λίγο παραπάνω όταν μάθεις τι κάνει το παραπάνω threshold και αν γενικά το βρίσκεις αξιόπιστο, γιατί με ενδιαφέρει να το κατεβάσω.. Τον έχω ρωτήσει. Ίσως το έχει βάλει στην τύχη (όπως και το 0.9 που έχει βάλει για το off) ή και να προέρχεται από κάποια αρχή μηχανικού αερισμού. @mechpanos ξέρεις κάτι; 12 ώρες πριν, liaskt είπε Δεδομένου ότι μπορείς να γράψεις javascript σε nodes στο Nodered θα είναι περίπου όπως το έγραψες και στη φόρμουλα (τελεία όπου έχεις βάλει κόμμα, και τα rH, T ονόματα μεταβλητών). Υπάρχει κάποιο tutorial για αυτό;
userAnon Δημοσ. 26 Σεπτεμβρίου 2021 Δημοσ. 26 Σεπτεμβρίου 2021 1 λεπτό πριν, liakjim είπε Τον έχω ρωτήσει. Ίσως το έχει βάλει στην τύχη (όπως και το 0.9 που έχει βάλει για το off) ή και να προέρχεται από κάποια αρχή μηχανικού αερισμού. @mechpanos ξέρεις κάτι; το κατέβασα πριν λίγο να το δοκιμάσω, νομίζω ότι θα χρειαστεί να φτιάξω και τους σενσορες για να μπορώ να καταλάβω αν πρέπει να δώσει ειδοποίηση ή όχι.. το θέμα είναι ότι με τα threshold δεν μπορώ βάλω τους δικούς σου πχ και δεν έχω ιδέα πως να τους φτιάξω για να λαμβάνουν υπόψιν τους και αυτή την παράμετρο. εντωμεταξύ στον αυτοματισμό του εκεί που έχει το switch (έβαλα κάποιο για το τεστ) έχει το παρακάτω mode: "{% if switch_state == 'off' and difference|float > rising_threshold|float %}on{% elif switch_state == 'on' and difference|float > falling_threshold|float %}on{% else %}off{% endif %}" το οποίο με προβληματίζει γιατί: Όταν τρέχω τον αυτοματισμό manual και το φως είναι κλειστό μου βγάζει μόνο τις ειδοποίησεις που πρόσθεσα (στέλνει μήνυμα στο κινητό + στο google home). Δεν ανάβει το φως όμως. Όταν το φως είναι αναμμένο στέλνει τις ειδοποίησεις και κλείνει το φως.. Δεν θα έπρεπε στην πρώτη περίπτωση να ανάβει το φως? εκτός και αν για να το ανάψει πρέπει να ισχύει η προυπόθεση "{% if switch_state == 'off' and difference|float > rising_threshold|float %}on{ και επειδή δεν ισχύει δεν κάνει τίποτα. (μάλλον αυτό είναι) ----- Επίσης άλλο πρόβλημα που έχει είναι ότι στην δεύτερη περίπτωση (που κλείνει το φως) αν καταλαβαίνω καλά πρέπει να κλείσουν τα παράθυρα (γιατί κλείνει το switch) άρα θα πρέπει να αλλάζει το μήνυμα "κλείσε το παραθυρο" κλπ -δεν ξέρω αν θα καταφέρω να το προσαρμόσω --- Νομίζω ότι είναι καλύτερα που το έκανες μόνος σου και μπορείς να το ελέγχεις. Μάλλον δεν χάνεις τίποτα 6 ώρες πριν, liakjim είπε Το μόνο που έχω είναι ένα ενδεικτικό που αλλάζει χρώμα. Πράσινο αν η διαφορά είναι πάνω απ'το μηδέν, άρα αεριζω ή κόκκινο όταν όχι οπότε δεν αεριζω (μη φέρουμε υγρασία μέσα!). Πάμε μια πάλι γιατί μόλις έφτιαξα τους σένσορες σου. αυτη τη στιγμή μου βγάζει 0,10. Αυτό σημαίνει απλά ότι μπορείς να ανοίξεις τα παραθυρα για αερισμό. αν είναι κάτω από 0 δεν λέει γιατί θα μπει υγρασία. Σωστά? Δεν χρειάζεσαι κάποιον άλλο αυτοματισμό δηλαδή. 1
liakjim Δημοσ. 26 Σεπτεμβρίου 2021 Δημοσ. 26 Σεπτεμβρίου 2021 1 ώρα πριν, userAnon είπε Πάμε μια πάλι γιατί μόλις έφτιαξα τους σένσορες σου. αυτη τη στιγμή μου βγάζει 0,10. Αυτό σημαίνει απλά ότι μπορείς να ανοίξεις τα παραθυρα για αερισμό. αν είναι κάτω από 0 δεν λέει γιατί θα μπει υγρασία. Σωστά? Δεν χρειάζεσαι κάποιον άλλο αυτοματισμό δηλαδή. Ναι, αυτή είναι η λογική. 1
userAnon Δημοσ. 26 Σεπτεμβρίου 2021 Δημοσ. 26 Σεπτεμβρίου 2021 2 λεπτά πριν, liakjim είπε Ναι, αυτή είναι η λογική. Μια χαρα τότε, το προτιμώ.. το Blueprint προφανώς είναι για άλλη χρήση. Ίσως όταν κάποιος θέλει μόνιμα αερισμό εκτός από όταν δεν θέλει να φέρνει μέσα υγρασία. Με τον δικό σου σένσορα νομίζω ότι θα είναι καλό να γίνει αυτοματισμός που να λέει να κλείσουν τα παράθυρα όταν η τιμή είναι κάτω από το 0 πχ. 1
liaskt Δημοσ. 26 Σεπτεμβρίου 2021 Δημοσ. 26 Σεπτεμβρίου 2021 (επεξεργασμένο) 3 ώρες πριν, liakjim είπε > Δεδομένου ότι μπορείς να γράψεις javascript σε nodes στο Nodered θα είναι περίπου όπως το έγραψες και στη φόρμουλα (τελεία όπου έχεις βάλει κόμμα, και τα rH, T ονόματα μεταβλητών). Υπάρχει κάποιο tutorial για αυτό; Χρειάζεται να χρησιμοποιήσεις τα λεγόμενα function nodes, στα οποία επεξεργάζεσαι το msg.payload με javascript. Για function nodes με math operators δες αυτό το παρόμοιο discussion: https://forums.opto22.com/t/complex-math-in-a-function-node/2905/4 Κάποια math operations στο Javascript όπως το power, sqrt etc. είναι διαθέσιμα στο Math object: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math Γενικά τα function nodes περιγράφονται αρκετά καλά σε αυτό το tutorial http://noderedguide.com/node-red-lecture-5-the-node-red-programming-model/ Τα function nodes λειτουργούν σε ένα input μόνο (msg.payload). Αν οι 2 μεταβλητές που θέλεις να χρησιμοποιήσεις (rel humidity, temperature) είναι σε διαφορετικά nodes και όχι στο ίδιο, μάλλον θα χρειαστεί να χρησιμοποιήσεις αυτό που λέγεται context στο Nodered: http://noderedguide.com/node-red-lecture-6-example-6-7-multiple-inputs-on-a-function-node/ ή το Join node όπως στη συζήτηση εδώ: https://discourse.nodered.org/t/why-dont-node-red-nodes-allow-multiple-inputs/10973/10 Επεξ/σία 26 Σεπτεμβρίου 2021 από liaskt
userAnon Δημοσ. 27 Σεπτεμβρίου 2021 Δημοσ. 27 Σεπτεμβρίου 2021 Γνωρίζει κανείς πως μπορώ να συνδέσω 1 wemos d1 mini με μαγνητική παγίδα πόρτας και να τα περάσω στο ΗΑ? Νομίζω ότι είναι πολύ εύκολο, αλλά δεν μπορώ να βρω έναν απλό οδηγό να ακολουθήσω.. Η πρώτη μου απορία είναι αν χρειάζομαι ή όχι μετατροπή απο 5v σε 3V για να συνδέσω τα καλώδια της μαγνητικής επαφής σε ground και κάποιο από τα pins το d1 mini (θα παίρνουν ρεύμα από 5v usb). Νομίζω και ελπίζω ότι δεν χρειάζεται..
GP Δημοσ. 27 Σεπτεμβρίου 2021 Δημοσ. 27 Σεπτεμβρίου 2021 Στις 24/9/2021 στις 5:59 ΜΜ, Spect~ είπε Εμφάνιση κρυμμένου περιεχομένου Με το wait 60s δουλεψε. Θα κανω αλλη μια δοκιμη μετα και θα πω με 100% σιγουρια Αν καταλαβαίνω καλά το home_occupancy που έχεις φτιάξει είναι sensor με τα 2 device trackers (το ίδιο έχω κάνει αλλά με group). Αν ναι γιατί δεν κάνεις trigger απευθείας από αυτό στο Node red;
nkarama Δημοσ. 27 Σεπτεμβρίου 2021 Δημοσ. 27 Σεπτεμβρίου 2021 (επεξεργασμένο) 2 ώρες πριν, userAnon είπε Γνωρίζει κανείς πως μπορώ να συνδέσω 1 wemos d1 mini με μαγνητική παγίδα πόρτας και να τα περάσω στο ΗΑ? Νομίζω ότι είναι πολύ εύκολο, αλλά δεν μπορώ να βρω έναν απλό οδηγό να ακολουθήσω.. Η πρώτη μου απορία είναι αν χρειάζομαι ή όχι μετατροπή απο 5v σε 3V για να συνδέσω τα καλώδια της μαγνητικής επαφής σε ground και κάποιο από τα pins το d1 mini (θα παίρνουν ρεύμα από 5v usb). Νομίζω και ελπίζω ότι δεν χρειάζεται.. Οχι δεν χρειάζετε. Το Wemos έτσι και αλλιώς σε 3.3V τρέχει. Συνδέεις το ένα άκρο της μαγνητικής επαφής με κάποιο απο τα digital pins πχ D2 και το άλλο άκρο με το GND. Πρόσοχή το pin πρέπει να ρυθμιστεί σαν INPUT_PULLUP. Μην ανακαλύψεις τον τροχό ξανά. Χρησιμοποίησε το ESP home και όλα θα γίνουν εύκολα. Δες και εδώ: https://esphome.io/components/binary_sensor/gpio.html Επεξ/σία 27 Σεπτεμβρίου 2021 από nkarama
Moderators Spect~ Δημοσ. 27 Σεπτεμβρίου 2021 Μέλος Moderators Δημοσ. 27 Σεπτεμβρίου 2021 1 ώρα πριν, GP είπε Αν καταλαβαίνω καλά το home_occupancy που έχεις φτιάξει είναι sensor με τα 2 device trackers (το ίδιο έχω κάνει αλλά με group). Αν ναι γιατί δεν κάνεις trigger απευθείας από αυτό στο Node red; Καλη ερωτηση και η απαντηση ειναι γιατι δεν το σκεφτηκα ή οτι παντα σκεφτομαστε πιο περιπλοκα ενω ολα ειναι απλα 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα