Guriga Wacan: Waxaanu ku dhisnaa garaafyada isticmaalka biyaha iyo korontada gudaha Kaaliyaha Guriga

Guriga Wacan: Waxaanu ku dhisnaa garaafyada isticmaalka biyaha iyo korontada gudaha Kaaliyaha Guriga
Mar kasta oo aan helo lacag koronto iyo biyo, waan la yaabanahay - runtii qoyskeygu ma wax badan ayay cunaan? Hagaag, haa, musqusha waxay leedahay dabaq kulul iyo kuleyliyaha, laakiin mar walba ma gubaan dabka. Waxaan sidoo kale u muuqaneynaa inaan badbaadineyno biyaha (inkastoo aan sidoo kale jecelnahay inaan ku dhex firidhno musqusha). Dhowr sano ka hor ayaan horeyba mitirka biyaha isku xiran ΠΈ korantada guri caqli badan, laakiin taasi waa meesha ay arrimuhu ku xayirmeen. Waxaan hadda u gaadhnay falanqaynta isticmaalka, taas oo ah waxa maqaalkani ku saabsan yahay.

Waxaan dhawaan u wareegay Kaaliyaha Guriga sidii nidaamka gurigayga smart. Mid ka mid ah sababaha ayaa si sax ah u ahaa fursadda lagu abaabulo ururinta xog badan oo awood u leh in si habboon loo dhiso noocyada kala duwan ee garaafyada.

Macluumaadka lagu sharraxay maqaalkani maaha mid cusub, dhammaan waxyaalahan hoostooda maraqa kala duwan ayaa hore loogu sharaxay internetka. Laakiin maqaal kastaa wuxuu sida caadiga ah qeexayaa hal hab ama dhinac. Waxay ahayd inaan is barbar dhigo dhammaan hababkan oo aan doorto midka ugu habboon naftayda. Maqaalku weli ma bixinayo macluumaad dhammaystiran oo ku saabsan xog-ururinta, laakiin waa nooc ka mid ah soo koobida sidaan u sameeyay. Markaa dhaleecayn wax ku ool ah iyo talooyinka hagaajinta waa la soo dhawaynayaa.

Abuurista dhibaatada

Haddaba, yoolka layliga maanta waa in la helo garaafyo qurux badan oo biyaha iyo isticmaalka korontada ah:

  • Saacaddii 2 maalmood
  • Maalin kasta 2 toddobaad
  • (ikhtiyaar) toddobaadle iyo bishiiba

