Προς το περιεχόμενο

Home Assistant Hassio RPi


Spect~

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)
1 ώρα πριν, liaskt είπε

Το http://192.168.1.1/common_page/status_info_lua.lua δούλεψε πριν κάνω login οπότε πιστεύω ότι θα δουλεύει. Θα το δοκιμάσουμε. 

Αυτό δουλεύει χωρίς λόγκιν γιατί είναι τα στατιστικά που σε αφήνει να δεις πριν συνδεθείς 

image.png.d3abde5b2c727fd0e645aa26043bab97.png

Επεξ/σία από than2031995
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 1,9k
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοσ. (επεξεργασμένο)

Ανέβασα ξεχωριστό python script (speedport_entry2i.py) για το Entry 2i στο repo

Για να παίξουν πιο εύκολα και τα dashboards, το έγραψα έτσι ώστε να παράγει το ίδιο ακριβώς format με το Speedport Plus με εξαίρεση τα Attainable rates και Uptime που δεν είναι διαθέσιμα στο XML που επιστρέφει το Entry 2i.

{
  "dsl_snrd": 12.1,
  "dsl_snru": 33.8,
  "dsl_downstream": 27030,
  "dsl_upstream": 2704,
  "vdsl_atnd": 4.6,
  "vdsl_atnu": 2.6,
  "dsl_link_status": "online",
  "dsl_online_status": "online",
  "dsl_fec_errors": 71922,
  "dsl_crc_errors": 26559,
  "dsl_transmission_mode": "VDSL2",
  "firmware_version": "V1.0.0_OTET14MAPEA"
}

Δεν το έχω δοκιμάσει στο Home assistant γιατί το έχω στο δικό μου δίκτυο που έχω το Speedport Plus.

Για δοκιμάστε όσοι έχετε το Entry 2i και πείτε μου. Αρχικά μπορείτε να δοκιμάσετε να το τρέξετε από command line  και να δείτε αν παίρνετε το παραπάνω json

python3 speedport_entry2i.py "http://192.168.1.1"

(ή με όποια IP έχει ο Router)

Επεξ/σία από liaskt
  • Thanks 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

7 λεπτά πριν, liaskt είπε

Για δοκιμάστε όσοι έχετε το Entry 2i και πείτε μου. Αρχικά μπορείτε να δοκιμάσετε να το τρέξετε από command line  και να δείτε αν παίρνετε το παραπάνω json


python3 speedport_entry2i.py "http://192.168.1.1"

(ή με όποια IP έχει ο Router)

Καταρχάς αυτό δουλεύει!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

28 λεπτά πριν, liakjim είπε

Καταρχάς αυτό δουλεύει!

Ξεκινήσαμε καλά :) 

Έκανα και κάποια updates στο readme για το Entry 2i. 

Αν και γράφω στο readme ότι μπορείτε να αλλάξετε το όνομα του sensor σε "Speedport Entry2i status", το πιο εύκολο είναι να το κρατήσετε "speedport plus status" για να παίξουν κατευθείαν τα dashboards. Αλλιώς θα πρέπει να κάνετε search and replace στο yaml και το grafana dashboard json όλα τα entities από speedport_plus_status σε speedport_entry2i_status .

Μπορείτε να κάνετε override στο UI εξάλλου και να γράφει Entry 2i ακόμα και αν το entity λέγεται "Plus". 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
6 λεπτά πριν, liaskt είπε

Ξεκινήσαμε καλά :) 

Έκανα και κάποια updates στο readme για το Entry 2i. 

Αν και γράφω στο readme ότι μπορείτε να αλλάξετε το όνομα του sensor σε "Speedport Entry2i status", το πιο εύκολο είναι να το κρατήσετε "speedport plus status" για να παίξουν κατευθείαν τα dashboards. Αλλιώς θα πρέπει να κάνετε search and replace στο yaml και το grafana dashboard json όλα τα entities από speedport_plus_status σε speedport_entry2i_status .

Μπορείτε να κάνετε override στο UI εξάλλου και να γράφει Entry 2i ακόμα και αν το entity λέγεται "Plus". 

Δουλεύει!!!

Κάποια πάνελς φαίνεται πως έχουν θέμα (που έχω κυκλώσει):

image.png.676ce8aae1aa7322ec449caa1f302dd5.png

 

Επεξ/σία από liakjim
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

3 λεπτά πριν, liakjim είπε

Δουλεύει!!!

Κάποια πάνελς φαίνεται πως έχουν θέμα (που έχω κυκλώσει):

Τέλεια :)

