Π£ΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌ: Π‘Ρ‚Ρ€ΠΎΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ потрСблСния Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства Π² Home Assistant

Π£ΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌ: Π‘Ρ‚Ρ€ΠΎΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ потрСблСния Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства Π² Home Assistant
ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· получая ΠΏΠ»Π°Ρ‚Π΅ΠΆΠΊΡƒ Π·Π° элСктричСство ΠΈ Π²ΠΎΠ΄Ρƒ я ΡƒΠ΄ΠΈΠ²Π»ΡΡŽΡΡŒ β€” Π½Π΅ΡƒΠΆΠ΅Π»ΠΈ моя сСмья ΡΡ‚ΠΎΠΎΠΎΠΎΠΎΠ»ΡŒΠΊΠΎ потрСбляСт? Ну Π΄Π°, Π² Π²Π°Π½Π½ΠΎΠΉ установлСн Ρ‚Π΅ΠΏΠ»Ρ‹ΠΉ ΠΏΠΎΠ» ΠΈ Π±ΠΎΠΉΠ»Π΅Ρ€, Π½ΠΎ вСдь ΠΎΠ½ΠΈ ΠΆΠ΅ Π½Π΅ кочСгарят постоянно. Π’ΠΎΠ΄Ρƒ Ρ‚ΠΎΠΆΠ΅ Π²Ρ€ΠΎΠ΄Π΅ экономим (хотя ΠΏΠΎΠΏΠ»Π΅ΡΠΊΠ°Ρ‚ΡŒΡΡ Π² Π²Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΠΆΠ΅ любим). НСсколько Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ я ΡƒΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ» счСтчики Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства ΠΊ ΡƒΠΌΠ½ΠΎΠΌΡƒ Π΄ΠΎΠΌΡƒ, Π½ΠΎ Π½Π° этом Π΄Π΅Π»ΠΎ Ρ‚Π°ΠΊ ΠΈ застряло. Π”ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° потрСблСния Ρ€ΡƒΠΊΠΈ дошли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСйчас, ΠΎ Ρ‡Π΅ΠΌ, собствСнно, Π²ΠΎΡ‚ эта ΡΡ‚Π°Ρ‚ΡŒΡ.

НСдавно я ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» Π½Π° Home Assistant Π² качСствС систСмы ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°. Одной ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π±Ρ‹Π»Π° ΠΊΠ°ΠΊ Ρ€Π°Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ сбор большого количСства Π΄Π°Π½Π½Ρ‹Ρ… с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ построСния Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ².

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ описанная Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π΅ Π½ΠΎΠ²Π°, всС эти ΡˆΡ‚ΡƒΠΊΠΈ ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ соусами ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ описаны Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°Ρ…. Но каТдая ΡΡ‚Π°Ρ‚ΡŒΡ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, описываСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΠ»ΠΈ аспСкт. Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ всС эти ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ самому. Π‘Ρ‚Π°Ρ‚ΡŒΡ всС Ρ€Π°Π²Π½ΠΎ Π½Π΅ Π΄Π°Π΅Ρ‚ ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ сбору Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ являСтся своСго Ρ€ΠΎΠ΄Π° конспСктом Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ сдСлал я. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ конструктивная ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ° ΠΈ прСдлоТСния ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

Π˜Ρ‚Π°ΠΊ, Ρ†Π΅Π»ΡŒ сСгодняшнСго упраТнСния Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ красивыС Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ потрСблСния Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства:

  • ΠŸΠΎΡ‡Π°ΡΠΎΠ²ΠΎΠΉ Π·Π° 2 дня
  • ΠŸΠΎΡΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Π·Π° 2 Π½Π΅Π΄Π΅Π»ΠΈ
  • (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ) ΠΏΠΎΠ½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ помСсячный