Waxaa jira xoogaa dhib ah tan:

  • Qaybaha jaantuska caadiga ah badanaa aad bay u liitaan. Sida ugu fiican, waxaad ku dhisi kartaa garaaf xariiq dhibic dhibic.

    Haddii aad si adag u eegto, waxaad ka heli kartaa qaybaha dhinac saddexaad oo ballaarinaya awoodda jaantuska caadiga ah. Kaaliyaha guriga, mabda'a ahaan, tani waa qayb wanaagsan oo qurux badan kaadhka garaaf yar, laakiin sidoo kale waa xoogaa xaddidan:

    • Way adagtahay in la dejiyo cabbirada jaantuska bar in ka badan waqtiyo waaweyn (ballaadhka baarka waxa loo dejiyay jajab saacad ah, taas oo macnaheedu yahay in dhexda ka badan saacad lagu dejin doono tiro jajab ah)
    • Ma ku dari kartid qaybo kala duwan hal garaaf (tusaale, heerkulka iyo qoyaanka, ama isku darka garaafka bar iyo xariiq)
  • Ma aha oo kaliya kaaliyaha gurigu si caadi ah u isticmaalo xogta SQLite ugu da'da weyn (iyo aniga, gacan-yare, ma xamili karin rakibidda MySQL ama Postgres), laakiin xogta looma kaydiyo sida ugu habboon. Marka, tusaale ahaan, mar kasta oo aad bedesho xitaa cabbirka dhijitaalka ah ee ugu yar ee halbeegyada, json weyn oo qiyaastii kilobyte ah ayaa lagu qoraa kaydka xogta.
    {"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}}}

    Waxaan haystaa dareemeyaal aad u badan (dareemaha heerkulka qol kasta, biyaha iyo mitirka korontada), qaarna sidoo kale waxay dhaliyaan xog aad u badan. Tusaale ahaan, mitirka korantada ee SDM220 oo keliya ayaa soo saara ilaa daraasiin qiimayaal ah 10-15 ilbiriqsi kasta, waxaanan jeclaan lahaa inaan ku rakibo qiyaastii 8 mitir oo kale. Taasi. Dhammaan qiimayaashan waxay si fudud u gelin karaan xogta 100-200 MB maalin kasta. Usbuuc gudihii nidaamku si dhib ah ayuu u dhaqaaqi doonaa, bil gudaheedna flash drive wuu dhiman doonaa (haddii ay dhacdo in la rakibo kaaliyaha guriga ee caadiga ah ee Raspberry PI), iyo kaydinta xogta sanadka oo dhan waa su'aal ka baxsan.

  • Haddii aad nasiib leedahay, mitirkaagu wuxuu xisaabin karaa isticmaalka laftiisa. Waxaad u jeedin kartaa mitirka wakhti kasta oo aad waydiin kartaa wakhtiga qiimaha isticmaalka la ururiyey. Sida caadiga ah, dhammaan mitirka korantada ee leh isdhexgalka dhijitaalka ah (RS232/RS485/Modbus/Zigbee) ayaa bixiya fursadan.

    Way ka sii xun tahay haddii qalabku si fudud u cabbiri karo qiyaas degdeg ah (tusaale, awood degdeg ah ama hadda), ama si fudud u dhalin karo garaac saacad kasta X watt ama litir. Markaa waxaad u baahan tahay inaad ka fikirto sida iyo waxa la isku dari karo iyo halka lagu ururinayo qiimaha. Waxaa jirta khatar ah in la waayo warbixinta soo socota sabab kasta ha ahaatee, saxnaanta nidaamka guud ahaan waxay dhalinaysaa su'aalo. Waxaad, dabcan, ku aamini kartaa waxaas oo dhan nidaamka guriga smart sida kaaliyaha guriga, laakiin ninna ma tirtirin dhibicda ku saabsan tirada diiwaanada ee database ah, iyo ma suurtowdo in la codeeyo dareemayaal wax ka badan hal mar ilbiriqsi (a xaddididda qaab-dhismeedka kaaliyaha guriga).

Habka 1

Marka hore, aan aragno waxa kaaliyaha gurigu ku bixiyo sanduuqa dhexdiisa. Cabbiraadda isticmaalka muddo waa shaqo aadka loo raadiyo. Dabcan, waxaa la hirgeliyay waqti dheer ka hor qaab ka mid ah qayb gaar ah - utility_meter.

Nuxurka qaybtu waa in ay gudaha ku abuurto doorsoome_qiimo_joog ah oo dib u dajinayso muddo cayiman kadib (saac/usbuuc/bishii). Qaybta lafteedu waxay la socotaa doorsoomiyaha wax gelinta (qiimaha qaar ka mid ah dareemayaasha), laftiisa ayaa isdiiwaangeliya isbeddelada qiimaha - waxaad helaysaa natiijada dhammaatay. Shaygan waxa lagu sharaxay dhawr sadar oo ku jira faylka qaabaynta

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

Halkan sensor.water_meter_cold waa qiimaha mitirka hadda ee litir ee aan helo si toos ah uga soo baxa birta by mqtt. Naqshadu waxay abuurtaa 2 dareeme oo cusub water_cold_hour_um iyo water_cold_day_um, kuwaas oo uruursada akhrin saacadle ah iyo maalinle ah, dib u dejinaya ilaa eber ka dib markii muddada ay dhammaatay. Halkan waxaa ah garaafka batari saacadle ah oo ah maalin badhkeed.

Guriga Wacan: Waxaanu ku dhisnaa garaafyada isticmaalka biyaha iyo korontada gudaha Kaaliyaha Guriga

Koodhka jaantusyada saacadle iyo maalinle ee lovelace-UI wuxuu u eg yahay sidan:

      - 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

Dhab ahaantii, dhibaatada habkani waxay ku jirtaa algorithm-kan. Sidaan horeyba u soo sheegay, qiime kasta oo wax gelin ah (akhrinta mitirka hadda ee litir kasta oo soo socda) 1kb ee diiwaannada ayaa laga soo saaray kaydka. Mitir kasta oo utility sidoo kale wuxuu soo saaraa qiime cusub, kaas oo sidoo kale lagu daro saldhigga. Haddii aan rabo in aan ururiyo akhrin saacadle ah/maalinle/toddobaadkii/bileed ah, iyo dhawr biyo kiciyaal ah, oo aan ku daro baakidh mitir koronto ah, taasi waxay noqon doontaa xog badan. Waa hagaag, si sax ah, ma jiraan xog badan, laakiin maadaama kaaliyaha gurigu uu qorayo farabadan macluumaadka aan loo baahnayn ee kaydka, xajmiga kaydka ayaa kori doona boodboodka iyo xuduudaha. Waxaan ka baqayaa inaan xitaa qiyaaso xajmiga saldhigga jaantusyada toddobaadlaha iyo bilaha ah.

Intaa waxaa dheer, mitirka korontada laftiisa ma xalliyo dhibaatada. Garaafyada qiyamka uu soo saaray mitirka tamarta ayaa ah shaqo sii kordheysa oo ku celisa 0 saacad kasta. Waxaan u baahanahay jaantus isticmaalka oo uu fahmi karo isticmaaluhu, oo muujinaya inta litir ee la isticmaalay muddadaas. Qaybta garaafka caadiga ah ma samayn karto tan, laakiin qaybta dibadda-garaaf-yar-yar ayaa naga caawin karta.

Kani waa koodhka kaadhka 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'

Marka lagu daro goobaha caadiga ah sida magaca dareemayaasha, nooca garaafyada, midabka (ma aanan jeclayn orange-ga caadiga ah), waxaa muhiim ah in la ogaado 3 goobood:

  • group_by:hour β€” garaafku waxa la soo saari doona baararka ku toosan bilawga saacada
  • Point_per_hour: 1 - hal bar saacad kasta
  • Iyo tan ugu muhiimsan, aggregate_func: max - qaado qiimaha ugu badan saacad kasta. Waa halbeeggan kan u rogaya garaafka sawtoothka baararka

Guriga Wacan: Waxaanu ku dhisnaa garaafyada isticmaalka biyaha iyo korontada gudaha Kaaliyaha Guriga

Ha u fiirsan safka tiirarka bidixda - tani waa habdhaqanka caadiga ah ee qaybta haddii aysan jirin xog. Laakin ma jirin xog-waxa aan daaray ururinta xogta mitirka utility dhawr saacadood ka hor kaliya dartiis maqaalkan (waxaan ku qeexi doonaa habkayga hadda).

Sawirkan waxaan rabay in aan muujiyo in mararka qaarkood bandhigga xogta xitaa uu shaqeeyo iyo baararka ayaa dhab ahaantii ka tarjumaya qiyamka saxda ah. Laakiin intaas kuma koobna. Sababta qaarkood, tiirka la doortay ee muddada u dhaxaysa 11 ilaa 12 subaxnimo wuxuu muujinayaa 19 litir, inkastoo garaafka cadayga wax yar ka sarreeya isla muddadaas isla dareenka isku midka ah waxaan aragnaa isticmaalka 62 litir. Ama cilad ayaa jirta ama gacmuhu waa qalloocan yihiin. Laakiin weli ma fahmin sababta xogta midigta u go'day - isticmaalka ayaa ahaa mid caadi ah, kaas oo sidoo kale ka muuqda garaafka cadayga.

Guud ahaan, ma aan awoodin in aan gaaro macquulnimada habkan - garaafku had iyo jeer wuxuu muujiyaa nooc ka mid ah bidcada.

Koodhka la midka ah ee dareenka maalintii.

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

Fadlan la soco in kooxda_by halbeeggu loo dejiyay inuu dhexda u dhexeeyo, iyo dhibcaha_halkii_saacadood ayaa xukuma wax walba. Halkaa waxaa ku jira dhibaato kale oo ka mid ah qaybtan - points_per_hour waxay si fiican ugu shaqeysaa jaantusyada saacad ama ka yar, laakiin waxay nuugtaa waqtiyo waaweyn. Markaa si aan hal tiir u helo hal maalin gudaheed, waxa ay ahayd in aan galo qiimaha 1/24=0.04166666. Xitaa kama hadlayo jaantusyada toddobaadlaha iyo bilaha ah.

Habka 2

Anigoo weli fahmaya kaaliyaha guriga, waxaan la kulmay muuqaalkan:


Saaxiibku waxa uu xogta isticmaalka ka ururiyaa dhowr nooc oo saldhigyada Xiaomi ah. Shaqadiisu waa wax yar ka fudud - si fudud u muuji qiimaha isticmaalka maanta, shalay iyo bishii. Looma baahna jadwal

Aan dhinac iska dhaafno doodaha ku saabsan is-dhexgalka gacanta ee qiyamka awoodda degdegga ah - waxaan horeba wax uga qoray "saxnimada" habkan. Ma cadda sababta uusan u isticmaalin qiyamka isticmaalka ee la ururiyey, kuwaas oo ay horayba u soo ururiyeen isla meel la mid ah. Fikradayda, isdhexgalka gudaha qalabka ayaa si fiican u shaqeyn doona.

Fiidiyowga waxaan ka qaadan doonaa fikradda ah in gacanta lagu tiriyo isticmaalka muddo. Ninku wuxuu xisaabiyaa qiyamka maanta iyo shalay, laakiin waan sii socon doonaa oo waxaan isku dayi doonaa inaan sawiro garaaf. Nuxurka habka la soo jeediyay ee kiiskayga waa sida soo socota.

Aynu abuurno qiime doorsooma_waqtiga_bilawga_hour, kaas oo aanu ku qori doono akhrinta mitirka hadda
Isticmaalka saacadda, dhammaadka saac (ama bilawga kan ku xiga) waxaan xisaabineynaa farqiga u dhexeeya akhrinta hadda iyo kan la kaydiyay bilawga saacadda. Farqigani wuxuu noqon doonaa isticmaalka saacadda hadda jirta - waxaan ku badbaadin doonaa qiimaha dareenka, mustaqbalkana waxaan dhisi doonaa garaaf ku salaysan qiimahan.
Waxa kale oo aad u baahan tahay in aad dib u dejiso qiimaha_at_beginning_of_hour doorsoome adiga oo ku qoraya qiimaha miiska hadda jira.

Waxaas oo dhan waxaa lagu samayn karaa kaaliyaha guriga laftiisa.

Waa inaad qortaa kood wax yar ka badan sidii habkii hore. Marka hore, aynu abuurno kuwan "kala duwanaansho" isku mid ah. Marka laga soo tago sanduuqa kuma lihin wax "beddeli kara", laakiin waxaan isticmaali karnaa adeegyada dullaaliyaha mqtt. Waxaan u soo diri doonaa qiyamka halkaas oo leh haynta = calan run ah - tani waxay badbaadin doontaa qiimaha gudaha dallaalka, waana laga soo saari karaa halkaas wakhti kasta, xitaa marka kaaliyaha guriga dib loo bilaabo. Waxaan hal mar sameeyay xisaabiyeyaasha saacadaha iyo maalinlaha ah.

- 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

Dhammaan sixirku waxay ku dhacaan otomaatiga, kaas oo socda saacad kasta iyo habeen kasta siday u kala horreeyaan.

- 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

Labada qalabba waxay qabtaan 2 fal:

  • U xisaabi qiimaha bareeg sida faraqa u dhexeeya qiimaha bilowga iyo dhammaadka
  • Cusbooneysii qiimaha saldhiga inta u dhaxaysa

Dhismaha garaafyada kiiskan waxaa lagu xalliyaa garaafka taariikhda caadiga ah:

      - 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

Waxay u egtahay sidan:

Guriga Wacan: Waxaanu ku dhisnaa garaafyada isticmaalka biyaha iyo korontada gudaha Kaaliyaha Guriga

Mabda 'ahaan, tani waa horeba waxa loo baahan yahay. Faa'iidada habkani waa in xogta la soo saaro hal mar intii u dhexaysay. Kuwaas. kaliya 24 diiwaan maalintii shaxda saacadii ah.

Nasiib darro, tani weli ma xallinayso dhibaatada guud ee saldhigga sii kordhaya. Haddii aan rabo garaafka isticmaalka bishiiba, waa inaan kaydiyaa xogta ugu yaraan hal sano. Oo maadaama kaaliyaha gurigu uu bixiyo hal meel oo kaydineed oo keliya dhammaan xogta xogta, tani waxay la macno tahay in DHAMMAAN xogta nidaamka ay tahay in la kaydiyo sannad dhan. Tusaale ahaan, sannadkii waxaan cunaa 200 oo mitir kuyuubik oo biyo ah, taas macnaheedu waa 200000 oo galmood oo kayd ah. Oo haddii aad tixgeliso dareemayaasha kale, markaas shaxanka guud ahaan wuxuu noqonayaa mid aan fiicneyn.

Habka 3

Nasiib wanaag, dadka caqliga leh ayaa mar hore xaliyay dhibaatadan iyagoo qoraya xogta InfluxDB. Xog-ururintan waxa si gaar ah loogu habeeyay kaydinta xogta wakhtiga ku salaysan waxayna ku habboon tahay kaydinta qiyamka dareemayaasha kala duwan. Nidaamku wuxuu sidoo kale bixiyaa luqad su'aal SQL- oo kale ah kaas oo kuu ogolaanaya inaad ka soo saarto qiyamka database-ka kadibna aad isugu geyso siyaabo kala duwan. Ugu dambeyntii, xog kala duwan ayaa lagu keydin karaa waqtiyo kala duwan. Tusaale ahaan, akhrinta is-beddelka badan sida heerkulka ama qoyaanka waxa lagu kaydin karaa dhawr toddobaad oo keliya, halka akhrinta isticmaalka biyaha maalinlaha ah la kaydin karo sannad dhan.

InfluxDB ka sokow, dadka caqliga leh waxay sidoo kale ikhtiraaceen Grafana, oo ah nidaam sawir garaafyo ku salaysan xogta InfluxDB. Grafana waxay sawiri kartaa noocyo garaafyo kala duwan, si faahfaahsan u habayn karta, iyo, tan ugu muhiimsan, garaafyadan waxaa lagu "ku dhejin karaa" kaaliyaha guriga ee lovelace-UI.

Dhiiri galin halkan ΠΈ halkan. Maqaaladu waxay si faahfaahsan u sharaxayaan habka rakibida iyo isku xidhka InfluxDB iyo Grafana kaaliyaha guriga. Waxaan diiradda saari doonaa xallinta mushkiladeyda gaarka ah.

Marka, marka hore, aan bilowno ku darida qiimaha counter influxDB. Qayb ka mid ah qaabeynta kaaliyaha guriga (tusaale ahaan waxaan ku raaxaysan doonaa qabow kaliya, laakiin sidoo kale biyo kulul):

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

Aynu joojino kaydinta xogtan isku midka ah ee kaydinta kaaliyaha guriga ee gudaha si aynaan mar kale u bararin:

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

Aan hadda tagno InfluxDB console oo aan habeyno xogtayada. Gaar ahaan, waxaad u baahan tahay inaad habayso ilaa inta xogta qaarkood la kaydin doono. Tan waxaa nidaamiya waxa loogu yeero. siyaasadda haynta - tani waxay la mid tahay xog-ururinta ku dhex jirta kaydka xogta muhiimka ah, iyada oo xog kasta oo gudaha ahi leedahay hab u gaar ah. Sida caadiga ah, dhammaan xogta waxa lagu kaydiyaa siyaasadda haynta ee loo yaqaan autogen; xogtan waxa la kaydin doonaa muddo toddobaad ah. Waxaan jeclaan lahaa in xogta saacadiiba la hayo muddo bil ah, xogta toddobaadlaha ahna la hayo muddo sannad ah, iyo in xogta bisha aan weligeed la tirtirin. Aynu abuurno siyaasadda haynta ku habboon

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

Hadda, dhab ahaantii, khiyaamada ugu weyni waa isku-darka xogta iyadoo la adeegsanayo weydiin joogto ah. Tani waa hab si toos ah u socodsiiya weydiinta muddooyin cayiman, isku geynaya xogta su'aashan, oo natiijada ku dara qiimo cusub. Aan eegno tusaale (waxaan ku qoraa tiir si loo akhriyo, laakiin dhab ahaantii waxay ahayd inaan amarkan ku galo hal sadar)

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

Amarkan:

  • Waxay ku abuurtaa waydiimo joogto ah oo lagu magacaabo cq_water_cold_hourly gudaha kaydka xogta guriga
  • Codsiga waxaa la fulin doonaa saacad kasta (wakhti(1saac))
  • Codsiga ayaa tirtiri doona dhammaan xogta laga helay cabbirka' homeassistant.autogen.l (litir), oo ay ku jiraan akhrinta biyaha qabow iyo kulul.
  • Xogta la isku daray waxaa loo qaybin doonaa entity_id, kaas oo na siin doona qiimayaal gaar ah oo qabow iyo biyo kulul
  • Maadaama miiska litirku uu yahay isku xigxiga sii kordhaya ee isku xigxiga saacad kasta, waxay noqon doontaa lagama maarmaan in la qaato qiimaha ugu sarreeya, markaa isku-darka waxaa lagu fulin doonaa shaqada ugu badan (qiimaha)
  • Qiimaha cusub waxaa loo qori doonaa homeassistant.month.water_meter_hour, halkaas oo bisha ay tahay magaca siyaasadda haynta oo leh muddo hal bil ah. Intaa waxaa dheer, xogta ku saabsan biyaha qabow iyo kulul ayaa loo kala firdhi doonaa diiwaanno gaar ah oo leh cidda_id u dhiganta iyo qiimaha goobta qiimaha

Habeenkii ama marka qofna uusan guriga joogin, ma jiraan isticmaalka biyaha, sidaas darteed ma jiraan wax cusub oo la geliyo homeassistant.autogen.l. Si looga fogaado qiyamka maqan ee su'aalaha caadiga ah, waxaad isticmaali kartaa buuxin (hore). Tani waxay ku qasbi doontaa InfluxDB inay isticmaasho qiimaha saacadda ugu dambeysa.

Nasiib darro, weydiinta joogtada ah waxay leedahay sifooyin gaar ah: khiyaanada buuxinta (hore) ma shaqeyso oo diiwaannada si fudud looma abuurin. Intaa waxaa dheer, tani waa nooc ka mid ah dhibaatada aan laga gudbi karin ayaa laga hadlay dhowr sano hadda. Waxaan wax ka qaban doonaa dhibaatadan mar dambe, laakiin u ogolow buuxinta (hore) inay ku jirto weydiinta joogtada ah - ma faragelinayso.

Aynu eegno waxa dhacay (dabcan, waxaad u baahan tahay inaad sugto dhawr saacadood):

> 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

Ogsoonow in qiyamka xogta ku jira ay ku kaydsan yihiin UTC, markaa liiskani wuxuu ku kala duwan yahay saacadaha 3 - qiimaha 7am ee soosaarka InfluxDB wuxuu u dhigmaa qiyamka 10am ee garaafyada kore. Sidoo kale ogow in inta u dhaxaysa 2 iyo 5 subaxnimo aysan jirin wax diiwaanno ah - tani waa isla sifo la mid ah weydiinta joogtada ah.

Sida aad arki karto, qiimaha la isku daray ayaa sidoo kale ah isku xigxig sii kordhaya, kaliya gelitaanadu waxay dhacaan si ka yar si joogto ah - hal mar saacaddii. Laakiin tani dhib ma aha - waxaan qori karnaa weydiimo kale oo soo ceshan doona xogta saxda ah ee garaafka.

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)