Όπως έγραψα και πριν, τα πεδία Uptime (DSL), uptime_online, dsl_max_downstream και dsl_max_downstream δεν είναι διαθέσιμα στο XML που επιστρέφει το Entry 2i, οπότε αυτά τα panels θα είναι άδεια.

Αν το θεωρείς σημαντικό, το uptime υποθέτω ότι μπορείς να το υπολογίσεις προσεγγιστικά με κάποιο σύνθετο template sensor και helper variables, που να υπολογίζει "now - time_of_last_change(from status:offline to status:online)".  

Το max attainable speed δεν πέφτει και πολύ μέσα από την εμπειρία μου. Δε θα σου λείψει :) Αν και μπορείς να το δεις αν θυμάμαι καλά μέσα στο Entry  2i, δεν μας το επιστρέφει στο XML endpoint που χρησιμοποιούμε. 

Οπότε αυτά τα panels μπορείς να τα αντικαταστήσεις με κάτι άλλο από αυτά τα integrations που προτείνω στο readme κάτω κάτω (speedtest, latency from ping test, etc.)

To panel "Errors in buckets" πιστεύω θα έχει data μόλις περάσει λίγη ώρα για να γεμίσει κάποιο bucket (νομίζω έχω βάλει ελάχιστο 5 λεπτά).

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
43 λεπτά πριν, liaskt είπε

Τέλεια :)

Όπως έγραψα και πριν, τα πεδία Uptime (DSL), uptime_online, dsl_max_downstream και dsl_max_downstream δεν είναι διαθέσιμα στο XML που επιστρέφει το Entry 2i, οπότε αυτά τα panels θα είναι άδεια.

Αν το θεωρείς σημαντικό, το uptime υποθέτω ότι μπορείς να το υπολογίσεις προσεγγιστικά με κάποιο σύνθετο template sensor και helper variables, που να υπολογίζει "now - time_of_last_change(from status:offline to status:online)".  

Το max attainable speed δεν πέφτει και πολύ μέσα από την εμπειρία μου. Δε θα σου λείψει :) Αν και μπορείς να το δεις αν θυμάμαι καλά μέσα στο Entry  2i, δεν μας το επιστρέφει στο XML endpoint που χρησιμοποιούμε. 

Οπότε αυτά τα panels μπορείς να τα αντικαταστήσεις με κάτι άλλο από αυτά τα integrations που προτείνω στο readme κάτω κάτω (speedtest, latency from ping test, etc.)

To panel "Errors in buckets" πιστεύω θα έχει data μόλις περάσει λίγη ώρα για να γεμίσει κάποιο bucket (νομίζω έχω βάλει ελάχιστο 5 λεπτά).

Οκ, θα το δω αυτό με error in buckets τι θα δείξει μέχρι αύριο. Τα έχω βάλει τα sensors όπως λένε οι οδηγίες.

Επεξ/σία από liakjim
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

4 λεπτά πριν, liakjim είπε

Οκ, θα το δω αυτό με error in buckets τι θα δείξει μέχρι αύριο. Τα έχω βάλει τα sensors όπως λένε οι οδηγίες.

Επειδή έκανα την αντικατάσταση παντού με entry2i, ορίστε για όποιον βαριέται να γράφει :

https://pastebin.com/dl/GPNDvrM9

και το πάνελ με αλλαγμένα τα entities σε entry2i:

Speedport Entry2i-1616712963178.json 50 kB · 0 downloads

Nice :)

Λογικά θα θέλεις να αλλάξεις και τα thresholds που έχω βάλει για να αλλάζουν χρώμα τα μικρά stat panels στην πρώτη σειρά (που δείχνουν τις τρέχουσες τιμές). Δηλαδή πότε θέλεις να γίνεται κίτρινο/κόκκινο για να το προσέχεις (τι θεωρείς χαμηλό sync speed, χαμηλό SNR, υψηλό attenuation, πολλά errors per hour για τη γραμμή σου). Αυτά είναι σίγουρα διαφορετικά για τον καθέναν.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Έβαλα και το yaml του dashboard view στο repo εδώ.

Είναι μόνο το συγκεκριμένο view (tab) οπότε πρέπει να μπει μέσα σε υπάρχον dashboard (μέσω του Raw configuration editor).

Δεν έχω γράψει οδηγίες στο readme ακόμα. 

Σε γενικές γραμμές για να παίξουν όλα, χρειάζονται και τα extra integrations που γράφω στο readme στο τέλος (speedtest, ping, UPnP) και επίσης χρειάζεται εγκατάσταση και custom cards (μέσω HACS πιο εύκολα): layout card, mini graph card, entity attributes card.  Επίσης στο

    visible:
      - user: your_user_id1...
      - user: your_user_id2
      - ...