Π’ этом нас ΠΏΠΎΠ΄ΡΡ‚Π΅Ρ€Π΅Π³Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слоТности:

  • Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, вСсьма ΡƒΠ±ΠΎΠ³ΠΈ. Π’ Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ.

    Если Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠΈΡΠΊΠ°Ρ‚ΡŒ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ сторонниС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ возмоТности стандартного Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. Для home assistant, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π½Π΅ΠΏΠ»ΠΎΡ… ΠΈ красив ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ mini-graph-card, Π½ΠΎ ΠΈ ΠΎΠ½ нСсколько ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½:

    • Π‘Π»ΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ столбикового Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ°Ρ… (ΡˆΠΈΡ€ΠΈΠ½Π° столбика задаСтся Π² долях часа, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ Π΄Π»ΠΈΠ½Π½Π΅Π΅ часа Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ числами)
    • НСльзя Π½Π° ΠΎΠ΄ΠΈΠ½ Π³Ρ€Π°Ρ„ΠΈΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сущности (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ ΠΈ Π²Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΈΠ»ΠΈ столбиковый Π³Ρ€Π°Ρ„ΠΈΠΊ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ с Π»ΠΈΠ½ΠΈΠ΅ΠΉ)
  • Мало Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ home assistant ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠ°ΠΌΡƒΡŽ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… SQLite (Π° я, Ρ€ΡƒΠΊΠΎΠΆΠΎΠΏ, Π½Π΅ осилил установку MySQL ΠΈΠ»ΠΈ Postgres), Ρ‚Π°ΠΊ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π½Π΅ самым ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄Π°ΠΆΠ΅ самого ΠΌΠ΅Π»ΠΊΠΎΠ³ΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² Π±Π°Π·Ρƒ записываСтся ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ json Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΠΊΠΎΠ»ΠΎ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Π°
    {"entity_id": "sensor.water_cold_hourly", "old_state": {"entity_id": "sensor.water_cold_hourly", "state": "3", "attributes": {"source": "sensor.water_meter_cold", "status": "collecting", "last_period": "29", "last_reset": "2020-02-23T21:00:00.022246+02:00", "meter_period": "hourly", "unit_of_measurement": "l", "friendly_name": "water_cold_hourly", "icon": "mdi:counter"}, "last_changed": "2020-02-23T19:05:06.897604+00:00", "last_updated": "2020-02-23T19:05:06.897604+00:00", "context": {"id": "aafc8ca305ba4e49ad4c97f0eddd8893", "parent_id": null, "user_id": null}}, "new_state": {"entity_id": "sensor.water_cold_hourly", "state": "4", "attributes": {"source": "sensor.water_meter_cold", "status": "collecting", "last_period": "29", "last_reset": "2020-02-23T21:00:00.022246+02:00", "meter_period": "hourly", "unit_of_measurement": "l", "friendly_name": "water_cold_hourly", "icon": "mdi:counter"}, "last_changed": "2020-02-23T19:11:11.251545+00:00", "last_updated": "2020-02-23T19:11:11.251545+00:00", "context": {"id": "0de64b8af6f14bb9a419dcf3b200ef56", "parent_id": null, "user_id": null}}}

    Π”Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Ρƒ мСня довольно ΠΌΠ½ΠΎΠ³ΠΎ (Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅, счСтчики Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства), Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ достаточно ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ счСтчик элСктричСства SDM220 Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ дСсятка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 10-15 сСкунд, Π° Ρ‚Π°ΠΊΠΈΡ… счСтчиков я Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π» ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡˆΡ‚ΡƒΠΊ 8. А Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ цСлая ΠΏΠ°Ρ‡ΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π½Π° основС Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ². Π’.ΠΎ. всС эти значСния Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π΄ΡƒΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π½Π° 100-200 Мб Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ. Π§Π΅Ρ€Π΅Π· нСдСлю систСма Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π»Π΅ Π²ΠΎΡ€ΠΎΡ‡Π°Ρ‚ΡŒΡΡ, Π° Ρ‡Π΅Ρ€Π΅Π· мСсяц сдохнСт Ρ„Π»Π΅ΡˆΠΊΠ° (Π² случаС Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΉ установки home assistant Π½Π° raspberry PI), Π° ΡƒΠΆ ΠΎ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹ΠΉ Π³ΠΎΠ΄ ΠΈ Ρ€Π΅Ρ‡ΠΈ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚.

  • Если Π²Π°ΠΌ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ, ваш счСтчик сам ΡƒΠΌΠ΅Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅. Π’Ρ‹ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ счСтчику ΠΈ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ час Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ потрСблСния. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ всС счСтчики элСктричСства Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ интСрфСйс (RS232/RS485/Modbus/Zigbee) ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ.

    Π₯ΡƒΠΆΠ΅ Ссли устройство ΠΌΠΎΠΆΠ΅Ρ‚ просто ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ Π½Π΅ΠΊΠΈΠΉ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡƒΡŽ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ‚ΠΎΠΊ), ΠΈΠ»ΠΈ просто Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ X Π²Π°Ρ‚Ρ‚-часов ΠΈΠ»ΠΈ Π»ΠΈΡ‚Ρ€ΠΎΠ². Π’ΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΈ Ρ‡Π΅ΠΌ это ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π³Π΄Π΅ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π•ΡΡ‚ΡŒ риск ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Π΄Π° ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ систСмы Π² Ρ†Π΅Π»ΠΎΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ вопросы. МоТно, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, это всС ΠΏΠΎΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ систСмС ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° Π²Ρ€ΠΎΠ΄Π΅ home assistant, Π½ΠΎ ΠΏΡƒΠ½ΠΊΡ‚ ΠΏΡ€ΠΎ количСство записСй Π² Π±Π°Π·Π΅ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ отмСнял, Π΄Π° ΠΈ опрос Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ‡Π°Ρ‰Π΅ Ρ‡Π΅ΠΌ Ρ€Π°Π· Π² сСкунду ΡƒΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π΅ получится (ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ home assistant).

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 1

Π‘Π½Π°Ρ‡Π°Π»Π° посмотрим Ρ‡Ρ‚ΠΎ прСдоставляСтся home assistant ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ потрСблСния Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ β€” вСсьма вострСбованная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. РазумССтся, Π΅Π΅ Π΄Π°Π²Π½Ρ‹ΠΌ Π΄Π°Π²Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π² Π²ΠΈΠ΄Π΅ спСциализированного ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° β€” utility_meter.

Π‘ΡƒΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π·Π°Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅_Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΠΎΠ΅_Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ сбрасываСт Π΅Π΅ ΠΏΠΎ истСчСнии Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° (час/нСдСля/мСсяц). ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ сам ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ Π²Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π½ΠΈΠ±ΡƒΠ΄ΡŒ сСнсора), сам подписываСтся Π½Π° измСнСния значСния β€” Π²Ρ‹ просто ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠžΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ΡΡ эта ΡˆΡ‚ΡƒΠΊΠ° всСго нСсколькими строчками Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅

utility_meter:
  water_cold_hour_um:
    source: sensor.water_meter_cold
    cycle: hourly
  water_cold_day_um:
    source: sensor.water_meter_cold
    cycle: daily

Π’ΡƒΡ‚ sensor.water_meter_cold это Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика Π² Π»ΠΈΡ‚Ρ€Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ нСпосрСдствСнно ΠΎΡ‚ ТСлСзяки ΠΏΠΎ mqtt. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ создаСт 2 Π½ΠΎΠ²Ρ‹Ρ… сСнсора water_cold_hour_um ΠΈ water_cold_day_um, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡŽΡ‚ часовыС ΠΈ Π΄Π½Π΅Π²Π½Ρ‹Π΅ показания, обнуляя ΠΈΡ… ΠΏΠΎ истСчСнии ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°. Π’ΠΎΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊ часового аккумулятора Π·Π° полдня.

Π£ΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌ: Π‘Ρ‚Ρ€ΠΎΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ потрСблСния Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства Π² Home Assistant

Код часового ΠΈ Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² для lovelace-UI выглядит Ρ‚Π°ΠΊ:

      - type: history-graph
        title: 'Hourly water consumption using vars'
        hours_to_show: 48
        entities:
          - sensor.water_hour

      - type: history-graph
        title: 'Daily water consumption using vars'
        hours_to_show: 360
        entities:
          - sensor.water_day