waan qeexi doonaa:

  • Laga soo bilaabo homeassistant.month.water_meter_hour database waxaan ka soo saari doonaa xogta cidda_id='water_meter_cold' maalinta u dambaysa (waqtiga >= hadda() -24h).
  • Sidaan horayba u soo sheegay, gelitaannada qaar ayaa laga yaabaa inay ka maqan yihiin taxanaha homeassistant.month.water_meter_hour. Waxaan dib u soo saari doonaa xogtan annagoo la kaashanayna weydiin GROUP BY waqti(1saac). Buuxinta wakhtigan (hore) waxay u shaqayn doontaa sidii la filayay, soo saarista xogta maqan (shaqadu waxay qaadan doontaa qiimihii hore)
  • Waxa ugu muhiimsan ee codsigan waa shaqada faraqa, taas oo xisaabin doonta farqiga u dhexeeya calaamadaha saacadaha. Iskeed uma shaqeyso waxayna u baahan tahay shaqo isku-dar. Kani ha noqdo max() la isticmaalay ka hor.

Natiijada fulinta waxay u egtahay sidan

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

Laga bilaabo 2 ilaa 5 subaxnimo (UTC) ma jirin wax la isticmaalo. Si kastaba ha ahaatee, weydiintu waxay soo celin doontaa isla qiimaha isticmaalka iyada oo ay ku mahadsan tahay buuxinta (hore), iyo shaqada kala duwanaanshuhu waxay ka gooyn doontaa qiimahan lafteeda iyo wax soo saarku wuxuu noqon doonaa 0, taas oo ah waxa loo baahan yahay.