πρέπει να μπουν IDs πραγματικών χρηστών για να εμφανιστεί. Εμφανίζεται στο edit dashboard όμως σε admin user οπότε μπορεί να συμπληρωθεί πιο εύκολα από τα options του tab στο UI.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
Στις 25/3/2021 στις 7:37 ΠΜ, liaskt είπε

Χαιρετώ την κοινότητα του Home assistant. 

Ανέβασα οδηγίες για integration του Speedport Plus modem που δίνει ο ΟΤΕ με Home assistant και InfluxDB/Grafana σε αυτό το github repo

Home assistant dashboard:

spacer.png

Βάζεις λίγο το config yaml για τα latency/speedtest; Θα ήθελα να δω ποιους σέρβερς βάζεις για τα τεστς.

Επίσης οι binary sensors για τα Ping, πρέπει να γίνουν template sensors για να φανούν στο Grafana; Και αν ναι , πως ;

Επεξ/σία από liakjim
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

39 λεπτά πριν, liakjim είπε

Βάζεις λίγο το config yaml για τα latency/speedtest; Θα ήθελα να δω ποιους σέρβερς βάζεις για τα τεστς.

Απέφυγα να βάλω τις IP που χρησιμοποιώ μην το κάνουμε όλοι copy-paste αυτούσιο και σπαμάρουμε τους ίδιους servers. Ότι επιλέξουμε καλό είναι να μην το βάλουμε πιο συχνά από το μισάωρο.

Γράφω περιγραφικά εδώ τις δικές μου επιλογές για αυτό το λόγο. 

  • Speedtest: Παλιότερα είχα το server_id: 1727 που είναι του GRNET. Άλλες επιλογές είναι: 4201 (OTE), 5188 (Cosmote), 2105 (Cosmote Thessaloniki), 19078 (Vodafone), 31448 (Deutsche Telekom Frankfurt). Πλέον δεν έχω τίποτα από αυτά στο yaml μου, γιατί μπορείς να σετάρεις το integration από το UI και έχει μία πιο περιορισμένη λίστα να επιλέξεις. Στην Αθήνα μου έβγαλε μόνο τη Vodafone οπότε επέλεξα αυτή. 
  • "Ping ISP": Μία IP του ISP μας. Καλές επιλογές είναι οι DNS servers γιατί δεν αλλάζουν πολύ συχνά. Για oτέ γνωρίζω αυτούς τους servers: 212.205.212.205, 195.170.2.2, 195.170.0.1. Έχουν παρόμοιο και πολύ χαμηλό latency από εδώ που βρίσκομαι (~4.7ms σε fastpath).
  • "Ping City": Μία IP ενός άλλου παρόχου (ώστε να βεβαιωθούμε ότι έχουμε και internet, όχι μόνο τοπική σύνδεση με τον πάροχό μας). Εδώ έχει μία καλή λίστα: https://telecom.viva.gr/support/numbers/?HowTo=32 . Δοκίμασε πρώτα γιατί μερικές είναι pingable μόνο από συνδρομητές τους και κάποιες έχουν χαμηλότερο latency από άλλες. 
  • "Ping Abroad": Μία IP στην Ευρώπη. Εγώ επέλεξα μία από το http://www.dslreports.com/tools/pingtest από Ευρώπη που εμφανίζεται όταν τρέχεις το test.
  • "Ping Earth": Μία IP από άλλη ήπειρο. Επέλεξα επίσης μία από τις IPs από το dslreports λινκ παραπάνω από άλλη ήπειρο.

To yaml για τα ping είναι όπως τα έχω στο repo με έναν από τους servers που γράφω παραπάνω.

1 ώρα πριν, liakjim είπε

Επίσης οι binary sensors για τα Ping, πρέπει να γίνουν template sensors για να φανούν στο Grafana; Και αν ναι , πως ;

Για να εμφανιστούν στο InfluxDB/Grafana δεν χρειάζονται template sensors. Όλα τα attributes που δεν είναι "blacklisted" με το "ignore_attributes: ..." στο configuration του integration της InfluxDB μπαίνουν αυτομάτως στην InfluxDB. 

Επιλέγεις στον query editor (UI mode) στο Grafana:

FROM state WHERE entity_id = ping_isp OR entity_id = ping_city
field(round_trip_time_avg) mean()
GROUP BY time($interval) tag(entity_id) fill(none)

Μπορείς να επιλέξεις round_trip_time_avg, round_trip_time_min ή round_trip_time_max. Εγώ έχω το average που είναι ο μέσος όρος από τα 3 pings που κάνεις ανά μισάωρο σε κάθε IP.