БобствСнно, Π² этом Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΠΈ кроСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. Как я ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π», Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ входящСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠ΅ счСтчика Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π»ΠΈΡ‚Ρ€) гСнСрируСтся ΠΏΠΎ 1ΠΊΠ± записи Π² Π±Π°Π·Π΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ utility meter Ρ‚Π°ΠΊΠΆΠ΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎ Π½ΠΎΠ²ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ складываСтся Π² Π±Π°Π·Ρƒ. Если я Ρ…ΠΎΡ‡Ρƒ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ часовыС/Π΄Π½Π΅Π²Π½Ρ‹Π΅/Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅/мСсячныС показания, Π΄Π° ΠΏΠΎ нСскольким стоякам Π²ΠΎΠ΄Ρ‹, Π΄Π° Π΅Ρ‰Π΅ ΠΏΠ°Ρ‡ΠΊΡƒ элСктросчСтчиков Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ β€” это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. Ну Ρ‚ΠΎΡ‡Π½Π΅Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΎ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ home assistant Π² Π±Π°Π·Ρƒ ΠΏΠΈΡˆΠ΅Ρ‚ ΠΊΡƒΡ‡Ρƒ лишнСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π°Π·Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ расти ΠΊΠ°ΠΊ Π½Π° Π΄Ρ€ΠΎΠΆΠΆΠ°Ρ…. Π‘ΠΎΡŽΡΡŒ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π°Π·Ρ‹ для ΠΏΠΎΠ½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ помСсячных Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ².

Помимо этого utility meter сам ΠΏΠΎ сСбС Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Π“Ρ€Π°Ρ„ΠΈΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π΄Π°Π΅Ρ‚ utility meter это ΠΌΠΎΠ½ΠΎΡ‚ΠΎΠ½Π½ΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π°Ρ функция, которая сбрасываСтся Π² 0 ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ час. Нам ΠΆΠ΅ Π½ΡƒΠΆΠ΅Π½ понятный для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π³Ρ€Π°Ρ„ΠΈΠΊ потрСблСния, сколько ΠΆΠ΅ Π»ΠΈΡ‚Ρ€ΠΎΠ² Π±Ρ‹Π»ΠΎ съСдСно Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ history-graph Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚, Π½ΠΎ Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ внСшний ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ mini-graph-card.

Π­Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ для lovelace-UI:

      - aggregate_func: max
        entities:
          - color: var(--primary-color)
            entity: sensor.water_cold_hour_um
        group_by: hour
        hours_to_show: 48
        name: "Hourly water consumption aggregated by utility meter"
        points_per_hour: 1
        show:
          graph: bar
        type: 'custom:mini-graph-card'

Помимо стандартных настроСк Π²Ρ€ΠΎΠ΄Π΅ ΠΈΠΌΠ΅Π½ΠΈ сСнсора, Ρ‚ΠΈΠΏΠ° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Ρ†Π²Π΅Ρ‚Π° (стандартный ΠΎΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΉ ΠΌΠ½Π΅ Π½Π΅ понравился) Ρ‚ΡƒΡ‚ Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ 3 настройки:

  • group_by:hour β€” Π³Ρ€Π°Ρ„ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ столбиков ΠΏΠΎ Π½Π°Ρ‡Π°Π»Ρƒ часа
  • points_per_hour: 1 β€” ΠΎΠ΄ΠΈΠ½ столбик Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ час
  • И самоС Π²Π°ΠΆΠ½ΠΎΠ΅, aggregate_func: max β€” Π±Ρ€Π°Ρ‚ΡŒ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ часа. ИмСнно этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΈΠ»ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ Π² столбики

Π£ΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌ: Π‘Ρ‚Ρ€ΠΎΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ потрСблСния Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства Π² Home Assistant

На ряд столбиков слСва Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ внимания β€” это стандартноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ссли Π½Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…. А Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅ Π±Ρ‹Π»ΠΎ β€” я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°Ρ€Ρƒ часов Π½Π°Π·Π°Π΄ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» сбор Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ utility meter Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π΄ΠΈ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ (свой Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ я расскаТу Ρ‡ΡƒΡ‚ΡŒ Π½ΠΈΠΆΠ΅).

На этой ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ я Ρ…ΠΎΡ‚Π΅Π» ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π°ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΈ столбики Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ значСния. Волько Π²ΠΎΡ‚ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС. Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ столбик Π·Π° ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ с 11 Π΄ΠΎ 12 ΡƒΡ‚Ρ€Π° ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ 19 Π»ΠΈΡ‚Ρ€ΠΎΠ², хотя Π½Π° зубастом Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Ρ‡ΡƒΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ Π·Π° этот ΠΆΠ΅ самый ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ с Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ самого сСнсора Π²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ 62 Π»ΠΈΡ‚Ρ€Π°. Π›ΠΈΠ±ΠΎ Π±Π°Π³, Π»ΠΈΠ±ΠΎ Ρ€ΡƒΠΊΠΈ ΠΊΡ€ΠΈΠ²Ρ‹Π΅. А Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΡ‚Π»ΠΎΠΌΠ°Π»ΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Π΅ справа я ΠΏΠΎΠΊΠ° Π½Π΅ понял β€” ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΌ Π±Ρ‹Π»ΠΎ Π² Π½ΠΎΡ€ΠΌΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎ зубастому Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, правдоподобности это этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΌΠ½Π΅ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ β€” Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π΅Ρ€Π΅ΡΡŒ.

Аналогичный ΠΊΠΎΠ΄ для Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ сСнсора.

      - aggregate_func: max
        entities:
          - color: var(--primary-color)
            entity: sensor.water_cold_day_um
        group_by: interval
        hours_to_show: 360
        name: "Daily water consumption aggregated by utility meter"
        points_per_hour: 0.0416666666
        show:
          graph: bar
        type: 'custom:mini-graph-card'

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ group_by установлСн Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ interval, ΠΈ Ρ€ΡƒΠ»ΠΈΡ‚ всСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ points_per_hour. И Π² этом Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ другая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° этого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° β€” points_per_hour Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ… Π·Π° час ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅, Π½ΠΎ ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° Π±ΠžΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ°Ρ…. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ столбик Π·Π° ΠΎΠ΄ΠΈΠ½ дСнь ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1/24=0.04166666. Π― ΡƒΠΆΠ΅ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΏΡ€ΠΎ Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ мСсячныС Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 2