Waxa hadhay oo dhan waa in la dhiso garaaf. Si tan loo sameeyo, fur Grafana, fur qaar jira (ama samee mid cusub) dashboard, oo samee guddi cusub. Dejinta jaantusku waxay noqon doontaa sidan.

Guriga Wacan: Waxaanu ku dhisnaa garaafyada isticmaalka biyaha iyo korontada gudaha Kaaliyaha Guriga

Waxaan ku soo bandhigi doonaa xogta qabow iyo biyaha kulul isla jaantuska. Codsigu waa isla sidaan kor ku tilmaamay.

Xuduudaha muujinta ayaa loo dejiyay sida soo socota. Aniga ahaan waxay noqon doontaa garaaf leh xariiqyo, kaas oo u socda jaranjaro. Hoos waxaan ku sharixi doonaa qiyaasta Stack Hoos waxaa jira dhowr ikhtiyaar oo bandhig ah, laakiin maaha kuwo xiiso leh.

Guriga Wacan: Waxaanu ku dhisnaa garaafyada isticmaalka biyaha iyo korontada gudaha Kaaliyaha Guriga

Si aad ugu darto shaxda natiijada kaaliyaha guriga waxaad u baahan tahay:

  • ka bax qaabka tafatirka shaxda. Sababta qaar, jaantus wadaagga saxda ah ee jaantusyada waxaa laga bixiyaa kaliya bogga dashboard-ka
  • Guji saddexagalka ku xiga magaca jaantuska oo ka dooro qaybsiga liiska
  • Daaqadda furmo, aad tab tab ku dhejisan
  • Ka saar wakhtiga kala duwan ee hadda - waxaanu dejin doonaa kala duwanaanshaha wakhtiga iyada oo loo marayo URL
  • Dooro mawduuca loo baahan yahay. Xaaladeyda waa iftiin
  • Ku koobbi URL natiijada kaarka 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"

