|
|
楼主 |
jakc
发表于 2020-6-25 12:34:33
|
显示全部楼层
IP:–广东–揭阳 电信
- esphome:
4 f) B6 w5 z$ M) L, F( G$ m - name: dsm* h1 j0 ]* d0 Z3 v) W4 \
- platform: ESP8266
8 |) t9 U9 B9 z6 x - board: nodemcuv2
" M( b/ N# O; n0 i# v - # v$ f' U+ z7 e5 O B/ V
- wifi:% c$ i9 \/ i& c3 g: O' N; {+ `
- ssid: "xxxxxxxxxx"8 z2 O; A) p4 T
- password: "xxxxxxxxxxx"
5 E5 c0 D8 X4 ~% N
- i/ y8 x% }) Q- # Enable fallback hotspot (captive portal) in case wifi connection fails
. L. X. G# u: t# T6 e" L - ap:% {3 L& Q% O& D0 `: x s
- ssid: "nas66.com"/ b3 y( u# H' i
- password: "nas66.com"
/ `$ c3 o% r# C - 3 l! p4 V6 K a! [" N: H
- captive_portal:
4 B. V" f9 \% `$ Y - 2 B& q5 Z. V) {# E( h( \9 B6 V6 x
- # Enable logging
# M) s* y) Q7 f# ?7 d8 v3 d - logger:
0 m' f' q& y! O& l# ^, S7 ~ - 4 V- b2 a# T0 P9 [1 U" ], O
- # Enable Home Assistant API7 r0 D; V5 X6 |, p% D; J8 h
- api:
" s6 M+ B& E8 ^- M' K
7 [. ?) ]* X1 I3 Z+ T( U. k- i2c:
$ D @( V5 I% f - sda: D2
2 S0 e9 O& \# O" y/ I5 O# E - scl: D4
# {8 v, [: N) @- V
2 X' b0 h0 J( w4 D z7 |- image:$ e3 a/ q$ O' h% p- |
- - file: "logo.png"! C5 K1 b1 p! |& b+ }
- id: my_image4 ~: [% l$ j) ~/ A
- resize: 128x649 A# c( e& e8 X) o( E* p
# L# y- g; g; Q5 Q! j- time:% y2 t( y: M5 ]: h6 d
- - platform: sntp- I3 \& N0 {" A# y6 L! D2 M7 P
- id: sntp_time8 n$ N; O! k& J+ D; Z
- timezone: Asia/Shanghai
) l0 @% A' Q/ H- \+ \
+ A6 Y4 U0 O" N) a( U9 \5 \4 G- display:
; D c5 F- ?3 l. t) D: e! D5 X - - platform: ssd1306_i2c
4 F; K/ G7 C! P# @" u \ - model: "SSD1306 128x64": b4 P% g a4 ^) W/ e
- id: "ssd1306"
; K |+ t) T: g r) O$ T8 Y+ B8 E - reset_pin: D0& a! X2 j, B( q$ H+ s
- address: 0x3C( g( U7 }! e8 r/ K
- rotation: 1804 Q, Y' o. m; m$ d, _, X
- brightness: 30%" [! @8 ~; \9 {3 I% v
& m9 C7 R5 Q+ J$ g- pages:4 ^9 e2 `* j) t+ t# f q% k i
- # - id: page1; x3 Y5 _5 \6 ~
- # lambda: |-' K! \. I8 _6 T; H4 e
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");9 ` N5 S. a7 p y
: `) m7 u5 t' I/ ~- - id: page16 W8 C" w6 w& P, d# m( {
- lambda: |-
( r, x- @/ m c/ g [ - it.print(47, 0, id(font2), "Info");
1 v R+ ^9 s3 {2 H) W - it.line(0, 22, 128, 22);/ ~4 O; z+ I) f; g* {" U
- it.line(0, 23, 128, 23);' D) X! q/ C8 a, `, _
- it.line(0, 24, 128, 24);
/ T+ t9 F9 q# B - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);
/ p( y- W1 z) Z9 D
; C/ Y8 D4 v- L- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);% m! I1 p" u2 d0 s* n3 b
- ) y# J4 K3 I) X; e) Y5 v- M9 Q+ Z
- # it.rectangle(0, 0, 128, 64);8 @' G$ Q* |" t, ~ {1 p
- - id: page2, U9 g% q. A% f
- lambda: |-
! _. N+ P0 K# E - it.print(0, 0, id(font2), "Network Speed");2 Z9 s- x5 f+ u& O; j \
- it.line(0, 22, 128, 22);# B* J& b1 d' G+ ], D# E I3 X$ k
- it.line(0, 23, 128, 23);; k, j8 i7 @0 T) \1 K) e
- it.line(0, 24, 128, 24);
8 g- M+ P9 A0 B: I/ X, f, a - it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);0 E' @5 c% Q- e+ E
- it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
. s) C C2 p; z% Q - - id: page3
* k. A" _" `9 N8 p% \ - lambda: |-
5 h% c: h' }( k8 G6 ? - it.print(24, 0, id(font2), "Disk State ");
/ c' _1 L' R: m$ S8 L - it.line(0, 22, 128, 22);2 ]& N. P* D" A1 ^' S4 w7 T
- it.line(0, 23, 128, 23);: k1 a* |7 z0 D# t# W$ z' p
- it.line(0, 24, 128, 24);4 b- `6 d1 b2 i+ Z
- it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());% C- @) D1 v, ]: w# u, C: R
- it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);' `7 ~5 l' X' i D1 s0 |
- # T4 m0 F" x% _' X8 b e5 G* w6 s
- # - id: page3
8 C V2 s1 j/ R4 O - # lambda: |-7 _: L% f& ]- U$ v/ S/ R8 a1 c# L
- # it.print(0, 10, id(font3), "WOW!!!");. F, C/ v+ P9 Z. V( |
- # - id: page4: v8 L9 p L$ s# H/ S+ |# [& M A+ H
- # lambda: |-! B/ k# v. F I: X
- # it.print(0, 10, id(font3), "Fantastic!!");
g, v/ t5 m! X - # - id: page5
, A; y y" M& i+ {1 l# B - # lambda: |-. T& k' [( Z. P2 u" d
- # it.image(0, 0, id(my_image));
; N( O( F9 G7 _5 w* V - - id: showtime
3 E9 f' ~; m0 K$ J - lambda: |-! M& G' }, ^- r/ y. \- _3 B/ p O
- it.print(40, 0, id(font2), "Clock");
( Y% E- K' ~- B0 p5 _/ { - it.line(0, 22, 128, 22);+ M, l5 ]. X1 Q/ z; k! w3 ^6 G
- it.line(0, 23, 128, 23);1 k* L( E+ s# r% B9 @
- it.line(0, 24, 128, 24);& ], V% a. U8 b8 s9 \5 V/ Y
- it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());! R( b: m0 e% g2 o2 n
- it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now());
/ T( l! w) u: z, k% R
5 Z8 s5 A: S1 Y- 5 {9 Q) S# j4 N- w
- ota:) {+ {+ l/ f1 d2 l" S/ a
G: @$ ]% q: V9 G3 c& n3 U" l6 l- sensor:7 g3 J0 K6 J/ A" L* h2 \! k
- - platform: homeassistant2 O& A: l# y' s8 ^+ |
- name: "dsm load"
. M% t2 T6 a- u" Z. `, ^4 } - id: "cpu"
. n( v) w( s; Q# K: d - entity_id: sensor.synology_dsm_cpu_load_total0 h/ i& N" F) R+ L( I
- ) D( I- ?9 g0 w$ @! d
- - platform: homeassistant# J/ D9 O7 |- A. u. c- ^9 p/ \6 z
- name: "dsm down"
( I( `8 b, L" w) ^6 D* q - id: "down") r! p6 m1 F8 V" F, T
- entity_id: sensor.synology_dsm_network_down8 f0 [2 q7 S6 o$ Z
- 7 g: h- v0 T1 ?3 k8 L' U
- - platform: homeassistant
5 t8 d8 i1 V$ V3 U2 S+ k - name: "dsm up"+ T C- m( P% b, _
- id: "up": y- F. p0 W; b
- entity_id: sensor.synology_dsm_network_up- Q9 P0 q& x% l/ s
$ Q. w. R) y2 ^# h- - platform: homeassistant1 F" t: ^: L0 n& n
- name: "memory total"4 O, U6 X! r8 i: x
- id: "memorytotal"
0 t( q0 P: |5 P: g6 @7 i2 Z - entity_id: sensor.synology_dsm_memory_size6 k V0 C/ o6 j2 v
- ! r! Z6 d9 ^: @7 a" z( q8 [
- - platform: homeassistant
" I3 P- Y `! ]" i8 \, @ - name: "memory usage"
+ [, a5 D# q; F) O3 k( G - id: "memoryavailable"* y7 \8 p _( E1 @5 O& K+ d
- entity_id: sensor.synology_dsm_memory_available_real: z6 e* p! H, W2 C$ c8 E/ ?3 n. y
$ u! q% m" \. J+ r& g- - platform: homeassistant
5 d# l/ V/ `7 u - name: "memory usage"
) G0 |1 H. P" @* T) ~ - id: "memoryusage"
! m, J, o* ^ l7 } - entity_id: sensor.synology_dsm_memory_usage_real
5 n2 z: g) ?+ u% W. o+ G
% H# L/ Z# W; S5 O- I- # b* v5 W2 z& l# I; z5 T7 |4 W
- - name: "memoryused"8 x* W X! ]/ `0 k( T
- id: "memoryused"7 K: n$ W" w' Y; H) @, }
- platform: "template"
8 n( M, O; q& i2 M' F - lambda: |-1 e# b0 k) R/ [' b$ N
- return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;% a _ [. K4 T# i6 C% z8 U
- update_interval: 30s
W" }% E$ ?. E - : }$ q) ^2 I; b8 m/ T9 l$ l
- - platform: homeassistant
* h' u2 i5 |. r8 K, w" ^ - name: "sdatemperature"
! v3 e# [% l# w0 }+ ] - id: "sdatemp"
, e1 K# c% z+ ]' b8 w - entity_id: sensor.synology_dsm_temperature_sda
6 Z3 G, P* |$ [+ N2 V4 ^: V
& C2 P2 c, i2 n/ P+ A4 d1 H- 4 c3 g& M/ x: E, q
- text_sensor:$ D" J; V3 f0 d4 P1 a
- - platform: homeassistant
3 F: o! K* B# K" t l! R: \ - name: "sda total"6 E* x# h: W+ q
- id: "sdatotal"
* Q( [$ w0 i& _! n( W - entity_id: sensor.synology_dsm_total_size_volume_1
, @# N7 `. o$ W' I' i' G- `8 R - - platform: homeassistant# l6 [# M- `7 L+ ^5 r4 N2 U
- name: "sda usage"
, n" Y; w1 ~" {, }, T q% Y) w - id: "sdausage"$ V* x: w& j. u+ k8 y
- entity_id: sensor.synology_dsm_used_space_volume_1 5 d/ K. `1 y, s3 h2 a, H4 v
- $ U. L0 M2 Q- w# |0 C* k0 Z; {
- binary_sensor:
! t4 e6 y) K8 t4 L, ?2 c - - platform: homeassistant/ {! d* E7 J; J
- name: "sec"
3 B6 H% O+ `1 |2 w) i0 u5 S - id: "sec"- e8 p9 ~' [; n
- entity_id: input_boolean.sec_office
% M3 @3 _" A0 Y, b - 0 ~9 e% r$ v( U! L; \7 b$ B
- interval:$ a$ y- p, X0 [( K: @2 m
- - interval: 10s
) k& i& b* A, j1 ?- M" i - then:
9 p& t L5 S9 w+ X" F! l - - display.page.show_next: ssd13064 _1 N5 x6 Y1 {
- #- component.update: my_display
' l- G: Y$ U' x5 a g* A* d2 s - font:: {9 `) Y5 Y- z
- - file: 'arial.ttf': w9 h. ~2 |3 s( C1 Q( V3 a
- id: font1
) I. t t: ^/ d2 Z7 f - size: 15
1 x: x; g S! _6 l6 m - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"! N; r v' [4 _7 Q& F# g
- - file: 'arial.ttf'1 m, c& j' i6 d4 k7 }0 o
- id: font2
7 C. I4 o0 N% G! u( e - size: 18
5 n3 p! V: n* Y - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"' |' C; K/ V Q
- 1 N, B: X3 [; U) q# Z$ A
- 3 B- s4 C( ? `2 \* l* ~$ ]& L
- - file: 'arial.ttf'7 i. I1 `" e1 d- `& r' Z
- id: font3- A. |9 J6 |! l n% `: v! P
- size: 235 t& ~! Z# u& d1 R9 c$ t, H
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑
' B0 I( D1 l3 D2 \( J
7 M0 f/ G& y3 {* N
' T4 S- J0 Q+ V' D5 U2 U; e+ [ |
|