Π•Ρ‰Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡΡΡŒ с home assistant я наткнулся Π½Π° Π²ΠΎΡ‚ это Π²ΠΈΠ΄Π΅ΠΎ:


Π’ΠΎΠ²Π°Ρ€ΠΈΡ‰ собираСт Π΄Π°Π½Π½Ρ‹Π΅ потрСблСния с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² Ρ€ΠΎΠ·Π΅Ρ‚ΠΎΠΊ Xiaomi. Π—Π°Π΄Π°Ρ‡Π° Ρƒ Π½Π΅Π³ΠΎ Ρ‡ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅ β€” просто Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ потрСблСния Π·Π° сСгодня, Π²Ρ‡Π΅Ρ€Π° ΠΈ Π·Π° мСсяц. Никаких Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π½Π΅ трСбуСтся.

ΠžΡΡ‚Π°Π²ΠΈΠΌ Π² сторонС рассуТдСния ΠΎ Ρ€ΡƒΡ‡Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ мощности β€” ΠΎ β€œΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΠΈβ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° я ΡƒΠΆΠ΅ писал Π²Ρ‹ΡˆΠ΅. НС ясно ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ Π½Π΅ стал ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹Π΅ значСния потрСблСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ€ΠΎΠ·Π΅Ρ‚ΠΊΠΎΠΉ. На ΠΌΠΎΠΉ взгляд ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ТСлСзяки Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅.

ΠžΡ‚ Π²ΠΈΠ΄Π΅ΠΎ ΠΌΡ‹ возьмСм идСю Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ подсчСта потрСблСния Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄. Π£ ΠΌΡƒΠΆΠΈΠΊΠ° ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ значСния Π·Π° сСгодня ΠΈ Π·Π° Π²Ρ‡Π΅Ρ€Π°, Π½ΠΎ ΠΌΡ‹ ΠΏΠΎΠΉΠ΄Π΅ΠΌ дальшС ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ. Π‘ΡƒΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² ΠΌΠΎΠ΅ΠΌ случаС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ.

Π—Π°Π²Π΅Π΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅_Π²_Π½Π°Ρ‡Π°Π»Π΅_часа, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ запишСм Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ показания счСтчика
По Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ Π² ΠΊΠΎΠ½Ρ†Π΅ часа (ΠΈΠ»ΠΈ Π² Π½Π°Ρ‡Π°Π»Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ) посчитаСм Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½Π½Ρ‹ΠΌ Π² Π½Π°Ρ‡Π°Π»Π΅ часа. Π­Ρ‚Π° Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ Π·Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ час β€” сохраним Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² сСнсор, ΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎ этому Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ.
Π’Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ β€œΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒβ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅_Π²_Π½Π°Ρ‡Π°Π»Π΅_часа записав Ρ‚ΡƒΠ΄Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика.

ВсС это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΆ… срСдствами самого home assistant.

Кода придСтся Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСсколько большС Ρ‡Π΅ΠΌ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅. Для Π½Π°Ρ‡Π°Π»Π° Π·Π°Π²Π΅Π΄Π΅ΠΌ эти самыС β€œΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅β€. Из ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Ρƒ нас Π½Π΅Ρ‚ сущности β€œΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρβ€, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ услугами mqtt Π±Ρ€ΠΎΠΊΠ΅Ρ€Π°. Π‘ΡƒΠ΄Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° значСния с Ρ„Π»Π°Π³ΠΎΠΌ retain=true β€” это сохранит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Ρ€ΠΎΠΊΠ΅Ρ€Π°, ΠΈ Π΅Π³ΠΎ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Π²Ρ‹Π΄Π΅Ρ€Π½ΡƒΡ‚ΡŒ, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ home assistant. Π― сдСлал сразу часовыС ΠΈ Π΄Π½Π΅Π²Π½Ρ‹Π΅ счСтчики.

- platform: mqtt
  state_topic: "test/water/hour"
  name: water_hour
  unit_of_measurement: l

- platform: mqtt
  state_topic: "test/water/hour_begin"
  name: water_hour_begin
  unit_of_measurement: l

- platform: mqtt
  state_topic: "test/water/day"
  name: water_day
  unit_of_measurement: l

- platform: mqtt
  state_topic: "test/water/day_begin"
  name: water_day_begin
  unit_of_measurement: l

Вся магия происходит Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, которая запускаСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ час ΠΈ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π½ΠΎΡ‡ΡŒ соотвСтствСнно.

- id: water_new_hour
  alias: water_new_hour
  initial_state: true
  trigger:
    - platform: time_pattern
      minutes: 0
  action:
    - service: mqtt.publish
      data:
        topic: "test/water/hour"
        payload_template: >
          {{ (states.sensor.water_meter_cold.state|int) - (states.sensor.water_hour_begin.state|int) }}
        retain: true
    - service: mqtt.publish
      data:
        topic: "test/water/hour_begin"
        payload_template: >
          {{ states.sensor.water_meter_cold.state }}
        retain: true

- id: water_new_day
  alias: water_new_day
  initial_state: true
  trigger:
    - platform: time
      at: "00:00:00"
  action:
    - service: mqtt.publish
      data:
        topic: "test/water/day"
        payload_template: >
          {{ (states.sensor.water_meter_cold.state|int) - (states.sensor.water_day_begin.state|int) }}
        retain: true
    - service: mqtt.publish
      data:
        topic: "test/water/day_begin"
        payload_template: >
          {{ states.sensor.water_meter_cold.state }}
        retain: true