Fadlan ogow in wakhtiga kala duwan (2 maalmood ee la soo dhaafay) lagu dejiyay halkan, oo aan lagu dhejin goobaha dashboard-ka.

Garaafku wuxuu u eg yahay sidan. Ma aanan isticmaalin biyo kulul 2dii maalmood ee la soo dhaafay, marka kaliya garaafyada biyaha qabow ayaa la sawiray.

Guriga Wacan: Waxaanu ku dhisnaa garaafyada isticmaalka biyaha iyo korontada gudaha Kaaliyaha Guriga

Wali maan go'aansan naftayda garaafka aan jeclahay si ka fiican, tillaabo-line, ama baararka dhabta ah. Sidaa darteed, waxaan si fudud u siin doonaa tusaale shaxda isticmaalka maalinlaha ah, kaliya markan baararka. Weydiimaha waxaa loo dhisay si la mid ah kuwa kor lagu sharaxay. Ikhtiyaarada bandhigu waa:

Guriga Wacan: Waxaanu ku dhisnaa garaafyada isticmaalka biyaha iyo korontada gudaha Kaaliyaha Guriga

garaafkani waxa uu u eegyahay sidan:

Guriga Wacan: Waxaanu ku dhisnaa garaafyada isticmaalka biyaha iyo korontada gudaha Kaaliyaha Guriga

