Smart Home: Re etsa li-graph tsa tšebeliso ea metsi le motlakase ho Home Assistant

Smart Home: Re etsa li-graph tsa tšebeliso ea metsi le motlakase ho Home Assistant
Nako le nako ha ke fumana tefo ea motlakase le metsi, kea makala - na lelapa leso le ja haholo hakaale? Hantle, e, kamore ea ho hlapela e na le mokato o futhumetseng le boiler, empa ha li chese mollo ka linako tsohle. Hape ho bonahala re boloka metsi (le hoja re boetse re rata ho qaphatsa ka kamoreng ea ho hlapela). Lilemong tse 'maloa tse fetileng ke se ke ntse ke le teng limithara tse hokahaneng tsa metsi и motlakase ho ea ntlong e bohlale, empa ke moo lintho li ileng tsa khomarela. Hona joale re se re le haufi le ho sekaseka tšebeliso, e leng seo sengoloa sena se hlileng se buang ka sona.

Haufinyane tjena ke fetohetse ho Mothusi oa Lehae joalo ka sistimi ea ka e bohlale ea lapeng. E 'ngoe ea mabaka e ne e le monyetla oa ho hlophisa pokello ea lintlha tse ngata ka bokhoni ba ho etsa mefuta e fapaneng ea lirafshoa habonolo.

Lintlha tse hlalositsoeng sehloohong sena ha se tse ncha; lintho tsena tsohle tlas'a li-sauces tse fapaneng li se li hlalositsoe Inthaneteng. Empa hangata sehlooho se seng le se seng se hlalosa mokhoa o le mong feela kapa tšobotsi. Ke ne ke tlameha ho bapisa mekhoa ena kaofela ebe ke khetha e loketseng ka ho fetisisa ka bonna. Sengoloa se ntse se sa fane ka tlhaiso-leseling e felletseng mabapi le pokello ea data, empa ke kakaretso ea hore na ke e entse joang. Kahoo ho nyatsa ho hahang le litlhahiso tsa ntlafatso lia amoheleha.

Mokhoa oa bothata

Kahoo, sepheo sa boikoetliso ba kajeno ke ho fumana li-graph tse ntle tsa tšebeliso ea metsi le motlakase:

  • Hora ka matsatsi a 2
  • Letsatsi le letsatsi bakeng sa libeke tse 2
  • (ho ikhethela) beke le khoeli