ОбС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ 2 дСйствия:

  • Π’Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΊΠ°ΠΊ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ
  • ΠžΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ history-graph:

      - type: history-graph
        title: 'Hourly water consumption using vars'
        hours_to_show: 48
        entities:
          - sensor.water_hour

      - type: history-graph
        title: 'Daily water consumption using vars'
        hours_to_show: 360
        entities:
          - sensor.water_day

Выглядит это Ρ‚Π°ΠΊ:

Π£ΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌ: Π‘Ρ‚Ρ€ΠΎΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ потрСблСния Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства Π² Home Assistant

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ это ΡƒΠΆΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ. Плюсом Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π». Π’.Π΅. всСго 24 записи Π·Π° сутки для часового Π³Ρ€Π°Ρ„ΠΈΠΊΠ°.

К соТалСнию, ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ растущСй Π±Π°Π·Ρ‹ это всС Ρ€Π°Π²Π½ΠΎ Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚. Если я Π·Π°Ρ…ΠΎΡ‡Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊ помСсячного потрСблСния, Ρ‚ΠΎ придСтся Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π·Π° Π³ΠΎΠ΄. А ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ home assistant прСдоставляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ настройку Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ хранСния Π½Π° всю Π±Π°Π·Ρƒ, Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ Π’Π‘Π• Π΄Π°Π½Π½Ρ‹Π΅ Π² систСмС придСтся Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΉ Π³ΠΎΠ΄. НапримСр Π·Π° Π³ΠΎΠ΄ я ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽ 200 ΠΊΡƒΠ±ΠΎΠ² Π²ΠΎΠ΄Ρ‹, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ это 200000 записСй Π² Π±Π°Π·Ρƒ. А Ссли ΡƒΡ‡Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сСнсоры, Ρ‚ΠΎ Ρ†ΠΈΡ„Ρ€Π° Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎΠΉ становится.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 3

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΡƒΠΌΠ½Ρ‹Π΅ люди ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠΈΠ»ΠΈ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ написав Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… InfluxDB. Π­Ρ‚Π° Π±Π°Π·Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ time-based Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π°Π·Π½Ρ‹Ρ… сСнсоров. БистСма Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт SQL-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ язык запросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Ρ‹ΠΊΠΎΠ²Ρ‹Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ· Π±Π°Π·Ρ‹ значСния, ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΡ… Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами. НаконСц, Ρ€Π°Π·Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠ΅ врСмя. НапримСр, часто ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ΡΡ показания Π²Ρ€ΠΎΠ΄Π΅ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ влаТности ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всСго ΠΏΠ°Ρ€Ρƒ нСдСль, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π΄Π½Π΅Π²Π½Ρ‹Π΅ показания потрСблСния Π²ΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΉ Π³ΠΎΠ΄.

Помимо InfluxDB ΡƒΠΌΠ½Ρ‹Π΅ люди Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π΅Π»ΠΈ Grafana β€” систСму рисования Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ· InfluxDB. Π“Ρ€Π°Ρ„Π°Π½Π° ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΈΡ… ΠΊΠ°ΡΡ‚ΠΎΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ, Ρ‡Ρ‚ΠΎ самоС Π³Π»Π°Π²Π½ΠΎΠ΅, эти Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ β€œΠ²ΠΎΡ‚ΠΊΠ½ΡƒΡ‚ΡŒβ€ Π½Π° lovelace-UI home assistant’а.

Π’Π΄ΠΎΡ…Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ Ρ‚ΡƒΡ‚ ΠΈ Ρ‚ΡƒΡ‚. Π’ ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описан процСсс установки ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ InfluxDB ΠΈ Grafana ΠΊ home assistant. Π― ΠΆΠ΅ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΡƒΡΡŒ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ своСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π˜Ρ‚Π°ΠΊ, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π°Ρ‡Π½Π΅ΠΌ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика Π² influxDB. ΠšΡƒΡΠΎΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ home assistant (Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я Π±ΡƒΠ΄Ρƒ Ρ€Π°Π·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ, Π½ΠΎ ΠΈ горячСй Π²ΠΎΠ΄ΠΎΠΉ):

influxdb:
  host: localhost
  max_retries: 3
  default_measurement: state
  database: homeassistant
  include:
    entities:
      - sensor.water_meter_hot
      - sensor.water_meter_cold

ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠΌ сохранСниС этих ΠΆΠ΅ самых Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Π±Π°Π·Ρƒ home assistant, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ€Π°Π·Π΄ΡƒΠ²Π°Ρ‚ΡŒ Π΅Π΅ лишний Ρ€Π°Π·:

recorder:
  purge_keep_days: 10
  purge_interval: 1
  exclude:
    entities:
      - sensor.water_meter_hot
      - sensor.water_meter_cold

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π² консоль InfluxDB ΠΈ настроим Π½Π°ΡˆΡƒ Π±Π°Π·Ρƒ. Π’ частности Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ хранится Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ рСгулируСтся Ρ‚.Π½. retention policy β€” это ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ основной Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ каТдая внутрСнняя Π±Π°Π·Π° ΠΈΠΌΠ΅Π΅Ρ‚ свои настройки. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всС Π΄Π°Π½Π½Ρ‹Π΅ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² retention policy ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ autogen, эти Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ хранится нСдСлю. Π― Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ часовыС Π΄Π°Π½Π½Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡΡŒ мСсяц, Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ β€” Π³ΠΎΠ΄, Π° мСсячныС Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡƒΠ΄Π°Π»ΡΠ»ΠΈΡΡŒ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ retention policy

CREATE RETENTION POLICY "month" ON "homeassistant" DURATION 30d REPLICATION 1
CREATE RETENTION POLICY "year" ON "homeassistant" DURATION 52w REPLICATION 1
CREATE RETENTION POLICY "infinite" ON "homeassistant" DURATION INF REPLICATION 1

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, собствСнно, Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ‚Ρ€ΡŽΠΊ β€” агрСгация Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ continuous query. Π­Ρ‚ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски запускаСт запрос Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π°Π³Ρ€Π΅Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ этому запросу, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ складываСт Π² Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ (я ΠΏΠΈΡˆΡƒ Π² столбик для удобочитаСмости, Π½ΠΎ Π½Π° Π΄Π΅Π»Π΅ ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΎΠ΄Π½ΠΎΠΉ строкой)