Markaa ku saabsan cabbirka Stack. Garaafkan, tiir biyo qabow ayaa lagu sawiray korka tiir biyo kulul ah. Wadarta dhererka waxay u dhigantaa wadarta guud ee isticmaalka biyaha qabow iyo kulul ee muddada.

Dhammaan garaafyada la muujiyey waa kuwo firfircoon Waxaad dulmarsan kartaa jiirkaaga barta xiisaha oo waxaad arki kartaa faahfaahinta iyo qiimaha meel gaar ah.

Nasiib darro, waxaa jiray dhowr duqsi oo cadarka. Shaxda bar (si ka duwan jaantuska leh xariiqyada tillaabada), dhexda barku maaha badhtamaha maalinta, laakiin waa 00:00. Kuwaas. Qaybta bidix ee tiirka waxaa lagu sawiray meeshii maalintii hore. Markaa garaafyada Sabtida iyo Axada waxa loo sawiray wax yar dhanka bidix ee aagga buluuga ah. Ilaa aan ka fikiray sidii aan uga adkaan lahaa.

Dhibaato kale ayaa ah awood la'aanta in si sax ah loo shaqeeyo wakhtiyo bille ah. Xaqiiqdu waxay tahay in dhererka saacadda/maalinta/usbuuca ay go'an tahay, laakiin dhererka bishu waa ka duwan yahay waqti kasta. InfluxDB waxay shaqayn kartaa oo kaliya waqtiyo siman. Ilaa hadda maskaxdaydu waxay ku filnaatay inay dejiso waqti go'an oo 30 maalmood ah. Haa, garaafku wax yar ayuu sabayn doonaa sanadka oo dhan, baararkana si sax ah uma dhigmi doonaan bilaha. Laakiin maadaama aan xiisaynaya shaygan si fudud mitir ahaan, waan ku fiicanahay.

