|
|
楼主 |
jakc
发表于 2020-6-25 12:34:33
|
显示全部楼层
IP:–广东–揭阳 电信
- esphome:% c7 e s$ s* q$ [% d' d! b: V
- name: dsm
2 F" Y: u# Y8 S - platform: ESP8266
; Y1 L1 e& S3 \! l! [$ q1 }' I - board: nodemcuv2: z3 i# w# ^7 [. D6 b) @% N' G" ?6 X7 x
1 ^7 x5 A7 s! j- wifi:
7 N+ U: u+ S9 z# ?0 j# J - ssid: "xxxxxxxxxx"
; t7 O( ` U7 u# X% { - password: "xxxxxxxxxxx"5 Q. ^3 ?/ M# }2 T* Z
- 1 r9 A. F+ a2 T3 Q5 [
- # Enable fallback hotspot (captive portal) in case wifi connection fails$ o k* \* v7 [; [8 B
- ap:
, Y9 ^7 L! _) b+ Y; R - ssid: "nas66.com"
& T1 u6 E4 Y! \4 E \7 ~6 Y% L% u - password: "nas66.com"* w3 ]* v0 u i& o
- 2 z: {" v- r4 l! ]4 H# W
- captive_portal:/ T: Q9 T- C1 @
- ( ?' F+ G1 C3 U; L9 |2 U+ y
- # Enable logging8 \6 d0 n& [" j
- logger:
7 v) y5 n9 s4 a7 |) T& [- n - 4 ^) y) X5 G2 `9 @ j( }2 w1 [9 V
- # Enable Home Assistant API
7 w0 _) n# r$ P% p - api:9 L/ T; s5 E* |6 X/ W& `0 C
7 ?$ _/ F/ w$ Z9 V8 T; v- i2c:, |# |7 ]3 B/ C+ X! U
- sda: D26 P, z9 }6 ~1 f* {
- scl: D46 M9 C5 Q& E4 M; B$ e' o
, k% A3 `1 Y1 A6 N4 S- image:0 a/ G2 E X! D1 C% U1 F
- - file: "logo.png"+ I- ]3 k9 C) Z1 D7 i% u
- id: my_image, W; W7 H6 J% U [
- resize: 128x64) k' p. L, P6 s/ O/ T
- ! l/ O9 b8 f$ S/ Z" C
- time:
+ s3 b+ T c$ F - - platform: sntp k! z' L2 V9 u0 y; i& B0 @
- id: sntp_time
$ A$ j# _. F' ]5 ~- P4 s1 V - timezone: Asia/Shanghai; \" F! C" J& ~: y% u k
3 Z/ Y, g! n0 h- display:
# ^( l" s' ~( a2 c3 ~4 `/ A - - platform: ssd1306_i2c
: v- m$ t5 H9 W, I - model: "SSD1306 128x64"
' ~ i) L' x2 U) y5 @! l - id: "ssd1306"& U; A% P, z3 {1 F# r, K& V. {
- reset_pin: D0. E& Q( S& T( O; g( i
- address: 0x3C
+ z, O, S) R6 _! z - rotation: 180
$ L) B8 d% \9 S7 G+ ~ - brightness: 30%6 A/ L, Y7 j2 D5 b a8 }
- : W; L! t- n6 x+ K
- pages:
, m+ ]+ i( [1 K9 k9 C" F - # - id: page1
- B/ [8 n; }8 L- M4 E% V e0 Z- h2 ^+ N6 H - # lambda: |-, e* d; F0 L6 O1 s% m. r9 ?% ^: ], k
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
+ I6 H7 F. ~1 W* }( ]. t - - D) R% F7 P1 |& {" U. ~
- - id: page1/ Q) i% U$ r- v4 j. l1 |
- lambda: |-' d8 s! `# C4 R( T1 I
- it.print(47, 0, id(font2), "Info");" B+ y- w6 }6 X ~
- it.line(0, 22, 128, 22);: W# z, w& ?! K3 G5 m: m: l# [ x
- it.line(0, 23, 128, 23);- T4 v" Y4 X8 N6 {' n1 M
- it.line(0, 24, 128, 24);/ R* Q) h3 X& P
- it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);1 F! o3 T C, z8 R! q
- " [& Y' C, N( X. c% a
- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);
e) N5 |( W! `% M, ~" C8 S - ' u6 p* ` l8 h X6 b/ J6 z
- # it.rectangle(0, 0, 128, 64);$ X7 z5 ]5 h) B1 X
- - id: page2
0 I C( C5 ?8 a+ q1 u4 Y - lambda: |-
+ ]1 v6 `9 d) k" |$ j - it.print(0, 0, id(font2), "Network Speed");1 a) R, U4 \$ Y% m s6 X& L+ f% D
- it.line(0, 22, 128, 22);
8 l) }# w& B( z* f- u% O4 Q( T7 A3 j - it.line(0, 23, 128, 23);" }8 D; Y8 v1 e: l+ t" k2 e0 a
- it.line(0, 24, 128, 24);
% ?2 ?3 f7 A" j; N# s$ Q - it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);
3 ?5 D( h" D2 |1 U& U - it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
* k2 g& B1 g$ v: n7 K - - id: page3' M7 U( B- C1 m$ G+ V7 n% F$ }
- lambda: |-
, E7 E" }( V: {' V0 f - it.print(24, 0, id(font2), "Disk State ");' N/ S1 o" ` R9 R
- it.line(0, 22, 128, 22);& @, a s9 F' y. F, _' R( ^
- it.line(0, 23, 128, 23); y7 |' D0 E D4 N& j5 n
- it.line(0, 24, 128, 24);; L5 v t, }3 O
- it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());) z$ y, r/ h6 ] j: t/ b, }
- it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);+ n5 G7 P1 ^3 n
4 o5 C' d3 h! P% E' a3 Q! d- # - id: page3
( f. _2 r! Z1 \. i* g- }# y7 t - # lambda: |-
$ O" q% I; _8 p - # it.print(0, 10, id(font3), "WOW!!!");
; D5 d: Y6 C* a$ |% ^4 e) R - # - id: page4
5 b8 m4 U# t( u: I! W/ g - # lambda: |-
7 J' o+ ]5 N! O& ^' n' A) n& A1 V - # it.print(0, 10, id(font3), "Fantastic!!");, b) `$ D* R) Y1 {; m' ]
- # - id: page5
6 j% j& ?3 a8 S - # lambda: |-: v6 L- h0 a* ^. i
- # it.image(0, 0, id(my_image));( x% X* V5 `+ ^
- - id: showtime# U7 ^) P' }, [, i$ |& Z
- lambda: |-# @! l! W% N& \% w
- it.print(40, 0, id(font2), "Clock");
4 Y, I4 z5 _ ~9 x" F - it.line(0, 22, 128, 22);
0 p C3 N- @# A* ~; a) z - it.line(0, 23, 128, 23);
, V/ Z+ v9 \% U. b5 n5 _ - it.line(0, 24, 128, 24); m3 v4 m8 r3 F
- it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
) M4 z1 S- |2 A$ d, J - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now());
" d( h3 U- J) H) U* M6 x - 2 V) c# E. u: n! A+ k v
- & x% V h6 c1 e4 G
- ota:
: \1 z) J- d( y6 n - 9 p0 {* P( o+ I' |' E' w9 a2 m
- sensor:% v2 P3 i7 w5 d$ w3 w, Q. U
- - platform: homeassistant( [ t3 |0 [# }2 M( k
- name: "dsm load"; C- v, p$ d3 q5 @
- id: "cpu"9 P3 d8 B4 d; W! ]4 }- r
- entity_id: sensor.synology_dsm_cpu_load_total
! w+ g+ U+ u( j - " i# O: V2 O( X, B5 r$ O" @" I
- - platform: homeassistant2 W7 }0 ` |% L9 b# j! |
- name: "dsm down"
/ d; y0 h. }% i7 c4 c+ E - id: "down"
F- A, K) S# a }( v! V2 g - entity_id: sensor.synology_dsm_network_down
4 s8 c p! f: s: L8 e. T
( h9 z' r* ]0 {% g, Q0 P- - platform: homeassistant* @0 q {4 J v0 J8 S
- name: "dsm up" f+ Q& z9 A& t
- id: "up"0 Z Z% l1 p3 P* k. I
- entity_id: sensor.synology_dsm_network_up
& t7 K0 M$ J$ g" t, O
7 _, [1 y5 g1 k, T. s) j- - platform: homeassistant5 q$ M4 x6 R( B1 B" _4 F$ l8 W, u
- name: "memory total"# Y6 T l6 h0 C$ _
- id: "memorytotal"
$ o9 }; J+ P4 p. S - entity_id: sensor.synology_dsm_memory_size4 W4 E ~- j: W% }
2 u j9 j2 n0 C- g# l& l- - platform: homeassistant
9 h5 h6 @8 u1 {5 V, {7 k - name: "memory usage"
7 v- I& G3 `) h- C) g& A - id: "memoryavailable"
( t4 |6 }6 c) v - entity_id: sensor.synology_dsm_memory_available_real- ?& O. \9 y" x5 ~( t. t7 o4 v
- - _- |- r9 b- K3 P" U% v" H
- - platform: homeassistant5 B& r; k* q# o. b8 U! [ _3 }
- name: "memory usage"
9 J$ u' V4 [" _ - id: "memoryusage"/ u! ] W* p) a* \* [3 U& ^; } ~- G
- entity_id: sensor.synology_dsm_memory_usage_real+ M: K' q- W. g9 a5 u
9 j! @/ O. O% j1 f- q
6 a; T% K/ N3 z" ]0 `- - name: "memoryused"1 N8 g4 y i8 e( w1 ?) i
- id: "memoryused"
$ E6 V- t h* |$ ~ - platform: "template"5 P+ N6 c8 ~! j) _2 t, w
- lambda: |-
, T* ]& I/ R* u- [$ Q - return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;
! P" n/ W# `' @ - update_interval: 30s
2 N5 q2 z" P6 X/ ]
% N& U# e' l1 f: j4 t( j- - platform: homeassistant: X' a. F1 f( H
- name: "sdatemperature"1 W0 l" v5 A( v; i3 L1 Y
- id: "sdatemp": B7 s1 m0 Q0 T( O, i
- entity_id: sensor.synology_dsm_temperature_sda % v% ?& U8 u# a! h6 S9 D8 `
- ) v% Z& k! l8 E, g% q7 j. m; }. }
2 o- v( g( A$ D) p. z- text_sensor:( c* T; E3 `, f( Q0 N7 M, b
- - platform: homeassistant
8 z% ~" o1 g* q - name: "sda total"+ j7 a; f9 \7 H9 R+ l" ^" h
- id: "sdatotal"8 j) l2 N. g K6 k
- entity_id: sensor.synology_dsm_total_size_volume_1. g7 I/ N3 n4 C& O# f- K6 [
- - platform: homeassistant
" K* Y% o c# E3 u/ @9 G) }. E - name: "sda usage"7 w) }# n4 U( D1 p
- id: "sdausage", d# @0 F# x2 q* V( q' b
- entity_id: sensor.synology_dsm_used_space_volume_1
" c% \: ~' \" Y% t. C7 e( g
+ ?8 w7 B# I/ i% O- binary_sensor:
7 l. J R5 y5 K - - platform: homeassistant
0 X: T2 V7 W2 s4 J c- |" r - name: "sec"
8 Q- k1 p5 R, O& J, o0 i - id: "sec"
2 Q4 L$ Z! t/ h* U3 u5 K2 A - entity_id: input_boolean.sec_office, P" o7 {6 F! E: r! o0 b. x
- ; |; s- V' e% h) |" ]; m
- interval:" W% G& g. x7 g7 e! ]% g5 h
- - interval: 10s) P2 w: W/ Y, K2 `" f5 {2 w
- then:# n5 S7 m: F& e4 r
- - display.page.show_next: ssd1306
' B! O4 _: p) i; r. p - #- component.update: my_display
% D E* g# s- m U. @! D+ o) Y" n- ] - font:5 d# w4 V9 O1 @
- - file: 'arial.ttf'
, Y! X# t% F% ^. X% z3 M* M2 ? - id: font1: s" d6 \. w% q- E6 C
- size: 15
3 z7 X; j7 F: G - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"( D) Y& r; a. F
- - file: 'arial.ttf'4 V: M" l- Y) a+ B/ \
- id: font2+ W; U) J2 I2 y* {
- size: 18
- j: K5 r/ k8 Q+ w - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"5 @! n! f3 l; X* I1 q! L# J G
- 6 T6 w) ^ S* l4 ^) P# s8 K
, t& j8 X% l5 S' x/ ?- - file: 'arial.ttf'- C; T4 y$ V* Y" `0 F2 ~. m0 u
- id: font31 O% k- Y& \. w1 }8 k
- size: 23
* A( ]' r' }% ^( y+ I - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑. J8 [7 Q$ Z! a- k
5 ?9 j! J( H' w. i3 X# @
8 ^* e1 ]' Z/ m, s- @
|
|