CREATE CONTINUOUS QUERY cq_water_hourly ON homeassistant 
BEGIN 
  SELECT max(value) AS value 
  INTO homeassistant.month.water_meter_hour 
  FROM homeassistant.autogen.l 
  GROUP BY time(1h), entity_id fill(previous) 
END

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:

  • Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ continuous query ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ cq_water_cold_hourly Π² Π±Π°Π·Π΅ homeassistant
  • Запрос Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ час (time(1h))
  • Запрос Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Ρ€Π΅Π±Π°Ρ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· measurement’а homeassistant.autogen.l (Π»ΠΈΡ‚Ρ€Ρ‹), Π²ΠΊΠ»ΡŽΡ‡Π°Ρ показания Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ ΠΈ горячСй Π²ΠΎΠ΄Ρ‹
  • АгрСгированныС Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ entity_id, Ρ‡Ρ‚ΠΎ создаст Π½Π°ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΏΠΎ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ ΠΈ горячСй Π²ΠΎΠ΄Π΅
  • ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ счСтчик Π»ΠΈΡ‚Ρ€ΠΎΠ² это ΠΌΠΎΠ½ΠΎΡ‚ΠΎΠ½Π½ΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ часа Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π±Ρ€Π°Ρ‚ΡŒ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, поэтому агрСгация Π±ΡƒΠ΄Π΅Ρ‚ проводится Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ max(value)
  • НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ записано Π² homeassistant.month.water_meter_hour, Π³Π΄Π΅ month это имя retention policy со сроком хранСния Π² мСсяц. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ ΠΈ горячСй Π²ΠΎΠ΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ разбросаны Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ записи с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ entity_id ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΏΠΎΠ»Π΅ value

ΠΠΎΡ‡ΡŒΡŽ ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Π½ΠΈΠΊΠΎΠ³ΠΎ Π½Π΅Ρ‚ Π΄ΠΎΠΌΠ° потрСблСния Π²ΠΎΠ΄Ρ‹ Π½Π΅Ρ‚, Π° соотвСтствСнно Π½ΠΎΠ²Ρ‹Ρ… записСй Π² homeassistant.autogen.l Ρ‚ΠΎΠΆΠ΅ Π½Π΅Ρ‚. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ пропусков Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… запросах ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ fill(previous). Π­Ρ‚ΠΎ заставит InfluxDB ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ часа.

К соТалСнию, Ρƒ continuous query Π΅ΡΡ‚ΡŒ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ: Ρ‚Ρ€ΡŽΠΊ fill(previous) Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ записи просто Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ это какая-Ρ‚ΠΎ нСпрСодолимая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, которая обсуТдаСтся ΡƒΠΆΠ΅ Π½Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π³ΠΎΠ΄. Π‘ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΌΡ‹ разбСрСмся ΠΏΠΎΠ·ΠΆΠ΅, Π° fill(previous) Π² continuous query ΠΏΡƒΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ β€” ΠΎΠ½ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ (разумССтся, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ часиков):

> select * from homeassistant.month.water_meter_hour group by entity_id
...
name: water_meter_hour
tags: entity_id=water_meter_cold
time                 value
----                 -----
...
2020-03-08T01:00:00Z 370511
2020-03-08T02:00:00Z 370513
2020-03-08T05:00:00Z 370527
2020-03-08T06:00:00Z 370605
2020-03-08T07:00:00Z 370635
2020-03-08T08:00:00Z 370699
2020-03-08T09:00:00Z 370761
2020-03-08T10:00:00Z 370767
2020-03-08T11:00:00Z 370810
2020-03-08T12:00:00Z 370818
2020-03-08T13:00:00Z 370827
2020-03-08T14:00:00Z 370849
2020-03-08T15:00:00Z 370921

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ значСния Π² Π±Π°Π·Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² UTC, поэтому Π² этом спискС ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π½Π° 3 часа β€” значСния Π·Π° 7 ΡƒΡ‚Ρ€Π° Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ InfluxDB ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ значСниям Π·Π° 10 ΡƒΡ‚Ρ€Π° Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ… Π²Ρ‹ΡˆΠ΅. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ 2 ΠΈ 5 ΡƒΡ‚Ρ€Π° записСй просто Π½Π΅Ρ‚Ρƒ β€” это Ρ‚Π° самая ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ continuous query.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΌΠΎΠ½ΠΎΡ‚ΠΎΠ½Π½ΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ записи ΠΈΠ΄ΡƒΡ‚ Ρ€Π΅ΠΆΠ΅ β€” Ρ€Π°Π· Π² час. Но это Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для Π³Ρ€Π°Ρ„ΠΈΠΊΠ°.

SELECT difference(max(value)) 
FROM homeassistant.month.water_meter_hour 
WHERE entity_id='water_meter_cold' and time >= now() -24h 
GROUP BY time(1h), entity_id 
fill(previous)

Π Π°ΡΡˆΠΈΡ„Ρ€ΡƒΡŽ:

  • Из Π±Π°Π·Ρ‹ homeassistant.month.water_meter_hour вытянСм Π΄Π°Π½Π½Ρ‹Π΅ для entity_id=’water_meter_cold’ Π·Π° послСдниС сутки (time >= now() -24h).
  • Как я ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ homeassistant.month.water_meter_hour ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ записи. Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ сгСнСрируСм Π·Π°Π½ΠΎΠ²ΠΎ, запустив запрос с GROUP BY time(1h). На этот Ρ€Π°Π· fill(previous) сработаСт ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ, сгСнСрировав Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ (функция Π²ΠΎΠ·ΡŒΠΌΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)
  • Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ Π² этом запросС это функция difference, которая ΠΈ посчитаСт Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ часовыми ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ. Π‘Π°ΠΌΠ° ΠΏΠΎ сСбС ΠΎΠ½Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. ΠŸΡƒΡΠΊΠ°ΠΉ это Π±ΡƒΠ΄Π΅Ρ‚ max() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€Π΅ΠΆΠ΄Π΅.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния выглядит Ρ‚Π°ΠΊ