Waxaan arkaa ugu yaraan laba xal:

  • Iska daa jaantusyada bilaha ah oo naftaada ku koob kuwa toddobaadlaha ah. 52 baararka toddobaadlaha ah ee sannadka waxay u muuqdaan kuwo aad u wanaagsan
  • Tixgeli isticmaalka bilaha laftiisa sida habka No. 2, oo u isticmaal grafana kaliya garaafyada quruxda badan. Waxay noqon doontaa xal sax ah. Xitaa waxaad ku dafiri kartaa garaafyada sannadkii la soo dhaafay si loo barbardhigo - grafana sidoo kale way sameyn kartaa taas.

gunaanad

Ma garanayo sababta, laakiin waxaan aad ugu mashquulsanahay garaafyada noocaan ah. Waxay muujinayaan in noloshu si xawli ah ku socoto, wax walbana isbedelayaan. Shalay wax badan baa jiray, maanta wax yar baa jira, berrina wax kale ayaa noqon doona. Waxa hadhay oo dhan waa in lagala shaqeeyo xubnaha qoyska mawduuca isticmaalka. Laakiin xitaa iyada oo rabitaanka cuntada ee hadda jira, kaliya tiro weyn oo aan la fahmi karin oo ku taal warqadda lacag bixinta ayaa durba isu beddelaysa sawir si caddaalad ah loo fahmi karo oo isticmaalka ah.

