Tasmota: Wemos D1 mini MQTT ์ฃผ์ œ์—์„œ AnalogA0 ์ž…๋ ฅ ๊ฐ’์„ ์ถ”์ถœํ•˜๊ณ  Home Assistant์—์„œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•

์— ๋งŒ๋“  2019๋…„ 03์›” 17์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: arendst/Tasmota

Wemos D1 mini์— ์ตœ์‹  ๋ฒ„์ „์˜ Tasmota๋ฅผ ์„ค์น˜ํ•˜๊ณ  AnalogA0 ์ž…๋ ฅ ๊ฐ’์„ ์ฝ์–ด์ฃผ๋Š” ADC ์Œ์„ฑ๋„ ์ฃผ์„์„ ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ 0์—์„œ 1024 ์‚ฌ์ด์˜ ๊ธฐ๋ณธ ํŽ˜์ด์ง€์—์„œ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

09:14:01 MQT: tele/wemos_3/STATE = {"Time":"2019-03-17T09:14:01","Uptime":"0T00:40:20","SleepMode":"Dynamic","Sleep":50,"LoadAvg":38,"POWER":"OFF","Wifi":{"AP":1,"SSId":"In_medio_stat_virtus-2GHz","BSSId":"A0:63:91:E0:A4:87","Channel":1,"RSSI":98}}
09:14:01 MQT: tele/wemos_3/SENSOR = {"Time":"2019-03-17T09:14:01","ANALOG":{"A0":1024}}

์ฝ˜์†”์— ๋“ค์–ด๊ฐ€๋ฉด 5๋ถ„๋งˆ๋‹ค ์ƒˆ๋กœ์šด MQTT ์ฃผ์ œ๊ฐ€ Analog ๊ฐ’์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ’์„ ๊ฐ€์ ธ์™€์„œ Home Assistant์— ๋ณด๊ณ ํ•˜๊ณ  ๋ณ€ํ™˜๋„ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ฒ˜์Œ์—๋Š” ์ด ๊ฐ’์„ ์ถ”์ถœํ•˜์—ฌ ํ™ˆ ์–ด์‹œ์Šคํ„ดํŠธ์— ๋ณด๊ณ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์ฝ”๋“œ์ด๋ฉฐ ํ™•์‹คํžˆ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

sensor:
  - platform: mqtt
    name: "Plant Humidity"
    state_topic: "tele/wemos_3/SENSOR"
    unit_of_measurement: '%'
    value_template: "{{ value_json.A0 }}"

๋˜ ๋‹ค๋ฅธ ์งˆ๋ฌธ์€ 1024๊ฐ€ 100%๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  0์—์„œ 100% ๋ฒ”์œ„์˜ ์ด ๊ฐ’์„ ํ™ˆ ์–ด์‹œ์Šคํ„ดํŠธ์—์„œ ์ง์ ‘ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ๋‚˜๋Š” ์ด๊ฒƒ์— ๋งค์šฐ ์ดˆ๋ณด์ž์ž…๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ์•„๋‚ ๋กœ๊ทธ ์ž…๋ ฅ์€ ํ† ์–‘ ์ˆ˜๋ถ„ ์„ผ์„œ์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ Wemos์— ๋ถ€์ฐฉ๋œ ๋ฆด๋ ˆ์ด ์‰ด๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆด๋ ˆ์ด๋ฅผ ์ผœ๊ณ  ๋Œ ๋•Œ ์•„๋‚ ๋กœ๊ทธ ๊ฐ’๋„ ์•ฝ๊ฐ„ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค(์˜ˆ: 1024์—์„œ 1018๋กœ ๋ณ€๊ฒฝ๋จ). ์ •์ƒ์ธ๊ฐ€์š”?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚ด ์˜์–ด์— ๋Œ€ํ•ด ์ฒœ ๊ฐœ์˜ ์‚ฌ๊ณผ. ์ €๋„ ๊ฐ™์€ ๊ณ ๋ฏผ์„ ํ•ด์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

value_template: "{{(value_json ['ANALOG']. A0 | float * 100/1024) | round (1)}}"

๋”ฐ๋ผ์„œ jinja ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์œ ์‚ฌํ•œ ํŒ๋…๊ฐ’์„ ๋ฐฑ๋ถ„์œจ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

A0์ด ์•„๋‚ ๋กœ๊ทธ ์•„๋ž˜์— ์ค‘์ฒฉ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ value_json.ANALOG.A0 ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์งˆ๋ฌธ์€ ํ™ˆ ์–ด์‹œ์Šคํ„ดํŠธ ์ง€์›์— ๋Œ€ํ•œ ๊ฒƒ์ด๋ฉฐ, jinja ํ…œํ”Œ๋ฆฟ์„ ํฌํ•จํ•˜๊ณ  tasmota ์˜์—ญ์„ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ๋‹ต๋ณ€๋œ ๋Œ€๋กœ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.


์ง€์› ์ •๋ณด( ๊ฐ€์ด๋“œ )

์ž์„ธํ•œ ๋‚ด์šฉ์€ Wiki ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
๋” ๋งŽ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์€ ์ฑ„ํŒ… ์„ ์ฐธ์กฐํ•˜์„ธ์š”.
ํฌ๋Ÿผ์€ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
ํ–‰๋™ ๊ฐ•๋ น ์ฐธ์กฐ

๋‚ด ์˜์–ด์— ๋Œ€ํ•ด ์ฒœ ๊ฐœ์˜ ์‚ฌ๊ณผ. ์ €๋„ ๊ฐ™์€ ๊ณ ๋ฏผ์„ ํ•ด์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

value_template: "{{(value_json ['ANALOG']. A0 | float * 100/1024) | round (1)}}"

๋”ฐ๋ผ์„œ jinja ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์œ ์‚ฌํ•œ ํŒ๋…๊ฐ’์„ ๋ฐฑ๋ถ„์œจ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