name: water_meter_hour
tags: entity_id=water_meter_cold
time                 difference
----                 ----------
...
2020-03-08T02:00:00Z 2
2020-03-08T03:00:00Z 0
2020-03-08T04:00:00Z 0
2020-03-08T05:00:00Z 14
2020-03-08T06:00:00Z 78
2020-03-08T07:00:00Z 30
2020-03-08T08:00:00Z 64
2020-03-08T09:00:00Z 62
2020-03-08T10:00:00Z 6
2020-03-08T11:00:00Z 43
2020-03-08T12:00:00Z 8
2020-03-08T13:00:00Z 9
2020-03-08T14:00:00Z 22
2020-03-08T15:00:00Z 72

Π‘ 2 Π΄ΠΎ 5 ΡƒΡ‚Ρ€Π° (UTC) потрСблСния Π½Π΅ Π±Ρ‹Π»ΠΎ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ запрос Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ потрСблСния благодаря fill(previous), Π° функция difference это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ‡Ρ‚Π΅Ρ‚ само ΠΈΠ· сСбя ΠΈ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 0, Ρ‡Ρ‚ΠΎ собствСнно ΠΈ трСбуСтся.

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Π΄Π΅Π»ΠΎ Π·Π° ΠΌΠ°Π»Ρ‹ΠΌ β€” ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ. Для этого ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Grafana, ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ ΠΊΠ°ΠΊΠΎΠΉ Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ (ΠΈΠ»ΠΈ создадим Π½ΠΎΠ²Ρ‹ΠΉ) Π΄Π°ΡˆΠ±ΠΎΡ€Π΄, создадим Π½ΠΎΠ²ΡƒΡŽ панСль. Настройки Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Π°ΠΊΠΈΠΌΠΈ.

Π£ΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌ: Π‘Ρ‚Ρ€ΠΎΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ потрСблСния Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства Π² Home Assistant

Π― Π±ΡƒΠ΄Ρƒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ ΠΈ горячСй Π²ΠΎΠ΄Π΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅. Запрос Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠ°ΠΊ я описал Π²Ρ‹ΡˆΠ΅.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ отобраТСния Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ. Π£ мСня это Π±ΡƒΠ΄Π΅Ρ‚ Π³Ρ€Π°Ρ„ΠΈΠΊ линиями (lines), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ΄Π΅Ρ‚ ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒΠΊΠ°ΠΌΠΈ (stairs). ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Stack я объясню Ρ‡ΡƒΡ‚ΡŒ Π½ΠΈΠΆΠ΅. Π’Π°ΠΌ Π½ΠΈΠΆΠ΅ Π΅Ρ‰Π΅ ΠΏΠ°Ρ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² отобраТСния, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Ρ‚Π°ΠΊ интСрСсны.

Π£ΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌ: Π‘Ρ‚Ρ€ΠΎΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ потрСблСния Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства Π² Home Assistant

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ Π² home assistant Π½ΡƒΠΆΠ½ΠΎ:

  • Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠ° рСдактирования Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. ΠŸΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ настройки ΡˆΠ°Ρ€ΠΈΠ½Π³Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ со страницы Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π°
  • ΠΠ°ΠΆΠ°Ρ‚ΡŒ Π½Π° Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π²ΠΎΠ·Π»Π΅ ΠΈΠΌΠ΅Π½ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Π² мСню Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ share
  • Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ embed
  • Π£Π±Ρ€Π°Ρ‚ΡŒ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ current time range β€” Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· URL
  • Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Ρ‚Π΅ΠΌΡƒ. Π’ ΠΌΠΎΠ΅ΠΌ случаС это light
  • Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ URL Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ настроСк lovelace-UI

      - type: iframe
        id: graf_water_hourly
        url: "http://192.168.10.200:3000/d-solo/rZARemQWk/water?orgId=1&panelId=2&from=now-2d&to=now&theme=light"

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‡Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (послСдниС 2 дня) задаСтся ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΡƒΡ‚, Π° Π½Π΅ Π² настройках Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π°.

Выглядит Π³Ρ€Π°Ρ„ΠΈΠΊ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ. Π“ΠΎΡ€ΡΡ‡ΡƒΡŽ Π²ΠΎΠ΄Ρƒ я Π½Π΅ Π·Π° послСдниС 2 дня Π½Π΅ использовал, поэтому рисуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΎΠ΄Ρ‹.

Π£ΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌ: Π‘Ρ‚Ρ€ΠΎΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ потрСблСния Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства Π² Home Assistant

Π― Ρ‚Π°ΠΊ для сСбя ΠΈ Π½Π΅ Ρ€Π΅ΡˆΠΈΠ» ΠΊΠ°ΠΊΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ½Π΅ большС нравится, Π»ΠΈΠ½ΠΈΠ΅ΠΉ-ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒΠΊΠΎΠΉ, ΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ столбиками. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ просто ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° потрСблСния, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° этот Ρ€Π°Π· столбиками. Запросы строятся Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΌ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ отобраТСния Ρ‚Π°ΠΊΠΈΠ΅:

Π£ΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌ: Π‘Ρ‚Ρ€ΠΎΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ потрСблСния Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства Π² Home Assistant

Выглядит этот Π³Ρ€Π°Ρ„ΠΈΠΊ Ρ‚Π°ΠΊ:

Π£ΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌ: Π‘Ρ‚Ρ€ΠΎΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ потрСблСния Π²ΠΎΠ΄Ρ‹ ΠΈ элСктричСства Π² Home Assistant

Π’Π°ΠΊ Π²ΠΎΡ‚ ΠΏΡ€ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Stack. Π’ этом Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ столбик Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΎΠ΄Ρ‹ рисуСтся ΠΏΠΎΠ²Π΅Ρ€Ρ… столбика горячСй. ΠžΠ±Ρ‰Π°Ρ высота соотвСтствуСт суммарному ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΡŽ ΠΏΠΎ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ ΠΈ горячСй Π²ΠΎΠ΄Π΅ Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄.