In kasta oo aan ku dhawaad ​​20-sano shaqadeyda barnaamij-sameeyaha, wax xiriir ah lama yeelanin xog-ururinta. Sidaa darteed, rakibidda xogta dibadda waxay u muuqatay wax aan la fahmi karin oo aan la fahmi karin. Wax walba bedelay kor maqaalka - waxaa soo baxday in ku-xidhka qalab ku habboon lagu sameeyo dhowr jeer, iyo qalab gaar ah, hawsha jaantusyada jaantusyada ayaa noqda mid sahlan.

Ciwaanka waxaan ku xusay isticmaalka korontada. Nasiib darro, hadda ma bixin karo wax garaafyo. Mid ka mid ah mitir SDM120 ayaa ii dhintay, kan kalena wuu dhalaalayaa marka laga galo Modbus. Si kastaba ha ahaatee, tani ma saameynayso mawduuca maqaalkan sinaba - garaafyada waxaa loo dhisi doonaa si la mid ah biyaha.

Maqaalkan waxaan ku soo bandhigay hababka aan isku dayay naftayda. Hubaal waxaa jira siyaabo kale oo lagu abaabulo xog ururin iyo muuqaal oo aanan garanayn. Wax iiga sheeg faallooyinka, waxaan noqon doonaa mid aad u xiiso badan. Waxaan ku farxi doonaa dhaleecayn wax dhisaysa iyo fikrado cusub. Waxaan rajeynayaa in waxyaabaha la soo bandhigay ay sidoo kale caawin doonaan qof.

Source: www.habr.com

Add a comment