Για να τα δείξεις όμως στο Home assistant dashboard ως γραφήματα χρειάζεσαι template sensors:

          net_latency_isp:
              friendly_name: Internet Latency (ISP)
              value_template: >-
                  {{state_attr("binary_sensor.ping_isp", "round_trip_time_avg") | float | round(1) }}
              unit_of_measurement: "ms"
          net_latency_city:
              friendly_name: Internet Latency (City)
              value_template: >-
                  {{state_attr("binary_sensor.ping_city", "round_trip_time_avg") | float | round(1) }}
              unit_of_measurement: "ms"
          net_latency_abroad:
              friendly_name: Internet Latency (Abroad)
              value_template: >-
                  {{state_attr("binary_sensor.ping_abroad", "round_trip_time_avg") | float | round(1) }}
              unit_of_measurement: "ms"
          net_latency_earth:
              friendly_name: Internet Latency (Earth)
              value_template: >-
                  {{state_attr("binary_sensor.ping_earth", "round_trip_time_avg") | float | round(1) }}
              unit_of_measurement: "ms"

Κι εδώ μπορείς να επιλέξεις round_trip_time_avg, round_trip_time_min ή round_trip_time_max,

  • Thanks 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
Στις 25/3/2021 στις 7:37 ΠΜ, liaskt είπε

Χαιρετώ την κοινότητα του Home assistant. 

Ανέβασα οδηγίες για integration του Speedport Plus modem που δίνει ο ΟΤΕ με Home assistant και InfluxDB/Grafana σε αυτό το github repo

Home assistant dashboard:

spacer.png

Grafana dashboard:

spacer.png

Όποιος θέλει μπορεί να παρακολουθήσει και το thread στο adslgr που άνοιξα μιας και από εκεί με παρότρυναν από κάποια screenshots που είχα ανεβάσει σε άλλο thread για troubleshooting.

Ελπίζω να σας φανεί χρήσιμο.

με αφορμή το post σου μπήκα στη διαδικασία να ξεκινήσω το grafana που καιρό τώρα το καθυστερούσα γιατί θα άνοιγα νέο παράθυρο που ούτε 2 lockdown δε θα μου φτάνουν για να το μάθω... :)

Όμως όπως είπα, το άρχισα. Για πείτε λοιπόν καμια πρόταση να ξεκινήσω με κάτι απλό.

Υπάρχει πουθενά μέρος με παραδείγματα εφαρμογών;

Παρεπιπτόντως το δικό σου δυστυχώς δε μπόρεσα να το εφαρμόσω γιατί αν και έχω speedport, έχω βάλει μετά unifi και δεν άρα το speedport δεν το έχω στο subnet του ΗΑ. Ευχαριστώ επομένως για την έμπνευση και σε μισώ που μου άνοιξες το παράθυρο :P :P :P 

Επεξ/σία από acmegr7
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

36 λεπτά πριν, acmegr7 είπε

με αφορμή το post σου μπήκα στη διαδικασία να ξεκινήσω το grafana που καιρό τώρα το καθυστερούσα γιατί θα άνοιγα νέο παράθυρο που ούτε 2 lockdown δε θα μου φτάνουν για να το μάθω... :)

Όμως όπως είπα, το άρχισα. Για πείτε λοιπόν καμια πρόταση να ξεκινήσω με κάτι απλό.

Υπάρχει πουθενά μέρος με παραδείγματα εφαρμογών;

Παρεπιπτόντως το δικό σου δυστυχώς δε μπόρεσα να το εφαρμόσω γιατί αν και έχω speedport, έχω βάλει μετά unifi και δεν άρα το speedport δεν το έχω στο subnet του ΗΑ. Ευχαριστώ επομένως για την έμπνευση και σε μισώ που μου άνοιξες το παράθυρο :P :P :P 

You're welcome :) 

Αν ψάξω "unifi wan modem access admin page" στο google βλέπω ότι υπάρχουν διάφορες λύσεις για να καταφέρεις να συνδεθείς στο speedport, ανάλογα και με το setup που έχεις (PPPoE vs NAT-behind-NAT etc.). Απλά πρέπει να συνδεθείς στο command line interface και ίσως να χρειαστεί να δημιουργήσεις κάποιο virtual interface με ένα json file και ένα static route που θα στέλνει την κίνηση στο υποδίκτυο του speedport. 

Η άλλη λύση είναι να βάλεις ένα  2ο Ethernet NIC (υπάρχουν USB NICs με 10€) στο Home assistant που να συνδέεται κατευθείαν σε μία θύρα του speedport μόνο για να συνδέεται στο 192.168.1.1. 

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...