ВсС ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ β€” динамичСскиС. МоТно навСсти ΠΌΡ‹ΡˆΠΊΠΎΠΉ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅.

К соТалСнию Π±Π΅Π· ΠΏΠ°Ρ€Ρ‹ Π»ΠΎΠΆΠ΅ΠΊ дСгтя Π½Π΅ обошлось. На столбиковом Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° линиями-ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒΠΊΠ°ΠΌΠΈ) сСрСдина столбика находится Π½Π΅ Π² сСрСдинС суток, Π° Π² 00:00. Π’.Π΅. лСвая ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° столбика нарисована Π½Π° мСстС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ дня. Π’Π°ΠΊ Π²ΠΎΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π·Π° субботу ΠΈ Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΠ΅ нарисованы Ρ‡ΡƒΡ‚ΡŒ Π»Π΅Π²Π΅Π΅ Ρ‡Π΅ΠΌ синСватая Π·ΠΎΠ½Π°. Пока я Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» ΠΊΠ°ΠΊ это ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚ΡŒ.

Другая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² нСвозмоТности ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ Π² мСсяц. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° часа/дня/Π½Π΅Π΄Π΅Π»ΠΈ фиксирована, Π° Π²ΠΎΡ‚ Π΄Π»ΠΈΠ½Π° мСсяца ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· разная. InfluxDB ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ. Пока ΠΌΠΎΠΈΡ… ΠΌΠΎΠ·Π³ΠΎΠ² Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ фиксированный ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π² 30 Π΄Π½Π΅ΠΉ. Π”Π°, Π³Ρ€Π°Ρ„ΠΈΠΊ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Π³ΠΎΠ΄Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΏΠ»Ρ‹Π²Π΅Ρ‚ ΠΈ столбики Π½Π΅ совсСм Ρ‚ΠΎΡ‡Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ мСсяцам. Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½Π΅ это ΡˆΡ‚ΡƒΠΊΠ° интСрСсна просто Π² качСствС ΠΏΠΎΠΊΠ°Π·ΠΎΠΌΠ΅Ρ‚Ρ€Π°, Ρ‚ΠΎ я с этим ΠΎΠΊ.

РСшСний Π²ΠΈΠΆΡƒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π°:

  • Π—Π°Π±ΠΈΡ‚ΡŒ Π½Π° помСсячныС Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. 52 Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… столбика Π·Π° Π³ΠΎΠ΄ Π²ΠΏΠΎΠ»Π½Π΅ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ смотрятся
  • Π‘Π°ΠΌΠΎ помСсячноС ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ способом β„–2, Π° Π³Ρ€Π°Ρ„Π°Π½Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для красивых Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π’ΠΏΠΎΠ»Π½Π΅ сСбС Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ получится. МоТно Π΄Π°ΠΆΠ΅ Π½Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π·Π° ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ Π³ΠΎΠ΄ для сравнСния β€” Π³Ρ€Π°Ρ„Π°Π½Π° ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ ΡƒΠΌΠ΅Π΅Ρ‚.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

НС знаю ΠΏΠΎΡ‡Π΅ΠΌΡƒ, Π½ΠΎ я Ρ‚Π°Ρ‰ΡƒΡΡŒ ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². Они ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ‡Ρ‚ΠΎ Тизнь ΠΊΠΈΠΏΠΈΡ‚ ΠΈ всС мСняСтся. Π’Ρ‡Π΅Ρ€Π° Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, сСгодня ΠΌΠ°Π»ΠΎ, Π·Π°Π²Ρ‚Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊ Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΅Ρ‰Π΅. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄ΠΎΠΌΠΎΡ‡Π°Π΄Ρ†Π°ΠΌΠΈ Π½Π° Ρ‚Π΅ΠΌΡƒ потрСблСния. Но Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π°ΠΏΠΏΠ΅Ρ‚ΠΈΡ‚Π°Ρ… просто большая ΠΈ нСпонятная Ρ†ΠΈΡ„Ρ€Π° Π² ΠΏΠ»Π°Ρ‚Π΅ΠΆΠΊΠ΅ ΡƒΠΆΠ΅ прСвращаСтся Π² достаточно ΠΏΠΎΠ½ΡΡ‚Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ потрСблСния.

НСсмотря Π½Π° ΠΏΠΎΡ‡Ρ‚ΠΈ 20-Π»Π΅Ρ‚Π½ΡŽΡŽ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ программиста, с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… я практичСски Π½Π΅ пСрСсСкался. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ установка внСшнСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… казалось Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠΌ Π·Π°ΡƒΠΌΠ½Ρ‹ΠΌ ΠΈ нСпонятным. ВсС ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π° Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ β€” оказалось Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π½ΠΈΠ΅ подходящСго инструмСнта дСлаСтся Π² ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΠΈΠΊΠΎΠ², Π° со спСциализированным инструмСнтом Π·Π°Π΄Π°Ρ‡Π° построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² становится Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅.

Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ я упомянул ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ элСктричСства. К соТалСнию Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ я Π½Π΅ ΠΌΠΎΠ³Ρƒ привСсти Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. Один счСтчик SDM120 Ρƒ мСня сдох, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π³Π»ΡŽΡ‡ΠΈΡ‚ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΏΠΎ Modbus. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π½Π° Ρ‚Π΅ΠΌΡƒ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ это Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ влияСт β€” Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ строится Ρ‚Π΅ΠΌ ΠΆΠ΅ самым способом, ΠΊΠ°ΠΊ ΠΈ для Π²ΠΎΠ΄Ρ‹.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΡ€ΠΈΠ²Π΅Π» Ρ‚Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ испробовал сам. НавСрняка Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ способы ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ сбора ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… я Π½Π΅ знаю. РасскаТитС ΠΌΠ½Π΅ ΠΎΠ± этом Π² коммСнтариях, ΠΌΠ½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ интСрСсно. Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄ конструктивной ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ΅ ΠΈ Π½ΠΎΠ²Ρ‹ΠΌ идСям. НадСюсь ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com