Ho na le mathata a mang ka sena:

  • Likarolo tse tloaelehileng tsa lichate hangata li fokola haholo. Ha e le hantle, o ka etsa kerafo ea mola ka ntlha.

    Haeba u shebahala ka thata ka ho lekaneng, u ka fumana likarolo tsa motho oa boraro tse eketsang bokhoni ba chate e tloaelehileng. Bakeng sa mothusi oa lehae, ha e le hantle, ena ke karolo e ntle le e ntle karete ea mini-graph, empa hape e na le moeli o itseng:

    • Ho thata ho beha litekanyetso tsa chate ea bar ka nako e telele (bophara ba bar bo behiloe ka likaroloana tsa hora, ho bolelang hore nako e telele ho feta hora e tla behoa ka linomoro tsa likaroloana)
    • O ke ke oa eketsa likarolo tse fapaneng ho kerafo e le 'ngoe (mohlala, mocheso le mongobo, kapa ho kopanya setšoantšo sa bar le mola)
  • Ha se feela hore mothusi oa lapeng o sebelisa database ea khale ea SQLite ('me 'na, monna ea sebetsang, ke ne ke sitoa ho kenya MySQL kapa Postgres), empa data ha e bolokehe ka tsela e nepahetseng ka ho fetisisa. Kahoo, ho etsa mohlala, nako le nako ha u fetola esita le parameter e nyenyane ka ho fetisisa ea digital ea parameter, json e kholo e ka bang kilobyte ka boholo e ngoloa ho database.
    {"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}}}

    Ke na le li-sensor tse ngata haholo (li-sensor tsa mocheso kamoreng e 'ngoe le e' ngoe, limithara tsa metsi le motlakase), 'me tse ling li hlahisa lintlha tse ngata haholo. Ka mohlala, mitha ea motlakase ea SDM220 e le 'ngoe e hlahisa litekanyetso tse ka bang leshome le metso e' meli metsotsoana e meng le e meng ea 10-15, 'me ke rata ho kenya hoo e ka bang limithara tse joalo tse 8. Ho boetse ho na le letoto la liparamente tse baloang ho latela li-sensor tse ling. Seo. boleng bona kaofela bo ka kenya database habonolo ka 100-200 MB letsatsi le letsatsi. Ka beke tsamaiso e ke ke ea sisinyeha, 'me ka khoeli flash drive e tla shoa (tabeng ea mochine o tloaelehileng oa mothusi oa lehae ho Raspberry PI), le ho boloka data bakeng sa selemo kaofela ha ho potso.

  • Haeba u le lehlohonolo, meter ea hau e ka ipalla tšebeliso ka boeona. O ka sheba mithara ka nako efe kapa efe mme o botse hore na boleng ba tšebeliso e bokelletsoeng ke nako mang. E le molao, limithara tsohle tsa motlakase tse nang le sebopeho sa digital (RS232 / RS485 / Modbus / Zigbee) li fana ka monyetla ona.

    Ho hobe le ho feta haeba sesebelisoa se ka khona ho lekanya paramethara ea hang-hang (mohlala, matla a hang-hang kapa hona joale), kapa sa hlahisa likhahla ka lihora tse ling le tse ling tsa X watt kapa lithara. Joale u lokela ho nahana ka hore na u ka e kopanya joang le hore na u ka e kopanya joang le hore na u ka bokella boleng hokae. Ho na le kotsi ea ho lahleheloa ke tlaleho e latelang ka lebaka leha e le lefe, 'me ho nepahala ha tsamaiso ka kakaretso ho hlahisa lipotso. Ehlile, o ka beha tsena tsohle ho sistimi e bohlale ea lapeng joalo ka mothusi oa lapeng, empa ha ho motho ea hlakotseng ntlha ea palo ea lirekoto sebakeng sa polokelo ea litaba, 'me ho ke ke ha khoneha ho khetha li-sensor ho feta hang motsotsoana (a moedi wa moaho wa mothusi wa lehae).

Mokhoa oa 1

Pele, a re boneng hore na mothusi oa lapeng o fana ka eng ho tsoa lebokoseng. Ho lekanya tšebeliso ka nako e itseng ke ts'ebetso e batloang haholo. Ha e le hantle, e ile ea sebelisoa khale ka mokhoa oa motsoako o khethehileng - utility_meter.

Ntho ea bohlokoa ea karolo ke hore ka hare e etsa phapang ea hona joale_accumulated_value ebe e e tsosolosa ka mor'a nako e itseng (hora / beke / khoeli). Karolo ka boeona e hlokomela phapang ea ho kenya (boleng ba sensor e itseng), e ingolisa ho liphetoho tsa boleng - o fumana sephetho se felileng. Ntho ena e hlalosoa ka mela e 'maloa feela faeleng ea tlhophiso

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

Mona sensor.water_meter_cold ke boleng ba mithara ba hajoale ho lithara tseo ke li fumanang ka kotloloho ho tsoa karolong ea tšepe ka mqtt. Moralo ona o theha li-sensor tse ncha tse 2 water_cold_hour_um le water_cold_day_um, tse bokellang 'malo oa hora le letsatsi le letsatsi, li li khutlisetsa ho zero kamora hore nako e felile. Mona ke kerafo ea betri ea hora bakeng sa halofo ea letsatsi.

Smart Home: Re etsa li-graph tsa tšebeliso ea metsi le motlakase ho Home Assistant

Khoutu ea lichate tsa hora le tsa letsatsi le letsatsi bakeng sa lovelace-UI e shebahala tjena:

      - 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

Ha e le hantle, bothata ba mokhoa ona bo ka har'a algorithm ena. Joalokaha ke se ke boletse, bakeng sa boleng bo bong le bo bong ba ho kenya (ho baloa ha metara hona joale bakeng sa litara e 'ngoe le e' ngoe e latelang) 1kb ea lirekoto li hlahisoa polokelong ea litaba. Meta e 'ngoe le e' ngoe ea lisebelisoa e boetse e hlahisa boleng bo bocha, boo hape bo kenyelletsoang motheong. Haeba ke batla ho bokella lipalo tsa hora / letsatsi / beke / khoeli le khoeli, le bakeng sa ho phahama ha metsi a mangata, le ho eketsa pakete ea limithara tsa motlakase, e tla ba lintlha tse ngata. Hantle, ka nepo, ha ho na lintlha tse ngata, empa kaha mothusi oa lehae o ngola boitsebiso bo bongata bo sa hlokahaleng ho database, boholo ba database bo tla hōla ka ho tlōla le meeli. Ke tšaba le ho hakanya boholo ba motheo bakeng sa lichate tsa beke le khoeli le khoeli.

Ho feta moo, meter ea lisebelisoa ka boeona ha e rarolle bothata. Kerafo ea boleng bo hlahisitsoeng ke meter ea ts'ebeliso ke ts'ebetso e ntseng e eketseha ka monotonically e khutlelang ho 0 hora e 'ngoe le e 'ngoe. Re hloka chate ea tšebeliso e utloisisoang ke mosebelisi, e bonts'a hore na ho sebelisitsoe lilithara tse kae nakong eo. Karolo e tloaelehileng ea histori-graph e ke ke ea etsa sena, empa karolo e ka ntle ea karete ea mini-graph-card e ka re thusa.

Ena ke karete ea karete ea 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'

Ntle le litlhophiso tse tloaelehileng joalo ka lebitso la sensor, mofuta oa graph, 'mala (ke ne ke sa rate lamunu e tloaelehileng), ho bohlokoa ho hlokomela litlhophiso tse 3:

  • group_by:hora - kerafo e tla hlahisoa ka mekoallo e tsamaellanang le qalong ea hora
  • points_per_hora: 1 - bar e le 'ngoe bakeng sa hora e 'ngoe le e 'ngoe
  • Habohlokoa le ho feta, aggregate_func: max - nka boleng bo holimo nakong ea hora e 'ngoe le e 'ngoe. Ke parameter ena e fetolang graph ea sawtooth hore e be mekoallo

Smart Home: Re etsa li-graph tsa tšebeliso ea metsi le motlakase ho Home Assistant

U se ke ua ela hloko mola oa litšiea ka ho le letšehali - ena ke boitšoaro bo tloaelehileng ba karolo haeba ho se na data. Empa ho ne ho se na data - ke ile ka bula pokello ea data ea meter ea lisebelisoa lihora tse 'maloa tse fetileng molemong oa sengoloa sena (ke tla hlalosa mokhoa oa ka oa hajoale ka tlase).

Setšoantšong sena ke ne ke batla ho bontša hore ka linako tse ling pontšo ea data e bile e sebetsa 'me mekoallo e hlile e bonahatsa litekanyetso tse nepahetseng. Empa ha se phetho. Ka lebaka le itseng, kholomo e khethiloeng bakeng sa nako ea ho tloha ho 11 ho isa ho 12 hoseng e bonts'a lilithara tse 19, le hoja ka graph ea toothy e phahame hanyane ka nako e ts'oanang ho tsoa ho sensor e tšoanang re bona tšebeliso ea lilithara tse 62. Ekaba ho na le kokoanyana kapa matsoho a khopame. Empa ke ntse ke sa utloisise hore na ke hobane'ng ha data e ka letsohong le letona e ile ea robeha - tšebeliso ea moo e ne e tloaelehile, e bonahalang hape ho tloha ho graph ea toothy.

Ka kakaretso, ke ne ke sa khone ho finyella ho khoneha ha mokhoa ona - kerafo hoo e ka bang kamehla e bontša mofuta o itseng oa bokhelohi.

Khoutu e ts'oanang ea sensor ea mots'eare.

      - 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'

Ka kopo hlokomela hore parameter ea sehlopha_by e behiloe ho nako, 'me parameter ea points_per_hour e laola ntho e' ngoe le e 'ngoe. 'Me ho na le bothata bo bong ka karolo ena - points_per_hour e sebetsa hantle lichabeng tsa hora kapa ka tlase ho moo, empa e hula ka linako tse kholoanyane. Kahoo hore ke fumane kholomo e le 'ngoe ka letsatsi le le leng, ke ile ka tlameha ho kenya boleng 1/24=0.04166666. Ha ke bue le ka lichate tsa beke le khoeli.

Mokhoa oa 2

Ha ke ntse ke utloisisa mothusi oa lapeng, ke ile ka bona video ena:


Motsoalle o bokella lintlha tsa tšebeliso ho tsoa mefuteng e mengata ea li-sockets tsa Xiaomi. Mosebetsi oa hae o bobebe hanyane - o bonts'a boleng ba tšebeliso ea kajeno, maobane le khoeling. Ha ho linako tse hlokahalang.

Ha re tloheleng lipuisano mabapi le ho kopanya ka letsoho ha litekanyetso tsa matla tsa hang-hang - Ke se ke ngotse ka holimo ka "ho nepahala" ha mokhoa ona. Ha ho hlake hore na ke hobane'ng ha a sa ka a sebelisa litekanyetso tse bokelletsoeng tsa tšebeliso, tse seng li bokelloa ke setsi se le seng. Ka maikutlo a ka, ho kopanya ka hare ho hardware ho tla sebetsa hantle.

Ho tsoa videong re tla nka mohopolo oa ho bala ts'ebeliso ea nako ka nako. Mohlankana o bala feela litekanyetso tsa kajeno le maobane, empa re tla ea hole le ho leka ho taka graph. Moelelo oa mokhoa o reriloeng tabeng ea ka o tjena.

Ha re theheng value_at_the_beginning_of_hour, eo ho eona re tla rekota lipalo tsa metara tsa hajoale.
Re sebelisa sebali sa nako, qetellong ea hora (kapa qalong ea e latelang) re bala phapang pakeng tsa 'malo oa hajoale le o bolokiloeng qalong ea hora. Phapang ena e tla ba tšebeliso ea hora ea hona joale - re tla boloka boleng ho sensor, 'me nakong e tlang re tla haha ​​​​graph e thehiloeng ho boleng bona.
U boetse u hloka ho "reset" value_at_beginning_of_hour ka ho ngola boleng ba hajoale ba counter moo.

Sena sohle se ka etsoa ka mothusi oa lapeng ka boeena.

U tla tlameha ho ngola khoutu e nyane ho feta mokhoa o fetileng. Taba ea pele, a re theheng "mefuta-futa" e tšoanang. Ka ntle ho lebokose ha re na "phapang", empa re ka sebelisa litšebeletso tsa mqtt broker. Re tla romella litekanyetso moo ka retain=folakha ea 'nete - sena se tla boloka boleng ka har'a broker, 'me se ka ntšoa moo ka nako efe kapa efe, leha mothusi oa lapeng a se a qaliloe bocha. Ke entse li-counter tsa hora le tsa letsatsi le letsatsi hang.

- 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

Boselamose bohle bo etsahala ho automation, e sebetsang hora e 'ngoe le e' ngoe le bosiu bo bong le bo bong ka ho latellana.

- 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

Li-automation ka bobeli li etsa liketso tse 2:

  • Bala boleng ba nako e le phapang pakeng tsa boleng ba ho qala le ho qetela
  • Ntlafatsa boleng ba motheo bakeng sa nako e tlang

Kaho ea lirafshoa tabeng ena e rarolloa ke histori-graph e tloaelehileng:

      - 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

E shebahala tjena:

Smart Home: Re etsa li-graph tsa tšebeliso ea metsi le motlakase ho Home Assistant

Ha e le hantle, sena se se se ntse se hlokahala. Molemo oa mokhoa ona ke hore data e hlahisoa hang ka nako. Tseo. ke lirekoto tse 24 feela ka letsatsi bakeng sa chate ea hora.

Ka bomalimabe, sena se ntse se sa rarolle bothata bo akaretsang ba setsi se ntseng se hola. Haeba ke batla graph ea tšebeliso ea khoeli le khoeli, ke tla tlameha ho boloka data bonyane selemo. 'Me kaha mothusi oa lehae o fana ka sebaka se le seng sa nako ea polokelo bakeng sa database eohle, sena se bolela hore lintlha TSOHLE tsa sistimi li tla tlameha ho bolokoa selemo kaofela. Ka mohlala, ka selemo ke sebelisa li-cubic metres tsa 200 tsa metsi, ho bolelang hore sena se bolela ho kenngoa ha 200000 ho database. 'Me haeba u ela hloko li-sensor tse ling, joale palo e fetoha e sa hlompheheng.

Mokhoa oa 3

Ka lehlohonolo, batho ba bohlale ba se ba rarolotse bothata bona ka ho ngola database ea InfluxDB. Database ena e ntlafalitsoe ka ho khetheha bakeng sa ho boloka data e thehiloeng ho nako mme e loketse ho boloka boleng ba li-sensor tse fapaneng. Sistimi e boetse e fana ka puo ea lipotso e kang SQL e u lumellang ho ntša boleng ho database ebe u li kopanya ka mekhoa e fapaneng. Qetellong, data e fapaneng e ka bolokoa ka linako tse fapaneng. Mohlala, 'malo o fetohang khafetsa joalo ka mocheso kapa mongobo o ka bolokoa libeke tse' maloa, athe lipalo tsa tšebeliso ea letsatsi le letsatsi tsa metsi li ka bolokoa selemo kaofela.

Ntle le InfluxDB, batho ba bohlale ba boetse ba qapa Grafana, mokhoa oa ho taka li-graph ho latela data e tsoang ho InfluxDB. Grafana e khona ho taka mefuta e fapaneng ea li-graph, ea e etsa ka botlalo, 'me, sa bohlokoa le ho feta, li-graph tsena li ka "hokeloa" ho mothusi oa lapeng oa lovelace-UI.

Fumana pululelo mona и mona. Lingoliloeng li hlalosa ka botlalo mokhoa oa ho kenya le ho hokahanya InfluxDB le Grafana ho mothusi oa lapeng. Ke tla tsepamisa maikutlo ho rarolla bothata ba ka bo khethehileng.

Kahoo, pele ho tsohle, ha re qaleng ho kenyelletsa boleng ba counter ho influxDB. Karolo ea tlhophiso ea mothusi oa lapeng (mohlaleng ona ke tla ithabisa ka eseng feela ka serame, empa le metsi a chesang):

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

Ha re emise ho boloka data ena ho database ea mothusi oa lapeng e le hore re se ke ra e thiba hape:

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

Ha re ee ho khomphutha ea InfluxDB 'me re lokise database ea rona. Haholo-holo, o hloka ho hlophisa hore na data e itseng e tla bolokoa nako e kae. Sena se laoloa ke seo ho thoeng ke. leano la ho boloka - sena se tšoana le li-database tse ka har'a database ea mantlha, 'me database e' ngoe le e 'ngoe ea ka hare e na le litlhophiso tsa eona. Ka mokhoa o ikhethileng, data eohle e bolokiloe leanong la ho boloka le bitsoang autogen; data ena e tla bolokoa beke. Ke kopa hore data ea hora e bolokeloe khoeli, data ea beke le beke e bolokoe selemo, le lintlha tsa khoeli le khoeli li se ke tsa hlakoloa. Ha re theheng leano le loketseng la ho boloka

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

Joale, ha e le hantle, leqheka le ka sehloohong ke ho kopanya data ho sebelisa potso e tsoelang pele. Ona ke mokhoa o iketsetsang potso ka linako tse itseng, o kopanya lintlha tsa potso ena, ebe o eketsa sephetho ho boleng bo bocha. Ha re shebeng mohlala (ke ngola kholomong hore e balehe, empa bonneteng ke ne ke tlameha ho kenya taelo ena moleng o le mong)

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

Taelo ena:

  • E etsa potso e tsoelang pele e bitsoang cq_water_cold_hourly ho database ea mothusi
  • Kopo e tla etsoa hora e 'ngoe le e 'ngoe (nako(1h))
  • Kopo e tla hlakola lintlha tsohle ho tsoa ho tekanyo ea' homeassistant.autogen.l (lithara), ho kenyeletsoa le metsi a batang le a chesang.
  • Lintlha tse kopaneng li tla hlophisoa ke entity_id, e tla re fa boleng bo arohaneng ba metsi a batang le a chesang.
  • Kaha k'hamera ea litre ke tatellano e ntseng e eketseha ka monotonically ka hare ho hora e 'ngoe le e 'ngoe, ho tla hlokahala ho nka boleng bo phahameng, kahoo ho kopanya ho tla etsoa ke mosebetsi max(value)
  • Theko e ncha e tla ngolloa homeassistant.month.water_meter_hour, moo khoeli e leng lebitso la pholisi ea ho boloka nako ea khoeli e le 'ngoe. Ho feta moo, lintlha tse mabapi le metsi a batang le a chesang li tla hasana lirekotong tse arohaneng le entity_id e lumellanang le boleng sebakeng sa boleng.

Bosiu kapa ha ho se motho lapeng, ha ho na tšebeliso ea metsi, ka hona ha ho na litlhaloso tse ncha ho homeassistant.autogen.l. Ho qoba ho haella ha boleng lipotsong tse tloaelehileng, o ka sebelisa tlatsa (e fetileng). Sena se tla qobella InfluxDB ho sebelisa boleng ba hora e fetileng.

Ka bomalimabe, potso e tsoelang pele e na le ntho e ikhethang: leqheka la ho tlatsa (le fetileng) ha le sebetse 'me litlaleho ha lia etsoa. Ho feta moo, ena ke mofuta o mong oa bothata bo ke keng ba rarolloa hore esale ho buisanoa ka lilemo tse ’maloa joale. Re tla sebetsana le bothata bona hamorao, empa re ke re tlatsa(e fetileng) e be potsong e tsoelang pele - ha e sitise.

Ha re hlahlobe se etsahetseng (ehlile, o hloka ho ema lihora tse 'maloa):

> 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

Hlokomela hore boleng ba database bo bolokiloe ho UTC, kahoo lenane lena le fapana ka lihora tse 3 - boleng ba 7am ho tlhahiso ea InfluxDB e tsamaellana le boleng ba 10am ho li-graph tse kaholimo. Hape hlokomela hore lipakeng tsa 2 le 5 am ha ho na lirekoto - ena ke tšobotsi e tšoanang ea potso e tsoelang pele.

Joalo ka ha u bona, boleng bo kopaneng le tatellano e ntseng e eketseha ea monotonically, ke likenyo tse hlahang khafetsa - hang ka hora. Empa sena ha se bothata - re ka ngola potso e 'ngoe e tla khutlisa data e nepahetseng bakeng sa kerafo.

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)

Ke tla hlalosa:

  • Ho tswa ho bobolokelo ba homeassistant.month.water_meter_hour re tla ntša data bakeng sa entity_id='water_meter_cold' bakeng sa letsatsi la ho qetela (nako >= now() -24h).
  • Joalo ka ha ke se ke boletse, tse ling li ka ba li le sieo ho homeassistant.month.water_meter_hour tatelano. Re tla hlahisa lintlha tsena bocha ka ho botsa GROUP BY nako(1h). Lekhetlong lena tlatso (e fetileng) e tla sebetsa joalo ka ha ho lebelletsoe, e hlahise data e sieo (mosebetsi o tla nka boleng bo fetileng)
  • Ntho ea bohlokoa ka ho fetisisa kopong ena ke mosebetsi oa phapang, o tla bala phapang pakeng tsa matšoao a hora. Ha e sebetse ka boyona mme e hloka tšebetso ea aggregation. E ke e be max() a sebelisitsoeng pele.

Sephetho sa ts'ebetso se shebahala tjena

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

Ho tloha ka 2 ho isa ho 5 hoseng (UTC) ho ne ho se na tšebeliso. Leha ho le joalo, potso e tla khutlisa boleng bo ts'oanang ba ts'ebeliso ho tlatsa (e fetileng), mme phapang e tla tlosa boleng bona ho eona mme tlhahiso e tla ba 0, e leng sona se hlokahalang.

Se setseng ke ho aha kerafo. Ho etsa sena, bula Grafana, bula dashboard e teng (kapa theha e ncha), 'me u thehe phanele e ncha. Litlhophiso tsa chate li tla ba tjena.

Smart Home: Re etsa li-graph tsa tšebeliso ea metsi le motlakase ho Home Assistant

Ke tla bonts'a data ea metsi a batang le a chesang ho graph e le 'ngoe. Kopo e tšoana hantle le eo ke e hlalositseng ka holimo.

Liparamente tsa ponts'o li behiloe ka tsela e latelang. Ho 'na e tla ba kerafo e nang le mela, e tsamaeang ka mehato (litepisi). Ke tla hlalosa paramente ea Stack ka tlase. Ho na le likhetho tse ling tse 'maloa ka tlase, empa ha li khahlise hakaalo.

Smart Home: Re etsa li-graph tsa tšebeliso ea metsi le motlakase ho Home Assistant

Ho kenya chate e hlahisoang ho mothusi oa lapeng o hloka ho:

  • tsoa ho mokhoa oa ho hlophisa chate. Ka lebaka le itseng, litlhophiso tse nepahetseng tsa ho arolelana lichate li fanoa feela leqepheng la dashboard
  • Tobetsa ho kgutlotharo haufi le lebitso la chate mme o kgethe share ho tswa ho menu
  • Fesetereng e butsoeng, e-ea ho embed tab ya
  • Tlosa ho hlahloba nako ea hajoale - re tla seta nako ka URL
  • Khetha sehlooho se hlokahalang. Tabeng ya ka ho kganya
  • Kopitsa sephetho sa URL ho karete ea litlhophiso tsa 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"

Ka kopo hlokomela hore nako (matsatsi a 2 a fetileng) e behiloe mona, eseng litlhophisong tsa dashboard.

Kerafo e shebahala tjena. Ha ke e-s'o sebelise metsi a chesang matsatsing a ho qetela a 2, kahoo ke graph ea metsi a batang feela e huloang.

Smart Home: Re etsa li-graph tsa tšebeliso ea metsi le motlakase ho Home Assistant

Ke ntse ke e-s'o iketsetse qeto ea hore na ke graph efe eo ke e ratang ho feta, mohato oa mola, kapa mekoallo ea 'nete. Ka hona, ke tla fana ka mohlala oa chate ea tšebeliso ea letsatsi le letsatsi, feela lekhetlong lena ka mekoallo. Lipotso li hahiloe ka mokhoa o ts'oanang le tse hlalositsoeng ka holimo. Likhetho tsa pontšo ke:

Smart Home: Re etsa li-graph tsa tšebeliso ea metsi le motlakase ho Home Assistant

Kerafo ena e shebahala tjena:

Smart Home: Re etsa li-graph tsa tšebeliso ea metsi le motlakase ho Home Assistant

Kahoo ka parameter ea Stack. Kerafong ena, metsi a batang a huloa ka holim'a toloko ea metsi a chesang. Bophahamo bo felletseng bo lumellana le tšebeliso eohle ea metsi a batang le a chesang bakeng sa nako eo.

Lirafo tsohle tse bontšitsoeng li na le matla. U ka tsamaisa toeba ea hau holim'a ntlha eo u e ratang 'me u bone lintlha le boleng sebakeng se itseng.

Ka bomalimabe, ho ne ho e-na le lintsintsi tse 'maloa ka har'a setlolo. Ka chate ea bar (ho fapana le chate e nang le mela ea mehato), bohareng ba bar ha bo bohareng ba letsatsi, empa ka 00:00. Tseo. halofo e ka letsohong le letšehali e tolotsoe sebakeng sa letsatsi le fetileng. Kahoo li-graph tsa Moqebelo le Sontaha li huleloa hanyane ka letsohong le letšehali la sebaka se boputsoa. Ho fihlela ke nahana hore na nka e hlola joang.

Bothata bo bong ke ho se khone ho sebetsa hantle ka linako tse ling tsa khoeli le khoeli. 'Nete ke hore bolelele ba hora / letsatsi / beke bo tsitsitse, empa bolelele ba khoeli bo fapane nako le nako. InfluxDB e ka sebetsa feela ka linako tse lekanang. Ho fihlela joale likelello tsa ka li lekane ho beha nako e tsitsitseng ea matsatsi a 30. Ee, graph e tla phaphamala hanyane ho pholletsa le selemo mme mekoallo e ke ke ea lumellana hantle le likhoeli. Empa kaha ke khahliloe ke ntho ena feela joalo ka mitha ea ponts'o, ke hantle ka eona.

Ke bona bonyane litharollo tse peli:

  • Fana ka lichate tsa khoeli le khoeli 'me u ipehele ho tsa beke le beke. Libara tse 52 tsa beke le beke tsa selemo li shebahala li le ntle haholo
  • Nahana ka tšebeliso ea khoeli le khoeli ka boeona e le mokhoa oa No. 2, 'me u sebelise grafana feela bakeng sa li-graph tse ntle. E tla ba tharollo e nepahetseng haholo. U ka ba ua koahela li-graph tsa selemo se fetileng bakeng sa papiso - grafana le eona e ka etsa joalo.

fihlela qeto e

Ha ke tsebe hore na ke hobane'ng, empa ke amehile haholo ka mefuta ena ea li-graph. Li bontša hore bophelo bo ntse bo tsoela pele 'me lintho tsohle lia fetoha. Maobane ho ne ho le ngata, kajeno ho na le ho honyenyane, hosasane e tla ba ntho e 'ngoe hape. Ho setseng ke ho sebetsa le litho tsa malapa ka taba ea tšebeliso. Empa esita le ka litakatso tsa morao-rao, palo e kholo feela le e sa utloisisoeng setlankaneng sa tefo e se e ntse e fetoha setšoantšo se utloahalang sa tšebeliso.

Ho sa tsotellehe mosebetsi oa ka oa lilemo tse ka bang 20 oa ho ba setsebi sa mananeo, ho hang ke ne ke sa kopane le li-database. Ka hona, ho kenya database ea kantle ho ne ho bonahala e le ntho e sa utloahaleng le e sa utloisiseheng. E fetotse tsohle sehlooho se ka holimo - ho ile ha fumaneha hore ho kopanya sesebelisoa se loketseng ho etsoa ka makhetlo a 'maloa,' me ka sesebelisoa se khethehileng, mosebetsi oa ho rala lichate o ba bonolo haholoanyane.

Sehloohong ke buile ka tšebeliso ea motlakase. Ka bomalimabe, hajoale ha ke khone ho fana ka li-graph. Metara e le 'ngoe ea SDM120 e ile ea shoela' na, 'me e' ngoe e glitchy ha e fihla ka Modbus. Leha ho le joalo, sena ha se ame sehlooho sa sehlooho sena ka tsela leha e le efe - li-graph li tla hahoa ka tsela e tšoanang le ea metsi.

Sehloohong sena ke hlahisitse mekhoa eo ke e lekileng. Ehlile ho na le mekhoa e meng ea ho hlophisa pokello ea data le pono eo ke sa e tsebeng. Mpolelle ka eona ka litlhaloso, ke tla thahasella haholo. Ke tla thabela ho nyatsuoa ho hahang le mehopolo e mecha. Ke tšepa hore boitsebiso bo fanoeng le bona bo tla thusa motho e mong.

Source: www.habr.com

Eketsa ka tlhaloso