|
|
楼主 |
jakc
发表于 2020-6-25 12:34:33
|
显示全部楼层
IP:–广东–揭阳 电信
- esphome:
! A7 M) L) o% r5 _+ G! ? - name: dsm( Q; N: i) ^- k) u7 O
- platform: ESP8266
% o# x- \$ P, j2 x; o1 I: ` - board: nodemcuv2
. w0 Z1 x% a& T- S d" y
8 a# L: m* T7 a8 _* n- wifi:2 m; u5 }9 l% f+ m! K0 o
- ssid: "xxxxxxxxxx"
# l7 u6 e( i' K* q3 R$ M - password: "xxxxxxxxxxx"$ e' ^" G" k2 x1 A" l
- # G6 v; `; P' s) a
- # Enable fallback hotspot (captive portal) in case wifi connection fails. ]; T8 i" ^: P! S% @6 x
- ap:
# u8 b! V% {2 _/ _# S4 h - ssid: "nas66.com"
2 C* F3 w5 F; `6 i6 H - password: "nas66.com"
5 Y4 r& @" l, z* |8 h
9 ?% K7 v3 w5 k! C- captive_portal:, V; g% @4 @# ~# i" j. r
- ! d& Y$ [8 B, G8 C; h
- # Enable logging
! R# e7 Q' L- P/ i - logger:5 m1 d+ k+ R$ i# u* p+ D1 L
- 1 I. |% X; w6 R
- # Enable Home Assistant API
- V( w0 m5 [! c. `. H1 e: p - api:
- }, H8 @3 v6 }9 n( V - ' K! s4 Y: B# t
- i2c:
1 f) K' h( }4 X/ G; ` - sda: D2. @5 Q& r* t) F- X4 C
- scl: D48 M B* b: G; v3 I. f1 [* U
5 q# d) n% _3 \% B3 p- y) @- image:" t9 u3 Y( P# Z8 g) R* ^
- - file: "logo.png"
- Y& i3 E- R' z# e3 O* L& G0 p - id: my_image
7 s. \% N4 s: z6 Q3 @4 z! b( C$ H" A - resize: 128x648 k6 ^9 U6 h! ^/ c, C' v# K
- ?7 O- g# ^9 V6 F% y- time:
5 U( `. N- T2 N: z+ j - - platform: sntp9 o! A, h% R- d: {9 w% Y& ^
- id: sntp_time
0 J4 ]% s* O7 t" D - timezone: Asia/Shanghai5 E& d8 j" a0 m# x2 |4 ~( {
- $ o$ n# _2 X+ R; t8 E+ C+ q9 k
- display:
* r5 M; z; M( z5 W! s/ h - - platform: ssd1306_i2c3 Z1 x9 z' y4 S& l) k
- model: "SSD1306 128x64"
0 K7 U9 D( i9 `" P! v( ]& r2 r8 t" V - id: "ssd1306"
7 r6 n, Z+ D1 U- v7 P% `+ { - reset_pin: D0
; `. _' o/ A% w - address: 0x3C
4 V2 O# {6 A; K+ h# O/ k - rotation: 180, X; M2 p2 r8 P4 V1 k6 H) g
- brightness: 30%
; `7 F# j6 b) O/ \/ X/ R, @; \5 f. z
f/ x0 J2 Z& E8 w9 j- pages:: }1 p( O0 s, q( L, c; h
- # - id: page1
* H+ g8 O4 D+ v; g( S1 _. v* h - # lambda: |-! d' B1 f: N; A! S
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");( _3 \' J* ^; Q0 Q( p9 t
& ^, M% k# F# J2 I9 v5 T5 G0 A- - id: page1
' a% e, g0 t; Y - lambda: |-
. |0 I Z3 ?* I( [$ _ - it.print(47, 0, id(font2), "Info");
7 S$ s9 x( y" M1 n+ N - it.line(0, 22, 128, 22);
- D( W q6 `4 Z1 _6 j- k; G# W/ ?3 Y - it.line(0, 23, 128, 23);
. k$ g$ d% a2 L( Z# n - it.line(0, 24, 128, 24);
4 a. S6 e& a, b: G# m: i* f; f - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);* ]' z: {- @8 U/ R7 B3 {
- 6 f, u- ~4 F- m
- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);
7 W: j* p/ w% P) U, F -
! n, K& N7 u' _+ Y( x6 ] - # it.rectangle(0, 0, 128, 64);
5 C' B3 y5 X. M6 q* J2 Y3 v - - id: page2
9 K0 ~- `* n9 D. x( z% @ - lambda: |-
8 O( e o' l" S% M8 q7 i - it.print(0, 0, id(font2), "Network Speed");
7 l$ n' v3 s/ Q$ }- F$ C+ d - it.line(0, 22, 128, 22);# W; w `+ H( M" l5 ^, s3 ?
- it.line(0, 23, 128, 23);8 z( M4 ]* N) n; j
- it.line(0, 24, 128, 24);
; n- N& D$ ?; G$ z ?4 M - it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);# A" v. l. t0 z! i: [+ j$ z$ f
- it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
- b& a$ L l( }7 q' U+ p8 u1 J - - id: page3
/ L. D- ~( O# j# v+ e - lambda: |-$ v0 c+ Q0 v4 Z9 G9 L$ b
- it.print(24, 0, id(font2), "Disk State ");
+ H3 I8 m0 q' R2 R - it.line(0, 22, 128, 22);
& u$ X- H# c. a0 ^. ` - it.line(0, 23, 128, 23);
6 I& u/ Y( X) q! b - it.line(0, 24, 128, 24);8 g- _8 x5 m y5 T! p1 d
- it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());
( R2 f% O, V, h0 H$ Y6 |; W - it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);; @2 j' F( t7 q5 F" s# c/ v
! r0 Y E: h5 G- O- # - id: page37 X8 [5 Q; ^/ w5 A* w
- # lambda: |-
! B% A Z! q2 |$ E$ ] - # it.print(0, 10, id(font3), "WOW!!!");
% i- i9 z4 E5 o, ]( n - # - id: page4# I/ I+ C5 d: K e& w$ X _
- # lambda: |-
7 B! d. {8 U+ q' D+ Y1 j$ K ]4 } - # it.print(0, 10, id(font3), "Fantastic!!");
2 H. R/ G7 [; s4 K9 u1 x - # - id: page5$ t! K5 m3 ?8 {/ @
- # lambda: |-5 G8 d- G7 y2 [
- # it.image(0, 0, id(my_image));( H7 E2 M8 k; T
- - id: showtime4 _9 \9 X+ Z9 r8 o4 V, t
- lambda: |-
3 @; E7 Q' s9 d - it.print(40, 0, id(font2), "Clock");
) K3 f0 k0 i, o6 t - it.line(0, 22, 128, 22);
: \2 S2 ~; |/ D$ x" g - it.line(0, 23, 128, 23);
) q- Y6 o% s+ ~; z4 H - it.line(0, 24, 128, 24);
) i9 P5 y# }% k! T' G+ n9 J+ W2 d) h - it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
8 U$ f9 s2 [" A: f - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now()); / u4 Z8 W) J7 V
- ( U7 Q4 r- D/ r+ | `
- ; S; k$ i& G; C l
- ota:
& j' n$ I( M# t+ A - 4 p: B N3 W* s# u# x
- sensor:
4 t2 X9 Y% u( P) O - - platform: homeassistant
. ^* j; F6 b# ` - name: "dsm load"' N7 n) ?1 x1 R1 O) ^
- id: "cpu"
0 |; F9 j6 c! i2 T - entity_id: sensor.synology_dsm_cpu_load_total
3 k, l" x1 `1 R& A5 R
& d8 C) Y# r- A$ f- U+ d& _* D' }- - platform: homeassistant
5 C8 N9 Q+ }+ K' y% O - name: "dsm down"+ f, L& R2 m9 Q9 o7 R6 X5 m
- id: "down"
+ b- R7 r( R) D - entity_id: sensor.synology_dsm_network_down1 d8 r7 z/ @' U* m. l
$ N! I, r- Y5 k* m& Q: u9 M- - platform: homeassistant$ }/ k: ~2 q5 q5 e7 e3 i
- name: "dsm up"$ _9 b3 x* e m
- id: "up"
2 p5 g4 g, {+ }" L' X; C, H - entity_id: sensor.synology_dsm_network_up) q3 F! x; J* P9 v- K
; {0 F9 {5 I& u( g- - platform: homeassistant8 X) D$ ~& i3 u4 j- \0 |5 F3 R. \
- name: "memory total"
: I- H0 S, w! H' W - id: "memorytotal"! x, n) U, y' h7 U
- entity_id: sensor.synology_dsm_memory_size
7 L% f& N, s. S/ D( |. T
& f2 Z& H7 _, D9 |- - platform: homeassistant8 [- m% m5 c( v& V
- name: "memory usage"
# ~! d$ Q) Q W5 b% @8 y - id: "memoryavailable"
0 b2 @& ^$ g. j$ s9 D! _ - entity_id: sensor.synology_dsm_memory_available_real
# |! b& `+ y) \$ R$ v - 7 t2 S4 `" O4 V; J' b
- - platform: homeassistant! c0 O6 t* o" m2 p
- name: "memory usage"( A, x. T5 ?6 V e/ Y
- id: "memoryusage"
/ H F* C/ n4 C/ p+ j - entity_id: sensor.synology_dsm_memory_usage_real
2 Q2 C ]) n% ^, g# i" v - . C: |# Z% y5 a2 @# W- K9 d" z
- 8 A+ C3 n4 p m: i e
- - name: "memoryused"
4 I1 U+ @# x! H1 N/ @. u, o$ O5 w - id: "memoryused"4 Q. B* a. o. e, D0 c
- platform: "template"
0 |/ l. V' w0 v% T0 b - lambda: |-$ _- Y1 Q9 f8 r8 E& l
- return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;
* p; x4 k0 `- f/ w7 V2 g" p# X - update_interval: 30s
4 C' }( `. k4 k5 E - + y+ ]* |# d. c4 A3 B* ?8 B x
- - platform: homeassistant$ |' @9 X* \7 ]& R) y
- name: "sdatemperature"$ U7 l6 R* [" T& `. m
- id: "sdatemp"
" N0 O; I, g/ a% ^& M: F - entity_id: sensor.synology_dsm_temperature_sda
8 s( z- o8 U2 V K5 c9 O2 v5 o - + {3 ]" x7 L( Z" c) k: Z4 M; x
- / B4 |. ] X4 L
- text_sensor:
% z. B/ P& g- f4 o - - platform: homeassistant6 y1 @- {. u, h1 L
- name: "sda total"
6 r% l3 C- D9 r' y3 }) `; k - id: "sdatotal"
: B, [- M, T: z - entity_id: sensor.synology_dsm_total_size_volume_1( k T" P' D6 K9 k A; A+ c
- - platform: homeassistant
. x" q5 m1 `4 ]& e- C* I6 | - name: "sda usage". Z+ ]# m. k0 Q# `0 I4 i. e
- id: "sdausage"/ p. E6 v. Z% Q B+ C; O4 ^2 {% U
- entity_id: sensor.synology_dsm_used_space_volume_1
$ k# l7 ~5 t4 s0 V4 ]# |0 b1 T: S$ ^
5 g0 m1 ^7 k6 _, c0 t, ~& r- binary_sensor:
% \; f4 i+ J$ s+ e - - platform: homeassistant
' g& @7 C/ Z ~: Q0 l2 l8 h6 [/ F - name: "sec"
5 v7 f. f1 P# N& A - id: "sec"
5 U% {7 p$ H* ` @ - entity_id: input_boolean.sec_office5 a; g, d" ^5 c1 P5 K
- 8 a6 U; ^- p h4 i( m
- interval:
\* v- r6 K2 _) B, q8 J - - interval: 10s6 a: j: D# v: F6 k5 I1 }& h
- then:0 l L5 F/ n* b3 z" c6 k# z
- - display.page.show_next: ssd1306
% i" G) `- p: ? - #- component.update: my_display
- \6 B' Y. u" O6 p b* _% Y - font:) y7 a7 [! o5 E1 P
- - file: 'arial.ttf'4 r7 m) p: x& B6 m1 ]5 i8 T9 e# `4 q( L
- id: font16 s: n4 n0 Z) {
- size: 15
- z- ?* I+ [& _1 r/ l/ ~+ e5 O - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
7 w" t6 a6 H1 V( Z - - file: 'arial.ttf'
3 B8 i! E ^5 Q! \ a* n - id: font2
! q9 k8 B f; I" I p, n( y8 L8 ? - size: 18. s) ]+ k7 q7 q1 g! s! [8 h
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"% N% F; {0 W0 B1 O0 R( o7 o
4 s( i3 V7 c) N+ ~2 f% d: Y; A% m- u- ) f$ J b) p0 H
- - file: 'arial.ttf'
3 x5 ~% |2 X5 F - id: font3
. `! s/ w% I1 F - size: 23
. y' z/ s. i! K F( q$ \. e - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑
4 t' }$ H, a. {% e0 J; M5 z4 m2 H9 h+ I Z) ~
5 s/ X7 V$ o' P I5 H4 K! E' i+ h
|
|