|
|
楼主 |
jakc
发表于 2020-6-25 12:34:33
|
显示全部楼层
IP:–广东–揭阳 电信
- esphome:$ L) m' a! t& v! ]' ^- `# f. i
- name: dsm1 ]) e1 y$ u' @8 T& p
- platform: ESP8266
0 y# H @( I1 L! O+ t - board: nodemcuv26 B/ I% X$ Q: ?; G
- 9 s+ ? O% E. B! @ y0 K3 N
- wifi:
4 Z( W# J, M9 E/ b4 K- u6 I% v2 F - ssid: "xxxxxxxxxx"
9 R- ?! W4 h' D; W- X l% @ - password: "xxxxxxxxxxx"
) I1 h$ l; C. E# } - 0 ^# N5 o: A' D9 q: V1 H# U1 A
- # Enable fallback hotspot (captive portal) in case wifi connection fails
' T* } F2 m% t& A1 x6 { - ap:0 h+ G* J1 D' [/ j* K8 g
- ssid: "nas66.com"
2 a& f( m7 M5 K - password: "nas66.com"+ a- m, O9 b& T3 {! T( ~& B# V
+ V% m+ o! R2 G4 P0 r- captive_portal:
) V4 F& u; M! `$ d4 N* Q
6 |2 P) B8 ~( ]/ E- M7 ?3 v/ l" u" Q- # Enable logging
* Y o! f) d5 z# {) x8 [ - logger:) d2 _$ B" R- [% E' v+ e* a
- ' v9 }9 J/ M- }; n6 c1 ^' V9 l
- # Enable Home Assistant API
( C* I( x' T7 i6 ^7 t3 t - api:& y% u- W, Y/ s* B5 k6 t! n
% r* c+ _$ D0 E2 H: v; G/ k- i2c:
( U" T4 ~) \; O. c+ n - sda: D24 F$ n9 M9 w; v; {1 x
- scl: D4
0 x- x% ~; E5 l- J( p# \
8 H5 G3 C" i7 y& F. q/ i- image:' u5 d/ y4 [ J. e7 W o
- - file: "logo.png"
1 P3 H/ q) [3 A* d# B2 E9 f4 p( x2 N - id: my_image
4 H: ?8 d2 W1 e7 [! v: D5 O - resize: 128x64
$ L+ g; ?- l: h0 M, c; ^7 ] - 5 ~0 U5 j1 b9 A
- time:4 N- N0 `9 D) z' r3 y
- - platform: sntp2 {4 w( E0 a) D, P2 ~7 K6 H
- id: sntp_time
: W% A3 w/ G- q1 z+ j v; W - timezone: Asia/Shanghai5 D/ e: m/ Q& n5 u7 a! |8 L/ y
4 K5 u# X# h+ ^4 I/ y4 {- display:
" }' K2 U$ O0 P# r( ]1 v+ v3 T - - platform: ssd1306_i2c* {1 f; v# ^" _: C
- model: "SSD1306 128x64"
# ?0 q5 ~0 k2 ~4 B7 U1 R8 q& }; p - id: "ssd1306"4 o8 b P3 N, G1 J& \4 z8 g
- reset_pin: D0
6 m2 ~7 l$ `) @/ K+ n2 m* M - address: 0x3C
, f5 j9 ]! X$ Y; @ - rotation: 180
2 ^( }# \) g1 U/ h9 K4 n - brightness: 30%8 d7 ]$ d N$ P, i9 k8 k% w! |
- , A$ ]/ D* Q1 B
- pages:
' Z! s" {! Q; Q, h. L - # - id: page1& z3 n5 G4 |$ G$ J- z8 C# n1 ~
- # lambda: |-, ?' e$ c6 I5 s; w4 W$ B: J
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");1 c' v1 x. |4 C1 l6 p) Q! U7 k% v
- 1 O. q" ?$ K/ X
- - id: page1. X9 L' ~ |+ G
- lambda: |-
x1 V" ^. L. b- t, S - it.print(47, 0, id(font2), "Info");' ~4 @ T: G& r6 N
- it.line(0, 22, 128, 22);: G0 q- D. H! c' ?0 i8 B. X6 C$ i
- it.line(0, 23, 128, 23);, Z z3 n# H& p1 H3 L) s- ^
- it.line(0, 24, 128, 24);
4 q+ ^" S' v3 }) p# Z- n( {% T - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);
+ t7 a, ]" U2 p! n. \
" M0 m8 F* e- E& A9 n- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);
0 f+ @8 d. ?6 Y r* k8 P' r - ; `% t# r, Z0 W; y
- # it.rectangle(0, 0, 128, 64);4 j( N/ V% n$ d$ t! z' c
- - id: page2& R w5 _3 f" {; M w2 Q0 R) V1 y4 v
- lambda: |-
& V' Y, [& V* z* t+ Z* o. A$ J - it.print(0, 0, id(font2), "Network Speed"); n P& {/ ?/ V; B q0 C
- it.line(0, 22, 128, 22);$ l* a7 i% C. z" V/ q
- it.line(0, 23, 128, 23);7 o4 u; w4 i. v: F1 {# K
- it.line(0, 24, 128, 24);
, S5 O, b9 t/ W- F6 M+ D- l - it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);( I6 l$ [! M6 u# N! j! S2 w$ _- E7 q
- it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
3 [6 n, S. H( P2 p d( J - - id: page3
8 L/ `+ k8 X+ }0 R - lambda: |-
! Z! n9 E( t7 s! M - it.print(24, 0, id(font2), "Disk State ");9 H5 H" [- M, A
- it.line(0, 22, 128, 22);
1 r* ^% X' Q0 g- E i) x; C# a9 y0 w8 T - it.line(0, 23, 128, 23);
7 H% N: \8 ~, q/ q: p - it.line(0, 24, 128, 24);/ F0 k6 p x! r; k1 C
- it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str()); X6 d4 z) }+ @' [' S3 A' L
- it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);; t8 Y1 V' `7 A% Z% C
7 M0 S+ e/ q0 o3 B: |! ?- # - id: page3: P% D. E8 z! i% _$ b
- # lambda: |-
' {' m0 n; u7 q2 j4 u' ]! j5 V- N5 W - # it.print(0, 10, id(font3), "WOW!!!");
3 u* @* A2 o$ z7 Q - # - id: page4- [0 }# e) a; X3 i- R& P1 v+ _
- # lambda: |-
0 X5 U. p2 ~9 i E/ {3 g - # it.print(0, 10, id(font3), "Fantastic!!");
# e, Z; m0 ~) _+ D4 _# M9 X, b - # - id: page53 N; T& f) b- a3 s: w! Z* |) p# j
- # lambda: |-
4 S6 H5 F" p7 S - # it.image(0, 0, id(my_image));
3 q0 m% C& _$ Q7 b: a- U - - id: showtime( G7 c3 d K. Y, Y* a
- lambda: |-+ D/ O1 f) I0 l5 c
- it.print(40, 0, id(font2), "Clock");' Q& E- _+ ]$ f
- it.line(0, 22, 128, 22);$ u: W. l8 G& d
- it.line(0, 23, 128, 23);
3 n9 K3 j7 C+ i$ V- @, G- y - it.line(0, 24, 128, 24);
# B' ~# m6 p# `$ L! Y: z - it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
7 l: O, y0 Y$ }7 G1 C - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now());
/ G* ~% V$ W. O: N* v* x - 0 ^* m& f8 u1 L' S5 e8 Q
8 s, i+ V& I0 }4 v1 X" k3 S- ota:+ m& B7 B- M' O) A' g; K
0 o0 v, N+ }1 k5 K, V E% U- sensor:
; P2 `( Q2 K. C- h* k, ~5 J - - platform: homeassistant
]$ b' Z5 @& R6 X! s! B# C/ m - name: "dsm load"
$ @0 ]- }" c2 R I+ O - id: "cpu"
+ _0 ?4 b, z! j4 d: h0 ~ - entity_id: sensor.synology_dsm_cpu_load_total K% u; T; C/ W u
- 7 O- E+ O( `: o6 b
- - platform: homeassistant8 A( e( e) S" L C' R
- name: "dsm down"1 M8 y# }7 y7 ]3 a) F- c5 e( I8 y
- id: "down"! i9 Z& O# f+ f4 \' W0 t1 ]
- entity_id: sensor.synology_dsm_network_down# M& k9 ]5 f& B7 p6 X& z6 u% L
- : k3 r0 [/ e7 \" f! v
- - platform: homeassistant
5 C( R+ U) J9 ] - name: "dsm up"
+ m1 w4 m' D+ a& u7 C X - id: "up"8 V$ R- Z9 ~% \8 S9 s* b
- entity_id: sensor.synology_dsm_network_up
5 {1 U, B$ @# Y+ N; H1 E ` - . w1 U3 t& F2 z6 [
- - platform: homeassistant) W* h& p4 l7 B x; d* N |4 c
- name: "memory total"
0 \! g0 C$ P# `9 w$ g - id: "memorytotal"
! k A1 v, H& d& R! _5 Z - entity_id: sensor.synology_dsm_memory_size
4 H1 H( |8 m5 f
' H0 `4 n0 s8 Z0 }- - platform: homeassistant+ M$ y: o1 s7 T+ C
- name: "memory usage"7 Q% A2 Z! P, k& R
- id: "memoryavailable"- ]2 h0 C6 G: y6 r
- entity_id: sensor.synology_dsm_memory_available_real. L5 m- h. @, {0 L# F
+ V. Y: n6 k E/ V" o" E- - platform: homeassistant0 Z/ O( ?$ G* G- R
- name: "memory usage"
; G @ h1 J! h: H/ a - id: "memoryusage"* z- n, G4 T3 d& K c
- entity_id: sensor.synology_dsm_memory_usage_real. F, a8 @6 N, s9 Y
- 0 Z, X+ `8 N6 A* m$ f! y% }
- R' Q/ V: z4 k4 ?4 d6 g- - name: "memoryused"
0 G7 h+ \- u; @- ]& I - id: "memoryused"
+ h7 g% v% b- }7 L) X - platform: "template"7 b* t/ B% J# D
- lambda: |-# E x/ }9 A; O& Z
- return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;
' m0 h. f8 Y O- J - update_interval: 30s) j% A9 O% v1 z$ `% l
! V3 o( N: | W! N+ O8 K0 x! T7 g1 J' @- - platform: homeassistant
# ~0 l5 k. u3 A, K - name: "sdatemperature"# x G d: o0 l1 G
- id: "sdatemp"/ D: m; f p' T J
- entity_id: sensor.synology_dsm_temperature_sda
% ?- v8 E5 r2 [; V
. y0 Y) |- l6 K& p7 O2 s
5 w. T) S0 J L$ C6 J7 t- text_sensor:- ^' O* |9 g$ ~* q7 r
- - platform: homeassistant
[, r" Z' s: i( V7 D - name: "sda total"8 e% t* L1 X% E ]0 a3 M1 {4 n
- id: "sdatotal"
. m0 A; z; O9 x" u/ W' J - entity_id: sensor.synology_dsm_total_size_volume_1
$ c$ m& E% g: a! Z+ G$ Q/ s - - platform: homeassistant c- x3 `: ]3 [+ v8 t
- name: "sda usage"; n+ Y6 c) |+ `# I. h
- id: "sdausage"& A4 o" P. G# ~& Y1 X( V7 H
- entity_id: sensor.synology_dsm_used_space_volume_1 " u+ a. a0 C0 P8 `1 Z7 V
- 0 i- r/ W, _8 w& D
- binary_sensor:
+ e# O" m! |+ Y! T5 d - - platform: homeassistant# N% R$ \' B5 ?& Y
- name: "sec") A0 f3 Z0 t& m3 g- G- ~' R
- id: "sec"8 ]; |( a* Y4 v" \- A
- entity_id: input_boolean.sec_office/ l6 F$ ` Z$ `3 K5 g- l3 x
* f2 u$ z$ l' S6 M- interval:
2 i; O3 ^+ X) `0 ]1 R* I) C4 A! g - - interval: 10s
) ~1 B/ ~, i% m! Q0 Q& Z" C - then:
6 j7 z" B9 j6 c - - display.page.show_next: ssd13068 k) r; q- t/ m, J' d
- #- component.update: my_display9 V/ m- @# z. m$ V* N
- font:
% U$ D- x7 I2 r9 u - - file: 'arial.ttf'
: {: `% e+ e( i7 h& r: H+ J! A - id: font1
' q/ ^5 r# H3 f& d G' ~# B* Z - size: 15
8 c: c- g2 q' T# n - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz". ?# h% L9 p7 Y3 M6 s
- - file: 'arial.ttf'
+ d. G2 x s+ l* [& O: o - id: font2
. R* \2 j# k& f/ D% w9 i - size: 186 @. }% [, w! G2 ?8 U
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"8 p- b6 e' Q6 r
0 [/ z9 D1 [: z/ o6 U2 i
! h! N7 G, p2 d- a. c# A3 P% R9 {; W- - file: 'arial.ttf'! V4 ?3 T. E- N/ M4 M+ ~
- id: font3
; J! ~" {! S3 ~9 q4 L8 @9 r - size: 23
) f0 ] H3 n k7 r% Z, ?9 ~' b - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑
; {5 Z" a$ t3 }8 f, u6 c. t
1 z) s5 J; g. P" w) g& n# v
0 H4 \5 {" r4 R0 F8 ~( x |
|