{"id":74421,"date":"2020-03-17T08:43:08","date_gmt":"2020-03-17T05:43:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/umnyj-dom-stroim-grafiki-potrebleniya-vody-i-elektrichestva-v-home-assistant"},"modified":"2020-03-17T08:43:08","modified_gmt":"2020-03-17T05:43:08","slug":"umnyj-dom-stroim-grafiki-potrebleniya-vody-i-elektrichestva-v-home-assistant","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/umnyj-dom-stroim-grafiki-potrebleniya-vody-i-elektrichestva-v-home-assistant","title":{"rendered":"Sht\u00ebpia e men\u00e7ur: Nd\u00ebrtojm\u00eb grafik\u00ebt e konsumit t\u00eb ujit dhe energjis\u00eb elektrike n\u00eb Home Assistant","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Sht\u00ebpia e men\u00e7ur: Nd\u00ebrtojm\u00eb grafik\u00ebt e konsumit t\u00eb ujit dhe energjis\u00eb elektrike n\u00eb Home Assistant\" src=\"\/wp-content\/uploads\/2020\/03\/f1133a4c391e901ed64bf0825a774fc6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u00c7do her\u00eb q\u00eb merr fatur\u00ebn p\u00ebr elektricitetin dhe uj\u00eb, \u00e7uditem - vall\u00eb, familja ime konsumon kaq shum\u00eb? Po, n\u00eb banj\u00eb kemi ngrohje t\u00eb dyshemes\u00eb dhe nj\u00eb bojler, por ato nuk punojn\u00eb nonstop. Edhe p\u00ebr uj\u00eb duket se e kursejm\u00eb (pavar\u00ebsisht se na p\u00eblqen t\u00eb b\u00ebjm\u00eb nj\u00eb banj\u00eb). Para disa vitesh, kam <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/411259\/\">instaluar mat\u00ebsit e ujit<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=XKvunh29sZo&amp;list=PLkt_cQxT0oUmfdxhbmTjytjaJjZjSVUOu\">elektricitetit<\/a><\/noindex> n\u00eb sht\u00ebpin\u00eb time inteligjente, por puna ndaloi atje. Analiza e konsumit arriti vet\u00ebm tani, p\u00ebr t\u00eb cil\u00ebn, n\u00eb fakt, \u00ebsht\u00eb kjo artikull.<\/p>\n<p>S\u00eb fundmi kam kaluar n\u00eb Home Assistant si sistemin tim t\u00eb sht\u00ebpis\u00eb inteligjente. Nj\u00eb nga arsyet ishte pik\u00ebrisht mund\u00ebsia p\u00ebr t\u00eb organizuar mbledhjen e nj\u00eb sasie t\u00eb madhe t\u00eb t\u00eb dh\u00ebnave me mund\u00ebsin\u00eb e nd\u00ebrtimit t\u00eb grafikeve t\u00eb ndryshme.<\/p>\n<p>Informacioni i p\u00ebrshkruar n\u00eb k\u00ebt\u00eb artikull nuk \u00ebsht\u00eb i ri, t\u00eb gjitha k\u00ebto gj\u00ebra n\u00eb forma t\u00eb ndryshme jan\u00eb p\u00ebrshkruar tashm\u00eb n\u00eb internet. Por \u00e7do artikull, n\u00eb p\u00ebrgjith\u00ebsi, p\u00ebrshkruan vet\u00ebm nj\u00eb qasje ose aspekt. Krahasimi i t\u00eb gjitha k\u00ebtyre qasjeve dhe zgjedhja e m\u00eb t\u00eb p\u00ebrshtatshmes \u00ebsht\u00eb detyra ime. Artikulli gjithsesi nuk ofron informacion t\u00eb plot\u00eb mbi mbledhjen e t\u00eb dh\u00ebnave, por \u00ebsht\u00eb nj\u00eb lloj p\u00ebrmbledhjeje t\u00eb asaj q\u00eb kam b\u00ebr\u00eb. Pra, kritika konstruktive dhe propozime p\u00ebr p\u00ebrmir\u00ebsim jan\u00eb t\u00eb mir\u00ebpritura.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Vendosja e detyr\u00ebs<\/h2>\n<p>\nPrandaj, q\u00ebllimi i ushtrimit t\u00eb sot\u00ebm \u00ebsht\u00eb t\u00eb merret grafika e bukur e konsumit t\u00eb ujit dhe energjis\u00eb elektrike:<\/p>\n<ul>\n<li>P\u00ebr \u00e7do or\u00eb gjat\u00eb 2 dit\u00ebve<\/li>\n<li>P\u00ebr \u00e7do dit\u00eb gjat\u00eb 2 jav\u00ebve<\/li>\n<li>(opsionale) p\u00ebr \u00e7do jav\u00eb dhe p\u00ebr \u00e7do muaj<\/li>\n<\/ul>\n<p>\nN\u00eb k\u00ebt\u00eb na presin disa v\u00ebshtir\u00ebsi:<\/p>\n<ul>\n<li>Komponent\u00ebt standard\u00eb t\u00eb grafik\u00ebve, n\u00eb p\u00ebrgjith\u00ebsi, jan\u00eb mjaft t\u00eb varf\u00ebr. N\u00eb rastin m\u00eb t\u00eb mir\u00eb, mund t\u00eb nd\u00ebrtohet nj\u00eb grafik linear mbi pika.\n<p>N\u00ebse k\u00ebrkoni mir\u00eb, mund t\u00eb gjeni komponent\u00eb t\u00eb jasht\u00ebm q\u00eb zgjasin mund\u00ebsit\u00eb e grafik\u00ebve standard\u00eb. P\u00ebr home assistant, n\u00eb thelb, \u00ebsht\u00eb nj\u00eb komponent i mir\u00eb dhe i bukur <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kalkih\/mini-graph-card\">mini-graph-card<\/a><\/noindex>, por edhe ai \u00ebsht\u00eb disi i kufizuar:<\/p>\n<ul>\n<li>\u00cbsht\u00eb e v\u00ebshtir\u00eb t\u00eb vendos\u00ebsh parametrat e grafik\u00ebve me kolona n\u00eb intervale t\u00eb m\u00ebdha (gjer\u00ebsia e kolonave vendoset n\u00eb pjes\u00eb or\u00ebsh, q\u00eb do t\u00eb thot\u00eb se intervalet m\u00eb t\u00eb gjata se nj\u00eb or\u00eb do t\u00eb vendosen si numra decimal\u00eb)<\/li>\n<li>Nuk mund t\u00eb shtosh entitete t\u00eb ndryshme n\u00eb nj\u00eb grafik (p.sh. temperatur\u00ebn dhe lag\u00ebshtin\u00eb, ose t\u00eb kombinosh grafikun me kolona me nj\u00eb vij\u00eb)<\/li>\n<\/ul>\n<\/li>\n<li>Jo vet\u00ebm q\u00eb Home Assistant p\u00ebr default p\u00ebrdor baz\u00ebn e t\u00eb dh\u00ebnave m\u00eb primitive SQLite (dhe un\u00eb, i pafuqish\u00ebm, nuk arrita t\u00eb instaloja MySQL ose Postgres), por edhe t\u00eb dh\u00ebnat ruhen n\u00eb nj\u00eb m\u00ebnyr\u00eb q\u00eb nuk \u00ebsht\u00eb optimale. P\u00ebr shembull, me \u00e7do ndryshim t\u00eb \u00e7do parametri edhe m\u00eb t\u00eb vog\u00ebl n\u00eb numra, n\u00eb baz\u00eb shkruhet nj\u00eb JSON i madh me nj\u00eb madh\u00ebsi prej rreth kilobajt\u00ebsh.\n<pre><code class=\"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}}}<\/code><\/pre>\n<p>\nKam kam shum\u00eb sensor\u00eb (sensor\u00eb temperatur\u00ebs n\u00eb \u00e7do dhom\u00eb, mat\u00ebs uji dhe elektriciteti), dhe disa madje gjenerojn\u00eb shum\u00eb t\u00eb dh\u00ebna. P\u00ebr shembull, vet\u00ebm mat\u00ebsi i elektricitetit SDM220 gjeneron rreth nj\u00eb duzin\u00eb vlerash \u00e7do 10-15 sekonda, dhe un\u00eb do t\u00eb doja t\u00eb instaloj rreth 8 prej k\u00ebtyre mat\u00ebsve. Gjithashtu ka nj\u00eb grup t\u00eb madh parametrash q\u00eb llogariten n\u00eb baz\u00eb t\u00eb sensor\u00ebve t\u00eb tjer\u00eb. T\u00eb gjitha k\u00ebto vlera leht\u00ebsisht mund ta fryjn\u00eb baz\u00ebn e t\u00eb dh\u00ebnave me 100-200 MB \u00e7do dit\u00eb. Pas nj\u00eb jave, sistemi do t\u00eb ket\u00eb v\u00ebshtir\u00ebsi t\u00eb funksionoj\u00eb, dhe pas nj\u00eb muaji, plaka USB do t\u00eb d\u00ebshtoj\u00eb (n\u00eb rastin e instalimit tipik t\u00eb home assistant n\u00eb raspberry PI), dhe nuk b\u00ebhet fjal\u00eb p\u00ebr ruajtjen e t\u00eb dh\u00ebnave p\u00ebr nj\u00eb vit t\u00eb t\u00ebr\u00eb.<\/li>\n<li>N\u00ebse keni fat, mat\u00ebsi juaj mund t\u00eb llogaris\u00eb vet\u00eb konsumimin. N\u00eb \u00e7do moment mund t\u00eb drejtoheni te mat\u00ebsi dhe t\u00eb pyesni se cila \u00ebsht\u00eb vlera akumuluese e konsumit. N\u00eb p\u00ebrgjith\u00ebsi, t\u00eb gjith\u00eb mat\u00ebsit e energjis\u00eb elektrike q\u00eb kan\u00eb nj\u00eb nd\u00ebrfaqe digjitale (RS232\/RS485\/Modbus\/Zigbee) ofrojn\u00eb nj\u00eb mund\u00ebsi t\u00eb till\u00eb.\n<p>\u00cbsht\u00eb m\u00eb keq n\u00ebse pajisja mund thjesht t\u00eb mas\u00eb nj\u00eb paramet\u00ebr t\u00eb menj\u00ebhersh\u00ebm (p.sh., fuqin\u00eb ose rrym\u00ebn e menj\u00ebhershme), ose thjesht t\u00eb gjeneroj\u00eb impulset \u00e7do X vat-or\u00eb ose litra. At\u00ebher\u00eb duhet t\u00eb mendojm\u00eb se si dhe me \u00e7far\u00eb ta integrojm\u00eb dhe ku ta ruajm\u00eb vler\u00ebn. Ka rrezik t\u00eb humbasim raportin e radh\u00ebs p\u00ebr ndonj\u00eb arsye, madje dhe saktesia e sistemit n\u00eb t\u00ebr\u00ebsi ngre pyetje. Sigurisht, mund ta ngarkojm\u00eb t\u00ebr\u00eb k\u00ebt\u00eb sistemit t\u00eb sht\u00ebpis\u00eb inteligjente si home assistant, por pika mbi numrin e regjistrimeve n\u00eb baz\u00eb nuk \u00ebsht\u00eb anuluar, dhe as nuk do t\u00eb arrijm\u00eb t\u00eb anketojm\u00eb sensor\u00ebt m\u00eb shpesh se nj\u00eb her\u00eb n\u00eb sekond\u00eb (kufizimi i arkitektur\u00ebs s\u00eb home assistant).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Qasja 1<\/h2>\n<p>\nS\u00eb pari, le t\u00eb shohim se \u00e7far\u00eb ofron home assistant direkt. Matja e konsumit p\u00ebr nj\u00eb periudh\u00eb \u2014 \u00ebsht\u00eb nj\u00eb funksionalitet shum\u00eb i k\u00ebrkuar. Sigurisht, kjo \u00ebsht\u00eb realizuar prej koh\u00ebsh n\u00eb form\u00ebn e nj\u00eb komponente t\u00eb specializuar \u2014 utility_meter. <\/p>\n<p>The essence of the component is that it internally initializes a variable called current_accumulated_value, and resets it after a specified period (hour\/week\/month). The component independently monitors the input variable (value from some sensor), subscribes to changes in the value itself \u2014 you simply receive the final result. This is described in just a few lines in the configuration file.<\/p>\n<pre><code class=\"python\">utility_meter:\n  water_cold_hour_um:\n    source: sensor.water_meter_cold\n    cycle: hourly\n  water_cold_day_um:\n    source: sensor.water_meter_cold\n    cycle: daily\n<\/code><\/pre>\n<p>\nHere, sensor.water_meter_cold is the current value of the meter in liters, which I receive. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/411259\/\">directly from the device.<\/a><\/noindex> via mqtt. The structure creates two new sensors water_cold_hour_um and water_cold_day_um, which accumulate hourly and daily readings, resetting them at the end of the period. Here\u2019s the hourly accumulator graph for half a day.<\/p>\n<p><img decoding=\"async\" alt=\"Sht\u00ebpia e men\u00e7ur: Nd\u00ebrtojm\u00eb grafik\u00ebt e konsumit t\u00eb ujit dhe energjis\u00eb elektrike n\u00eb Home Assistant\" src=\"\/wp-content\/uploads\/2020\/03\/d3c3ea29c10b17142e51ebe756ab7123.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nThe code for the hourly and daily graphs for the lovelace-UI looks like this:<\/p>\n<pre><code class=\"python\">      - type: history-graph\n        title: 'Hourly water consumption using vars'\n        hours_to_show: 48\n        entities:\n          - sensor.water_hour\n\n      - type: history-graph\n        title: 'Daily water consumption using vars'\n        hours_to_show: 360\n        entities:\n          - sensor.water_day\n<\/code><\/pre>\n<p>\nN\u00eb k\u00ebt\u00eb algorit\u00ebm q\u00ebndron problemi i k\u00ebtij qasje. Si\u00e7 e p\u00ebrmenda, p\u00ebr \u00e7do vler\u00eb hyr\u00ebse (leximi aktual i mat\u00ebsit p\u00ebr \u00e7do lit\u00ebr t\u00eb ardhsh\u00ebm) gjenerohet 1 kB regjistrimi n\u00eb baz\u00eb. \u00c7do mat\u00ebs gjithashtu gjeneron nj\u00eb vler\u00eb t\u00eb re q\u00eb gjithashtu regjistrohet n\u00eb baz\u00eb. N\u00ebse dua t\u00eb mbledh lexime or\u00ebshe \/ ditor\u00eb \/ javore \/ mujore, po p\u00ebr disa mat\u00ebs p\u00ebr ujin, dhe gjithashtu t\u00eb shtoj nj\u00eb paket\u00eb mat\u00ebsish t\u00eb energjis\u00eb elektrike - do t\u00eb jet\u00eb shum\u00eb t\u00eb dh\u00ebna. N\u00eb t\u00eb v\u00ebrtet\u00eb, t\u00eb dh\u00ebnat nuk jan\u00eb shum\u00eb, por pasi home assistant shkruan n\u00eb baz\u00eb shum\u00eb informacion t\u00eb panevojsh\u00ebm, madh\u00ebsia e baz\u00ebs do t\u00eb rritet si maja e drog\u00ebs. Frikohem t\u00eb b\u00ebj llogaritjet p\u00ebr madh\u00ebsin\u00eb e baz\u00ebs p\u00ebr grafik\u00ebt javore dhe mujore.<\/p>\n<p>P\u00ebrve\u00e7 k\u00ebsaj, utility meter vet\u00eb nuk zgjidh problemin e caktuar. Grafiku i vlerave q\u00eb jep utility meter \u00ebsht\u00eb nj\u00eb funksion monotonik n\u00eb rritje, i cili reset gabimin n\u00eb 0 \u00e7do or\u00eb. Na nevojitet nj\u00eb grafik i qart\u00eb p\u00ebr p\u00ebrdoruesin se sa litra jan\u00eb konsumuar gjat\u00eb nj\u00eb periudhe. Komponenti standard history-graph nuk e b\u00ebn k\u00ebt\u00eb, por nj\u00eb komponent i jasht\u00ebm mini-graph-card mund t\u00eb na ndihmoj\u00eb.<\/p>\n<p>Ky \u00ebsht\u00eb kodi i kart\u00ebs p\u00ebr lovelace-UI:<\/p>\n<pre><code class=\"python\">      - aggregate_func: max\n        entities:\n          - color: var(--primary-color)\n            entity: sensor.water_cold_hour_um\n        group_by: hour\n        hours_to_show: 48\n        name: \"Konsumimi i ujit n\u00eb or\u00eb i grumbulluar nga mat\u00ebsi i utilitetit\"\n        points_per_hour: 1\n        show:\n          graph: bar\n        type: 'custom:mini-graph-card'<\/code><\/pre>\n<p>\nP\u00ebrve\u00e7 cil\u00ebsimeve standarde si emri i sensorit, lloji i grafikut, ngjyra (portokalli standard nuk m\u00eb p\u00eblqeu), \u00ebsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb theksohen 3 cil\u00ebsime:<\/p>\n<ul>\n<li>group_by:hour \u2014 grafiku do t\u00eb gjenerohet me rreshtimin e kolonave n\u00eb fillim t\u00eb or\u00ebs<\/li>\n<li>points_per_hour: 1 \u2014 nj\u00eb kolone p\u00ebr \u00e7do or\u00eb<\/li>\n<li>Dhe m\u00eb e r\u00ebnd\u00ebsishmja, aggregate_func: max \u2014 t\u00eb merret vlera maksimale brenda \u00e7do ore. Ky paramet\u00ebr e kthen grafikun zigzag n\u00eb kolona.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Sht\u00ebpia e men\u00e7ur: Nd\u00ebrtojm\u00eb grafik\u00ebt e konsumit t\u00eb ujit dhe energjis\u00eb elektrike n\u00eb Home Assistant\" src=\"\/wp-content\/uploads\/2020\/03\/5bd866c39b23299e5f15dcf4a9bce38f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMos u shqet\u00ebsoni p\u00ebr disa kolona n\u00eb t\u00eb majt\u00eb \u2014 kjo \u00ebsht\u00eb sjellja standarde e komponentit n\u00ebse nuk ka t\u00eb dh\u00ebna. Dhe nuk kishte t\u00eb dh\u00ebna \u2014 aktivizova mbledhjen e t\u00eb dh\u00ebnave p\u00ebr mat\u00ebsin e utilitetit vet\u00ebm p\u00ebr k\u00ebt\u00eb artikull (qasja ime aktuale do ta diskutoj pak m\u00eb posht\u00eb). <\/p>\n<p>N\u00eb k\u00ebt\u00eb imazh doja t\u00eb tregoja se ndonj\u00ebher\u00eb shfaqja e t\u00eb dh\u00ebnave funksionon, dhe kolonat v\u00ebrtet reflektojn\u00eb vlera t\u00eb sakta. Por jo t\u00eb gjitha. Kolona e ve\u00e7ant\u00eb p\u00ebr intervalin nga 11 deri n\u00eb 12 t\u00eb m\u00ebngjesit p\u00ebr \u00e7far\u00ebdo arsye tregon 19 litra, nd\u00ebrsa n\u00eb grafikun me dh\u00ebmb\u00eb pak m\u00eb lart p\u00ebr k\u00ebt\u00eb periudh\u00eb nga i nj\u00ebjti sensor shohim konsumimin prej 62 litrave. Ose \u00ebsht\u00eb nj\u00eb gabim, ose ka di\u00e7ka t\u00eb keqe me konfigurimin. Sa i p\u00ebrket pse t\u00eb dh\u00ebnat n\u00eb an\u00ebn e djatht\u00eb mungojn\u00eb, nuk e kam kuptuar ende \u2014 konsumimi atje ishte normal, gj\u00eb q\u00eb \u00ebsht\u00eb e dukshme edhe nga grafiku me dh\u00ebmb\u00eb.<\/p>\n<p>N\u00eb p\u00ebrgjith\u00ebsi, nuk arrita t\u00eb arrij besueshm\u00ebrin\u00eb e k\u00ebtij qasje \u2014 grafiku pothuajse gjithmon\u00eb tregon ndonj\u00eb gj\u00eb t\u00eb \u00e7uditshme.<\/p>\n<p>Kodi i ngjash\u00ebm p\u00ebr sensorin ditor. <\/p>\n<pre><code class=\"python\">      - aggregate_func: max\n        entities:\n          - color: var(--primary-color)\n            entity: sensor.water_cold_day_um\n        group_by: interval\n        hours_to_show: 360\n        name: \"Konsumimi i ujit p\u00ebr dit\u00eb i grumbulluar nga mat\u00ebsi i utilitetit\"\n        points_per_hour: 0.0416666666\n        show:\n          graph: bar\n        type: 'custom:mini-graph-card'\n<\/code><\/pre>\n<p>\nV\u00ebreni se q\u00eb parameteri group_by \u00ebsht\u00eb vendosur n\u00eb vler\u00ebn interval, dhe rregullon t\u00eb gjith\u00eb parametrin points_per_hour. Kjo \u00ebsht\u00eb nj\u00eb tjet\u00ebr problem i k\u00ebtij komponenti \u2014 points_per_hour funksionon mir\u00eb n\u00eb grafik\u00ebt p\u00ebr nj\u00eb or\u00eb ose m\u00eb pak, por keq p\u00ebr periudha m\u00eb t\u00eb gjata. P\u00ebr t\u00eb marr\u00eb nj\u00eb kolon\u00eb p\u00ebr nj\u00eb dit\u00eb, duhej t\u00eb shkruaja vler\u00ebn 1\/24=0.04166666. Nuk po flas p\u00ebr grafik\u00ebt javore dhe mujore.<\/p>\n<h2>Qasja 2<\/h2>\n<p>\nDuke u njohur me home assistant, kam hasur k\u00ebt\u00eb video:<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"-0HrYFCRH0M\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/-0HrYFCRH0M\/hqdefault.jpg\" alt=\"Luaj videon\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\nShoku mbledh t\u00eb dh\u00ebnat e konsumit nga disa lloje prizash Xiaomi. Detyra e tij \u00ebsht\u00eb pak m\u00eb e thjesht\u00eb \u2014 thjesht t\u00eb tregoj\u00eb vler\u00ebn e konsumit p\u00ebr sot, dje dhe p\u00ebr muajin. Nuk k\u00ebrkohen grafik\u00eb. <\/p>\n<p>Do ta l\u00ebm\u00eb m\u00ebnjan\u00eb diskutimin mbi integimin manual t\u00eb vlerave momentale t\u00eb fuqis\u00eb \u2014 mbi 'sakt\u00ebsin\u00eb' e k\u00ebtij qasjeje kam shkruar m\u00eb sip\u00ebr. Nuk \u00ebsht\u00eb e qart\u00eb pse ai nuk p\u00ebrdori vlerat akumuluese t\u00eb konsumit, t\u00eb cilat tashm\u00eb mblidhen nga e nj\u00ebjta priz\u00eb. N\u00eb opinonin tim, integimi brenda pajisjes do t\u00eb punoj\u00eb m\u00eb mir\u00eb. <\/p>\n<p>Nga video do t\u00eb marrim iden\u00eb e num\u00ebrimit manual t\u00eb konsumit p\u00ebr nj\u00eb periudh\u00eb. Fakti q\u00eb llogariten vet\u00ebm vlerat p\u00ebr sot dhe dje \u00ebsht\u00eb nj\u00eb fillim, por ne do t\u00eb shkojm\u00eb m\u00eb tej dhe do t\u00eb p\u00ebrpiqemi t\u00eb vizatojm\u00eb nj\u00eb grafik. Thelbi i metod\u00ebs s\u00eb propozuar n\u00eb rastin tim p\u00ebrfshin k\u00ebt\u00eb.<\/p>\n<p>Do t\u00eb krijojm\u00eb nj\u00eb variab\u00ebl vlera_n\u00eb_fillim_t\u00eb_or\u00ebs, n\u00eb t\u00eb cilin do t\u00eb regjistrojm\u00eb leximet aktuale t\u00eb mat\u00ebsit.<br \/>\nN\u00eb fund t\u00eb or\u00ebs (ose n\u00eb fillim t\u00eb ardhshme), do t\u00eb llogarisim diferenc\u00ebn midis leximit aktual dhe atij t\u00eb regjistruar n\u00eb fillim t\u00eb or\u00ebs. Kjo diferenc\u00eb do t\u00eb jet\u00eb konsumimi p\u00ebr or\u00ebn aktuale \u2014 do ta ruajm\u00eb k\u00ebt\u00eb vler\u00eb n\u00eb sensor dhe n\u00eb t\u00eb ardhmen do t\u00eb nd\u00ebrtojm\u00eb grafikun p\u00ebr k\u00ebt\u00eb vler\u00eb. <br \/>\nGjithashtu, nevojitet q\u00eb t\u00eb \"zerojm\u00eb\" variablin vlera_n\u00eb_fillim_t\u00eb_or\u00ebs duke regjistruar aty vler\u00ebn aktuale t\u00eb mat\u00ebsit.<\/p>\n<p>T\u00eb gjitha k\u00ebto mund t\u00eb b\u00ebhen p\u00ebrmes mjeteve t\u00eb vet\u00eb asistentit t\u00eb sht\u00ebpis\u00eb. <\/p>\n<p>Do t'nahet m\u00eb shum\u00eb kod se n\u00eb qasjen e m\u00ebparshme. Fillimisht do t\u00eb krijojm\u00eb k\u00ebto \u201cvariabla\u201d. Nga kutia nuk kemi nj\u00eb entitet \u201cvariab\u00ebl\u201d, por mund t\u00eb shfryt\u00ebzojm\u00eb sh\u00ebrbimet e brokerit mqtt. Do t\u00eb d\u00ebrgojm\u00eb atje vlera me flagun retain=true \u2014 kjo do ta ruaj\u00eb vler\u00ebn brenda brokerit, dhe mund ta nxjerrim n\u00eb \u00e7do moment, edhe pas rinisjes s\u00eb home assistant. Kam b\u00ebr\u00eb menj\u00ebher\u00eb num\u00ebruesit orar\u00eb dhe ditor\u00eb.<\/p>\n<pre><code class=\"python\">- platform: mqtt\n  state_topic: \"test\/water\/hour\"\n  name: water_hour\n  unit_of_measurement: l\n\n- platform: mqtt\n  state_topic: \"test\/water\/hour_begin\"\n  name: water_hour_begin\n  unit_of_measurement: l\n\n- platform: mqtt\n  state_topic: \"test\/water\/day\"\n  name: water_day\n  unit_of_measurement: l\n\n- platform: mqtt\n  state_topic: \"test\/water\/day_begin\"\n  name: water_day_begin\n  unit_of_measurement: l<\/code><\/pre>\n<p>\nE gjith\u00eb magia ndodh n\u00eb automatizimin, i cili aktivizohet \u00e7do or\u00eb dhe \u00e7do nat\u00eb p\u00ebrkat\u00ebsisht.<\/p>\n<pre><code class=\"python\">- id: water_new_hour\n  alias: water_new_hour\n  initial_state: true\n  trigger:\n    - platform: time_pattern\n      minutes: 0\n  action:\n    - service: mqtt.publish\n      data:\n        topic: \"test\/water\/hour\"\n        payload_template: &gt;\n          {{ (states.sensor.water_meter_cold.state|int) - (states.sensor.water_hour_begin.state|int) }}\n        retain: true\n    - service: mqtt.publish\n      data:\n        topic: \"test\/water\/hour_begin\"\n        payload_template: &gt;\n          {{ states.sensor.water_meter_cold.state }}\n        retain: true\n\n- id: water_new_day\n  alias: water_new_day\n  initial_state: true\n  trigger:\n    - platform: time\n      at: \"00:00:00\"\n  action:\n    - service: mqtt.publish\n      data:\n        topic: \"test\/water\/day\"\n        payload_template: &gt;\n          {{ (states.sensor.water_meter_cold.state|int) - (states.sensor.water_day_begin.state|int) }}\n        retain: true\n    - service: mqtt.publish\n      data:\n        topic: \"test\/water\/day_begin\"\n        payload_template: &gt;\n          {{ states.sensor.water_meter_cold.state }}\n        retain: true<\/code><\/pre>\n<p>\nT\u00eb dy automatikat kryejn\u00eb 2 veprime:<\/p>\n<ul>\n<li>Llogarisin vler\u00ebn p\u00ebr intervalin si diferenc\u00eb midis vler\u00ebs fillestare dhe asaj p\u00ebrfundimtare<\/li>\n<li>P\u00ebrdit\u00ebsojn\u00eb vler\u00ebn baz\u00eb p\u00ebr intervalin tjet\u00ebr<\/li>\n<\/ul>\n<p>\nNd\u00ebrtimi i grafik\u00ebve n\u00eb k\u00ebt\u00eb rast zgjidhet me nj\u00eb history-graph t\u00eb zakonsh\u00ebm:<\/p>\n<pre><code class=\"python\">      - type: history-graph\n        title: 'Hourly water consumption using vars'\n        hours_to_show: 48\n        entities:\n          - sensor.water_hour\n\n      - type: history-graph\n        title: 'Daily water consumption using vars'\n        hours_to_show: 360\n        entities:\n          - sensor.water_day<\/code><\/pre>\n<p>\nDuket k\u00ebshtu:<\/p>\n<p><img decoding=\"async\" alt=\"Sht\u00ebpia e men\u00e7ur: Nd\u00ebrtojm\u00eb grafik\u00ebt e konsumit t\u00eb ujit dhe energjis\u00eb elektrike n\u00eb Home Assistant\" src=\"\/wp-content\/uploads\/2020\/03\/ebde2fc5f0a72d7d6ba565c3686dc9c6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb princip, kjo \u00ebsht\u00eb ajo q\u00eb nevojitet. Avantazhi i k\u00ebtij metode \u00ebsht\u00eb se t\u00eb dh\u00ebnat gjenerohen nj\u00eb her\u00eb p\u00ebr intervalin. Pra, gjithsej 24 regjistrime p\u00ebr dit\u00eb p\u00ebr grafikun orar. <\/p>\n<p>Fatkeq\u00ebsisht, kjo nuk zgjidh problemin e p\u00ebrgjithsh\u00ebm t\u00eb rritjes s\u00eb baz\u00ebs. N\u00ebse dua nj\u00eb grafik t\u00eb konsumit mujor, do t\u00eb duhet t\u00eb ruaj t\u00eb dh\u00ebnat p\u00ebr t\u00eb pakt\u00ebn nj\u00eb vit. Dhe pasi q\u00eb home assistant ofron vet\u00ebm nj\u00eb cil\u00ebsim t\u00eb koh\u00ebzgjatjes s\u00eb ruajtjes p\u00ebr t\u00eb gjith\u00eb baz\u00ebn, kjo do t\u00eb thot\u00eb q\u00eb t\u00eb DHENAT e GJITHA n\u00eb sistem do t\u00eb duhet t\u00eb ruhen p\u00ebr nj\u00eb vit. P\u00ebr shembull, p\u00ebr nj\u00eb vit konsumoj 200 metra kub uj\u00eb, kjo do t\u00eb thot\u00eb 200000 regjistrime n\u00eb baz\u00eb. E n\u00ebse marrim parasysh edhe sensor\u00ebt e tjer\u00eb, numri b\u00ebhet v\u00ebrtet i pap\u00eblqyesh\u00ebm.<\/p>\n<h2>Qasja 3<\/h2>\n<p>\nFatmir\u00ebsisht, njer\u00ebzit e men\u00e7ur kan\u00eb zgjidhur k\u00ebt\u00eb problem duke shkruar baz\u00ebn e t\u00eb dh\u00ebnave InfluxDB. Kjo baz\u00eb \u00ebsht\u00eb optimizuar posa\u00e7\u00ebrisht p\u00ebr ruajtjen e t\u00eb dh\u00ebnave t\u00eb bazuara n\u00eb koh\u00eb dhe \u00ebsht\u00eb ideale p\u00ebr ruajtjen e vlerave t\u00eb sensor\u00ebve t\u00eb ndrysh\u00ebm. Sistemi gjithashtu ofron nj\u00eb gjuh\u00eb k\u00ebrkimesh t\u00eb ngjashme me SQL, e cila lejon nxjerrjen e vlerave nga baza dhe m\u00eb pas agregimin e tyre n\u00eb m\u00ebnyra t\u00eb ndryshme. S\u00eb fundi, t\u00eb dh\u00ebnat e ndryshme mund t\u00eb ruhen p\u00ebr koh\u00eb t\u00eb ndryshme. P\u00ebr shembull, leximet q\u00eb ndihen shpesh si temperatura apo lag\u00ebshtira mund t\u00eb ruhen p\u00ebr vet\u00ebm disa jav\u00eb, nd\u00ebrsa leximet ditore t\u00eb konsumit t\u00eb ujit mund t\u00eb ruhen p\u00ebr nj\u00eb vit t\u00ebr\u00eb.<\/p>\n<p>P\u00ebrve\u00e7 InfluxDB, njer\u00ebz t\u00eb men\u00e7ur gjithashtu shpik\u00ebn Grafana \u2014 nj\u00eb sistem p\u00ebr vizatimin e grafik\u00ebve nga t\u00eb dh\u00ebnat e InfluxDB. Grafana mund t\u00eb vizatoj\u00eb lloje t\u00eb ndryshme grafik\u00ebsh, t\u2019i personalizoj\u00eb ato n\u00eb detaje dhe, m\u00eb e r\u00ebnd\u00ebsishmja, k\u00ebta grafik\u00eb mund t\u00eb \u201cintegrohen\u201d n\u00eb lovelace-UI t\u00eb asistentit t\u00eb sht\u00ebpis\u00eb.<\/p>\n<p>T\u00eb frym\u00ebzohesh <noindex><a rel=\"nofollow\" href=\"https:\/\/dummylabs.com\/ru\/post\/2019-01-13-influxdb-part1\/\">k\u00ebtu <\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/dummylabs.com\/ru\/post\/2019-05-28-influxdb-part2\/\">k\u00ebtu<\/a><\/noindex>. Artikujt p\u00ebrshkruajn\u00eb n\u00eb detaje procesin e instalimit dhe lidhjes s\u00eb InfluxDB dhe Grafana me asistentin e sht\u00ebpis\u00eb. Un\u00eb do t\u00eb p\u00ebrqendrohem n\u00eb zgjidhjen e detyr\u00ebs sime specifike.<\/p>\n<p>Pra, gj\u00ebja e par\u00eb \u00ebsht\u00eb t\u00eb fillojm\u00eb me ruajtjen e vler\u00ebs s\u00eb num\u00ebruesit n\u00eb influxDB. Nj\u00eb pjes\u00eb e konfigurimit t\u00eb asistentit t\u00eb sht\u00ebpis\u00eb (n\u00eb k\u00ebt\u00eb shembull do t\u00eb arg\u00ebtohem jo vet\u00ebm me uj\u00eb t\u00eb ftoht\u00eb, por edhe me uj\u00eb t\u00eb ngroht\u00eb):<\/p>\n<pre><code class=\"python\">influxdb:\n  host: localhost\n  max_retries: 3\n  default_measurement: state\n  database: homeassistant\n  include:\n    entities:\n      - sensor.water_meter_hot\n      - sensor.water_meter_cold<\/code><\/pre>\n<p>\nDo t\u00eb \u00e7aktivizojm\u00eb ruajtjen e k\u00ebtyre t\u00eb dh\u00ebnave n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave t\u00eb brendshme t\u00eb asistentit t\u00eb sht\u00ebpis\u00eb, p\u00ebr t\u00eb mos e fryr\u00eb at\u00eb pa nevoj\u00eb:<\/p>\n<pre><code class=\"python\">recorder:\n  purge_keep_days: 10\n  purge_interval: 1\n  exclude:\n    entities:\n      - sensor.water_meter_hot\n      - sensor.water_meter_cold<\/code><\/pre>\n<p>\nTani tani kalojm\u00eb n\u00eb konsol\u00ebn InfluxDB dhe konfigurojm\u00eb baz\u00ebn ton\u00eb. N\u00eb ve\u00e7anti, duhet t\u00eb p\u00ebrcaktojm\u00eb sa koh\u00eb do t\u00eb ruhen t\u00eb dh\u00ebnat e ndryshme. Kjo rregullohet nga politika e ruajtjes e njohur si retention policy \u2014 kjo \u00ebsht\u00eb si bazat e t\u00eb dh\u00ebnave brenda nj\u00eb baze t\u00eb dh\u00ebnash kryesore, ku \u00e7do baz\u00eb e brendshme ka parametrat e saj t\u00eb konfiguruar. N\u00eb m\u00ebnyr\u00eb t\u00eb paracaktuar, t\u00eb gjitha t\u00eb dh\u00ebnat vendosen n\u00eb retention policy me emrin autogen, k\u00ebto t\u00eb dh\u00ebna do t\u00eb ruhen p\u00ebr nj\u00eb jav\u00eb. Do t\u00eb doja q\u00eb t\u00eb dh\u00ebnat p\u00ebr or\u00ebt t\u00eb ruhen p\u00ebr nj\u00eb muaj, ato javore p\u00ebr nj\u00eb vit dhe ato mujore t\u00eb mos fshihen kurr\u00eb. T\u00eb krijojm\u00eb politikat p\u00ebrkat\u00ebse t\u00eb ruajtjes.<\/p>\n<pre><code class=\"sql\">KRIJONI POLITIK\u00cbN E RUJTJES \"month\" N\u00cb \"homeassistant\" DREJTIMI 30d REPLIKIMI 1\nKRIJONI POLITIK\u00cbN E RUJTJES \"year\" N\u00cb \"homeassistant\" DREJTIMI 52w REPLIKIMI 1\nKRIJONI POLITIK\u00cbN E RUJTJES \"infinite\" N\u00cb \"homeassistant\" DREJTIMI INF REPLIKIMI 1<\/code><\/pre>\n<p>\nTani, truku kryesor \u2014 agregimi i t\u00eb dh\u00ebnave p\u00ebrmes k\u00ebrkes\u00ebs continue. Ky \u00ebsht\u00eb nj\u00eb mekaniz\u00ebm q\u00eb aktivizon automatikisht nj\u00eb k\u00ebrkes\u00eb n\u00eb intervale t\u00eb caktuara, agregon t\u00eb dh\u00ebnat sipas k\u00ebsaj k\u00ebrkese, dhe rezultati ruhet si nj\u00eb vler\u00eb e re. Le t\u00eb shohim me nj\u00eb shembull (po e shkruaj n\u00eb kolon\u00eb p\u00ebr leht\u00ebsi leximi, por n\u00eb t\u00eb v\u00ebrtet\u00eb do t\u00eb duhet ta futja k\u00ebt\u00eb komand\u00eb n\u00eb nj\u00eb rresht)<\/p>\n<pre><code class=\"sql\">KRIJO K\u00cbRKES\u00cbN E CONTINUAR cq_water_hourly N\u00cb homeassistant \nBEGIN \n  ZGJIDH max(value) SI vlera \n  N\u00cb homeassistant.month.water_meter_hour \n  NGA homeassistant.autogen.l \n  GRUPO N\u00cb koh\u00eb(1h), entity_id mbush(para) \nEND<\/code><\/pre>\n<p>\nKjo komand\u00eb:<\/p>\n<ul>\n<li>Krijon nj\u00eb k\u00ebrkes\u00eb t\u00eb vazhdueshme me emrin cq_water_cold_hourly n\u00eb databaz\u00ebn homeassistant<\/li>\n<li>K\u00ebrkesa do t\u00eb ekzekutohet \u00e7do or\u00eb (koh\u00eb(1h))<\/li>\n<li>K\u00ebrkesa do t\u00eb nxjerr\u00eb t\u00eb gjitha t\u00eb dh\u00ebnat nga matja homeassistant.autogen.l (litra), duke p\u00ebrfshir\u00eb leximet e ujit t\u00eb ftoht\u00eb dhe t\u00eb nxeht\u00eb<\/li>\n<li>T\u00eb dh\u00ebnat e agreguara do t\u00eb grupohen sipas entity_id, q\u00eb do t\u00eb krijoj\u00eb vlera t\u00eb ve\u00e7anta p\u00ebr ujin e ftoht\u00eb dhe t\u00eb nxeht\u00eb<\/li>\n<li>Duke qen\u00eb se mat\u00ebsi i litrit \u00ebsht\u00eb nj\u00eb sekuenc\u00eb q\u00eb rritet monotone brenda \u00e7do ore, do t\u00eb merret vlera maksimale, prandaj agregimi do t\u00eb kryhet nga funksioni max(value) <\/li>\n<li>Vlera e re do t\u00eb shkruhet n\u00eb homeassistant.month.water_meter_hour, ku month \u00ebsht\u00eb emri i politik\u00ebs s\u00eb mbajtjes me nj\u00eb afat ruajtjeje prej nj\u00eb muaji. T\u00eb dh\u00ebnat p\u00ebr ujin e ftoht\u00eb dhe t\u00eb nxeht\u00eb do t\u00eb shp\u00ebrndahen n\u00eb regjistrime t\u00eb ve\u00e7anta me entity_id p\u00ebrkat\u00ebs dhe vlera n\u00eb fush\u00ebn value<\/li>\n<\/ul>\n<p>\nN\u00eb nat\u00eb ose kur nuk ka ask\u00ebnd n\u00eb sht\u00ebpi, konsumi i ujit nuk \u00ebsht\u00eb, dhe p\u00ebr pasoj\u00eb nuk ka regjistrime t\u00eb reja n\u00eb homeassistant.autogen.l. P\u00ebr t\u00eb shmangur boshll\u00ebqe n\u00eb vlerat e k\u00ebrkesave t\u00eb zakonshme mund t\u00eb p\u00ebrdorni fill(previous). Kjo do ta detyroj\u00eb InfluxDB t\u00eb p\u00ebrdor\u00eb vler\u00ebn e or\u00ebs s\u00eb kaluar. <\/p>\n<p>Fatkeq\u00ebsisht, ka nj\u00eb ve\u00e7ori p\u00ebr pyetjen e vazhdueshme: truku fill(previous) nuk funksionon dhe regjistrimet thjesht nuk krijohen. Kjo \u00ebsht\u00eb nj\u00eb problem q\u00eb duket se \u00ebsht\u00eb i pakaluesh\u00ebm, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/influxdata\/influxdb\/issues\/3220\">dhe po diskutohet tashm\u00eb p\u00ebr nj\u00eb koh\u00eb t\u00eb gjat\u00eb.<\/a><\/noindex>Me k\u00ebt\u00eb problem do t\u00eb merremi m\u00eb von\u00eb, nd\u00ebrsa fill(previous) n\u00eb pyetjen e vazhdueshme le t\u00eb qendroj\u00eb \u2014 nuk d\u00ebmton. <\/p>\n<p>Le t\u00eb shohim se \u00e7far\u00eb kemi arritur (sigurisht, duhet t\u00eb presim disa or\u00eb):<\/p>\n<pre><code class=\"python\">&gt; select * from homeassistant.month.water_meter_hour group by entity_id\n...\nname: water_meter_hour\ntags: entity_id=water_meter_cold\ntime                 value\n----                 -----\n...\n2020-03-08T01:00:00Z 370511\n2020-03-08T02:00:00Z 370513\n2020-03-08T05:00:00Z 370527\n2020-03-08T06:00:00Z 370605\n2020-03-08T07:00:00Z 370635\n2020-03-08T08:00:00Z 370699\n2020-03-08T09:00:00Z 370761\n2020-03-08T10:00:00Z 370767\n2020-03-08T11:00:00Z 370810\n2020-03-08T12:00:00Z 370818\n2020-03-08T13:00:00Z 370827\n2020-03-08T14:00:00Z 370849\n2020-03-08T15:00:00Z 370921\n<\/code><\/pre>\n<p>\nJu kujdes, se vlerat n\u00eb baz\u00eb ruajten n\u00eb UTC, prandaj n\u00eb k\u00ebt\u00eb list\u00eb ndryshojn\u00eb me 3 or\u00eb \u2014 vlerat p\u00ebr n\u00ebnt\u00eb m\u00ebngjesi n\u00eb daljen InfluxDB p\u00ebrputhen me vlerat p\u00ebr dymb\u00ebdhjet\u00eb n\u00eb grafik\u00ebt m\u00eb sip\u00ebr. Gjithashtu, ju lutemi vini re se nga ora dy deri n\u00eb pes\u00eb m\u00ebngjesi thjesht nuk ka shenja \u2014 kjo \u00ebsht\u00eb ve\u00e7oria e k\u00ebrkes\u00ebs continue.<\/p>\n<p>Si\u00e7 e shihni, vlera e grumbulluar gjithashtu \u00ebsht\u00eb nj\u00eb sekuenc\u00eb monotone n\u00eb rritje, vet\u00ebm se sh\u00ebnimet ndryshojn\u00eb m\u00eb rrall\u00eb \u2014 \u00e7do or\u00eb. Por kjo nuk \u00ebsht\u00eb problem \u2014 ne mund t\u00eb shkruajm\u00eb nj\u00eb k\u00ebrkes\u00eb tjet\u00ebr q\u00eb do t\u00eb nxjerr\u00eb t\u00eb dh\u00ebnat e sakta p\u00ebr grafikun.<\/p>\n<pre><code class=\"sql\">SELECT difference(max(value)) \nFROM homeassistant.month.water_meter_hour \nWHERE entity_id='water_meter_cold' and time &gt;= now() -24h \nGROUP BY time(1h), entity_id \nfill(previous)<\/code><\/pre>\n<p>\nLe t\u00eb shpjegoj:<\/p>\n<ul>\n<li>Nga baza homeassistant.month.water_meter_hour do t\u00eb nxjerrim t\u00eb dh\u00ebnat p\u00ebr entity_id='water_meter_cold' p\u00ebr 24 or\u00ebt e fundit (koha &gt;= tani() -24h). <\/li>\n<li>Si\u00e7 e p\u00ebrmenda m\u00eb par\u00eb, n\u00eb sekvenc\u00ebn homeassistant.month.water_meter_hour mund t\u00eb mungojn\u00eb disa sh\u00ebnime. Ne do t'i gjenerojm\u00eb k\u00ebto t\u00eb dh\u00ebna p\u00ebrs\u00ebri, duke ekzekutuar nj\u00eb k\u00ebrkes\u00eb me GROUP BY time(1h). K\u00ebt\u00eb her\u00eb fill(previous) do t\u00eb funksionoj\u00eb si\u00e7 duhet, duke gjeneruar t\u00eb dh\u00ebnat munges\u00eb (funksioni do t\u00eb marr\u00eb vler\u00ebn e m\u00ebparshme).<\/li>\n<li>E r\u00ebnd\u00ebsishme n\u00eb k\u00ebt\u00eb k\u00ebrkes\u00eb \u00ebsht\u00eb funksioni difference, i cili do t\u00eb llogaris\u00eb ndryshimin midis sh\u00ebnimeve t\u00eb or\u00ebs. Ai vet\u00eb nuk funksionon dhe k\u00ebrkon nj\u00eb funksion agregues. Le t\u00eb jet\u00eb max() q\u00eb \u00ebsht\u00eb p\u00ebrdorur m\u00eb par\u00eb.<\/li>\n<\/ul>\n<p>\nRezultati i ekzekutimit duket k\u00ebshtu<\/p>\n<pre><code class=\"python\">name: water_meter_hour\ntags: entity_id=water_meter_cold\ntime                 difference\n----                 ----------\n...\n2020-03-08T02:00:00Z 2\n2020-03-08T03:00:00Z 0\n2020-03-08T04:00:00Z 0\n2020-03-08T05:00:00Z 14\n2020-03-08T06:00:00Z 78\n2020-03-08T07:00:00Z 30\n2020-03-08T08:00:00Z 64\n2020-03-08T09:00:00Z 62\n2020-03-08T10:00:00Z 6\n2020-03-08T11:00:00Z 43\n2020-03-08T12:00:00Z 8\n2020-03-08T13:00:00Z 9\n2020-03-08T14:00:00Z 22\n2020-03-08T15:00:00Z 72<\/code><\/pre>\n<p>\nNga ora 2 deri n\u00eb 5 t\u00eb m\u00ebngjesit (UTC) nuk pati konsum. Megjithat\u00eb, k\u00ebrkesa do t\u00eb kthej\u00eb t\u00eb nj\u00ebjtin vler\u00eb t\u00eb konsumit fal\u00eb fill(previous), nd\u00ebrsa funksioni difference do ta heq\u00eb k\u00ebt\u00eb vler\u00eb nga vetvetja dhe n\u00eb dalje do t\u00eb kemi 0, q\u00eb \u00ebsht\u00eb n\u00eb fakt ajo q\u00eb ne k\u00ebrkojm\u00eb.<\/p>\n<p>Tani mbetet vet\u00ebm t\u00eb nd\u00ebrtosh grafikun. P\u00ebr k\u00ebt\u00eb, do t\u00eb hapim Grafana, do t\u00eb hapim nj\u00eb tabela ekzistuese (ose do t\u00eb krijojm\u00eb nj\u00eb t\u00eb re), do t\u00eb krijojm\u00eb nj\u00eb panel t\u00eb ri. Cil\u00ebsimet e grafik\u00ebve do t\u00eb jen\u00eb t\u00eb tilla.<\/p>\n<p><img decoding=\"async\" alt=\"Sht\u00ebpia e men\u00e7ur: Nd\u00ebrtojm\u00eb grafik\u00ebt e konsumit t\u00eb ujit dhe energjis\u00eb elektrike n\u00eb Home Assistant\" src=\"\/wp-content\/uploads\/2020\/03\/c6f551590cd141438b644b24aa4ddebf.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUn\u00eb do t\u00eb tregoj t\u00eb dh\u00ebnat p\u00ebr uj\u00eb t\u00eb ftoht\u00eb dhe t\u00eb ngroht\u00eb n\u00eb nj\u00eb grafik. K\u00ebrkesa \u00ebsht\u00eb pik\u00ebrisht ajo q\u00eb e p\u00ebrshkrova m\u00eb sip\u00ebr. <\/p>\n<p>Parametrat e shfaqjes caktohen k\u00ebshtu. N\u00eb rastin tim do t\u00eb kem nj\u00eb grafik me linja (lines), i cili do t\u00eb jet\u00eb me hapa (stairs). Parametri Stack do ta shpjegoj pak m\u00eb posht\u00eb. Ka disa parametra t\u00eb tjer\u00eb shfaqjeje m\u00eb posht\u00eb, por ato nuk jan\u00eb aq interesante.<\/p>\n<p><img decoding=\"async\" alt=\"Sht\u00ebpia e men\u00e7ur: Nd\u00ebrtojm\u00eb grafik\u00ebt e konsumit t\u00eb ujit dhe energjis\u00eb elektrike n\u00eb Home Assistant\" src=\"\/wp-content\/uploads\/2020\/03\/cb47fc8570b7fd1305ce3451e0518f11.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr t\u00eb shtuar grafikun e marr\u00eb n\u00eb home assistant duhet:<\/p>\n<ul>\n<li>t\u00eb dal\u00ebsh nga moda e redaktimit t\u00eb grafik\u00ebve. p\u00ebr nj\u00eb arsye t\u00eb panjohur, caktimet e sakta t\u00eb ndarjes s\u00eb grafik\u00ebve ofrohen vet\u00ebm nga faqja e panelit.<\/li>\n<li>T\u00eb klikosh n\u00eb trek\u00ebnd\u00ebshin pran\u00eb emrit t\u00eb grafik\u00ebt, n\u00eb menu t\u00eb zgjedh\u00ebsh share.<\/li>\n<li>N\u00eb dritaren e hapur t\u00eb kalosh n\u00eb tab-in embed.<\/li>\n<li>T\u00eb hiqni shenj\u00ebn aktuale t\u00eb gam\u00ebs s\u00eb koh\u00ebs \u2014 gam\u00ebn e koh\u00ebs do ta caktojm\u00eb p\u00ebrmes URL-s\u00eb. <\/li>\n<li>T\u00eb zgjedh\u00ebsh tem\u00ebn e nevojshme. N\u00eb rastin tim kjo \u00ebsht\u00eb light.<\/li>\n<li>T\u00eb kopjosh URL-n\u00eb e at\u00ebhershme n\u00eb kartel\u00ebn e cil\u00ebsimeve lovelace-UI.<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"python\">      - type: iframe\n        id: graf_water_hourly\n        url: \"http:\/\/192.168.10.200:3000\/d-solo\/rZARemQWk\/water?orgId=1&amp;panelId=2&amp;from=now-2d&amp;to=now&amp;theme=light\"\n<\/code><\/pre>\n<p>\nVini re se gam\u00eb e koh\u00ebs (dy dit\u00ebt e fundit) caktohet pik\u00ebrisht k\u00ebtu, e jo n\u00eb cil\u00ebsimet e panelit. <\/p>\n<p>Grafiku duket k\u00ebshtu. Un\u00eb nuk kam p\u00ebrdorur uj\u00eb t\u00eb nxeht\u00eb p\u00ebr dy dit\u00ebt e fundit, prandaj \u00e7izmet vet\u00ebm grafikun e ujit t\u00eb ftoht\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"Sht\u00ebpia e men\u00e7ur: Nd\u00ebrtojm\u00eb grafik\u00ebt e konsumit t\u00eb ujit dhe energjis\u00eb elektrike n\u00eb Home Assistant\" src=\"\/wp-content\/uploads\/2020\/03\/d18c82712d3b829a97ada8c8e2adce24.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNuk e kam vendosur ende se cilin grafik e preferoj m\u00eb shum\u00eb, at\u00eb me vij\u00eb t\u00eb shkall\u00ebzuar ose me shtylla reale. Prandaj, thjesht do t\u00eb sjell nj\u00eb shembull grafik t\u00eb p\u00ebrditsh\u00ebm t\u00eb konsumit, k\u00ebt\u00eb her\u00eb me shtylla. K\u00ebrkesat nd\u00ebrtohen nj\u00ebsoj si\u00e7 p\u00ebrshkruheshin m\u00eb sip\u00ebr. Parametrat e shfaqjes jan\u00eb t\u00eb till\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"Sht\u00ebpia e men\u00e7ur: Nd\u00ebrtojm\u00eb grafik\u00ebt e konsumit t\u00eb ujit dhe energjis\u00eb elektrike n\u00eb Home Assistant\" src=\"\/wp-content\/uploads\/2020\/03\/557297e666f9cd73c3d2aa2fd80c0a2d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKy grafik duket k\u00ebshtu:<\/p>\n<p><img decoding=\"async\" alt=\"Sht\u00ebpia e men\u00e7ur: Nd\u00ebrtojm\u00eb grafik\u00ebt e konsumit t\u00eb ujit dhe energjis\u00eb elektrike n\u00eb Home Assistant\" src=\"\/wp-content\/uploads\/2020\/03\/ac8c53569c6b05aeb22e05969de4cd6d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKy \u00ebsht\u00eb parametri Stack. N\u00eb k\u00ebt\u00eb grafik, shtylla e ujit t\u00eb ftoht\u00eb vizatohet mbi shtyll\u00ebn e ujit t\u00eb ngroht\u00eb. N\u00eb total, lart\u00ebsia p\u00ebrfaq\u00ebson konsum total t\u00eb ujit t\u00eb ftoht\u00eb dhe t\u00eb ngroht\u00eb p\u00ebr periudh\u00ebn. <\/p>\n<p>T\u00eb gjith\u00eb grafiket e paraqitur jan\u00eb dinamik\u00eb. Mund t\u00eb kaloni me miun mbi pik\u00ebn e interesit dhe t\u00eb shihni detajet dhe vler\u00ebn n\u00eb pik\u00ebn specifike. <\/p>\n<p>Fatkeq\u00ebsisht, pa disa pika t\u00eb hidhura nuk do t\u00eb ndodhte. N\u00eb grafikun me shtylla (ndryshe nga ai me vij\u00eb t\u00eb shkall\u00ebzuar), mesi i shtyll\u00ebs nuk q\u00ebndron n\u00eb mes t\u00eb dit\u00ebs, por n\u00eb or\u00ebn 00:00. Pra, gjysma e majt\u00eb e shtyll\u00ebs \u00ebsht\u00eb vizatuar n\u00eb vendin e dit\u00ebs s\u00eb kaluar. Pra, grafiket p\u00ebr t\u00eb shtun\u00ebn dhe t\u00eb diel\u00ebn jan\u00eb vizatuar pak majtas nga zona bluese. Deri tani nuk kam gjetur nj\u00eb m\u00ebnyr\u00eb si ta zgjidh k\u00ebt\u00eb problem. <\/p>\n<p>Nj\u00eb problem tjet\u00ebr \u00ebsht\u00eb pamund\u00ebsia p\u00ebr t\u00eb punuar si\u00e7 duhet me intervalet mujore. \u00c7\u00ebshtja \u00ebsht\u00eb se gjat\u00ebsi e or\u00ebs\/dit\u00ebs\/java \u00ebsht\u00eb fiks, nd\u00ebrsa gjat\u00ebsi e muajit \u00ebsht\u00eb \u00e7do her\u00eb e ndryshme. InfluxDB \u00ebsht\u00eb n\u00eb gjendje t\u00eb punoj\u00eb vet\u00ebm me intervale t\u00eb nj\u00ebjta. Aktualisht kam arritur t\u00eb caktoj nj\u00eb interval t\u00eb fikst 30 dit\u00ebsh. Po, grafiku gjat\u00eb vitit do t\u00eb ket\u00eb disa shp\u00ebrqendrime dhe kolonat nuk do t\u00eb p\u00ebrputhen sakt\u00ebsisht me muajt. Por, pasi q\u00eb kjo \u00ebsht\u00eb interesante p\u00ebr mua si nj\u00eb mat\u00ebs, do ta pranoj k\u00ebt\u00eb. <\/p>\n<p>Shikoj t\u00eb pakt\u00ebn dy zgjidhje:<\/p>\n<ul>\n<li>T\u00eb n\u00ebnvleft\u00ebsoj grafiku mujore dhe t\u00eb kufizohem me ato javore. 52 kolona javore n\u00eb vit duken mjaft mir\u00eb.<\/li>\n<li>T\u00eb llogaris konsumimin mujor si metod\u00eb e dyt\u00eb dhe t\u00eb p\u00ebrdor grafana vet\u00ebm p\u00ebr grafika t\u00eb bukura. Do t\u00eb rezultoj\u00eb nj\u00eb zgjidhje mjaft e sakt\u00eb. Mund t\u00eb mbivendos grafikat nga viti i kaluar p\u00ebr krahasim \u2014 grafana e b\u00ebn k\u00ebt\u00eb gjithashtu.<\/li>\n<\/ul>\n<h2>P\u00ebrfundimi<\/h2>\n<p>\nNuk e di pse, por m\u00eb p\u00eblqen shum\u00eb ky lloj grafiku. Ato tregojn\u00eb se jeta \u00ebsht\u00eb dinamike dhe gjith\u00e7ka po ndryshon. Dje kishte shum\u00eb, sot ka pak, nes\u00ebr do t\u00eb jet\u00eb ndryshe. Mbetet t\u00eb punoj me an\u00ebtar\u00ebt e familjes mbi tem\u00ebn e konsumit. Por p\u00ebrderisa k\u00ebrkesat aktuale jan\u00eb k\u00ebshtu, thjesht nj\u00eb num\u00ebr i madh dhe i paqart\u00eb n\u00eb fatur\u00eb tashm\u00eb shnd\u00ebrrohet n\u00eb nj\u00eb pamje mjaft t\u00eb qart\u00eb t\u00eb konsumit.<\/p>\n<p>Pavar\u00ebsisht nj\u00eb karriere gati 20-vje\u00e7are si programues, kam pasur pak p\u00ebrvoj\u00eb me bazat e t\u00eb dh\u00ebnave. Prandaj, instalimi i nj\u00eb baze t\u00eb dh\u00ebnash t\u00eb jashtme m\u00eb dukej si di\u00e7ka shum\u00eb komplekse dhe e paqart\u00eb. Gjith\u00e7ka ndryshoi <noindex><a rel=\"nofollow\" href=\"https:\/\/dummylabs.com\/ru\/post\/2019-01-13-influxdb-part1\">artikulli i p\u00ebrmendur m\u00eb sip\u00ebr<\/a><\/noindex> \u2013 duke u treguar se lidhja e nj\u00eb instrumenti t\u00eb p\u00ebrshtatsh\u00ebm b\u00ebhet me disa klikime, dhe me nj\u00eb instrument t\u00eb specializuar, detyra e nd\u00ebrtimit t\u00eb grafik\u00ebve b\u00ebhet pak m\u00eb e leht\u00eb.<\/p>\n<p>N\u00eb titullin kam p\u00ebrmendur konsumimin e energjis\u00eb elektrike. Fatkeq\u00ebsisht, n\u00eb k\u00ebt\u00eb moment nuk mund t\u00eb sjell asnj\u00eb grafik. Nj\u00eb mat\u00ebs SDM120 m\u00eb ka ndalur, nd\u00ebrsa tjetri ka probleme kur i qaset n\u00ebp\u00ebrmjet Modbus. Megjithat\u00eb, kjo nuk ndikon aspak n\u00eb tem\u00ebn e k\u00ebtij artikulli \u2013 grafik\u00ebt do t\u00eb nd\u00ebrtohen n\u00eb t\u00eb nj\u00ebjt\u00ebn m\u00ebnyr\u00eb si p\u00ebr ujin.<\/p>\n<p>N\u00eb k\u00ebt\u00eb artikull kam sjell\u00eb qasjet q\u00eb kam provuar vet\u00eb. Sigurisht, ka edhe metoda t\u00eb tjera p\u00ebr organizimin e mbledhjes dhe vizualizimit t\u00eb t\u00eb dh\u00ebnave, p\u00ebr t\u00eb cilat nuk kam dijeni. M\u00eb tregoni p\u00ebr to n\u00eb komentet, do t\u00eb m\u00eb interesonte shum\u00eb. Do t\u00eb isha i lumtur p\u00ebr kritikat konstruktive dhe idet\u00eb e reja. Shpresoj se materiali i shpjeguar do t'i ndihmoj\u00eb gjithashtu dikujt.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/492314\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u043e\u043b\u0443\u0447\u0430\u044f \u043f\u043b\u0430\u0442\u0435\u0436\u043a\u0443 \u0437\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438 \u0432\u043e\u0434\u0443 \u044f \u0443\u0434\u0438\u0432\u043b\u044f\u044e\u0441\u044c \u2014 \u043d\u0435\u0443\u0436\u0435\u043b\u0438 \u043c\u043e\u044f \u0441\u0435\u043c\u044c\u044f \u0441\u0442\u043e\u043e\u043e\u043e\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442? \u041d\u0443 \u0434\u0430, \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0442\u0435\u043f\u043b\u044b\u0439 \u043f\u043e\u043b \u0438 \u0431\u043e\u0439\u043b\u0435\u0440, \u043d\u043e \u0432\u0435\u0434\u044c \u043e\u043d\u0438 \u0436\u0435 \u043d\u0435 \u043a\u043e\u0447\u0435\u0433\u0430\u0440\u044f\u0442 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e. \u0412\u043e\u0434\u0443 \u0442\u043e\u0436\u0435 \u0432\u0440\u043e\u0434\u0435 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043c (\u0445\u043e\u0442\u044f \u043f\u043e\u043f\u043b\u0435\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0436\u0435 \u043b\u044e\u0431\u0438\u043c). \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044f \u0443\u0436\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u0432\u043e\u0434\u044b \u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043a \u0443\u043c\u043d\u043e\u043c\u0443 \u0434\u043e\u043c\u0443, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":74422,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-74421","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u043e\u043b\u0443\u0447\u0430\u044f \u043f\u043b\u0430\u0442\u0435\u0436\u043a\u0443 \u0437\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438 \u0432\u043e\u0434\u0443 \u044f \u0443\u0434\u0438\u0432\u043b\u044f\u044e\u0441\u044c \u2014 \u043d\u0435\u0443\u0436\u0435\u043b\u0438 \u043c\u043e\u044f \u0441\u0435\u043c\u044c\u044f \u0441\u0442\u043e\u043e\u043e\u043e\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442? \u041d\u0443 \u0434\u0430, \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0442\u0435\u043f\u043b\u044b\u0439 \u043f\u043e\u043b \u0438 \u0431\u043e\u0439\u043b\u0435\u0440, \u043d\u043e \u0432\u0435\u0434\u044c \u043e\u043d\u0438 \u0436\u0435 \u043d\u0435 \u043a\u043e\u0447\u0435\u0433\u0430\u0440\u044f\u0442 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e. \u0412\u043e\u0434\u0443 \u0442\u043e\u0436\u0435 \u0432\u0440\u043e\u0434\u0435 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043c (\u0445\u043e\u0442\u044f \u043f\u043e\u043f\u043b\u0435\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0436\u0435 \u043b\u044e\u0431\u0438\u043c). \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044f \u0443\u0436\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u0432\u043e\u0434\u044b \u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043a \u0443\u043c\u043d\u043e\u043c\u0443 \u0434\u043e\u043c\u0443,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/umnyj-dom-stroim-grafiki-potrebleniya-vody-i-elektrichestva-v-home-assistant\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u043c\u043d\u044b\u0439 \u0434\u043e\u043c: \u0421\u0442\u0440\u043e\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u0432\u043e\u0434\u044b \u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0432 Home Assistant | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u043e\u043b\u0443\u0447\u0430\u044f \u043f\u043b\u0430\u0442\u0435\u0436\u043a\u0443 \u0437\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438 \u0432\u043e\u0434\u0443 \u044f \u0443\u0434\u0438\u0432\u043b\u044f\u044e\u0441\u044c \u2014 \u043d\u0435\u0443\u0436\u0435\u043b\u0438 \u043c\u043e\u044f \u0441\u0435\u043c\u044c\u044f \u0441\u0442\u043e\u043e\u043e\u043e\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442? \u041d\u0443 \u0434\u0430, \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0442\u0435\u043f\u043b\u044b\u0439 \u043f\u043e\u043b \u0438 \u0431\u043e\u0439\u043b\u0435\u0440, \u043d\u043e \u0432\u0435\u0434\u044c \u043e\u043d\u0438 \u0436\u0435 \u043d\u0435 \u043a\u043e\u0447\u0435\u0433\u0430\u0440\u044f\u0442 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e. \u0412\u043e\u0434\u0443 \u0442\u043e\u0436\u0435 \u0432\u0440\u043e\u0434\u0435 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043c (\u0445\u043e\u0442\u044f \u043f\u043e\u043f\u043b\u0435\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0436\u0435 \u043b\u044e\u0431\u0438\u043c). \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044f \u0443\u0436\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u0432\u043e\u0434\u044b \u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043a \u0443\u043c\u043d\u043e\u043c\u0443 \u0434\u043e\u043c\u0443,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/umnyj-dom-stroim-grafiki-potrebleniya-vody-i-elektrichestva-v-home-assistant\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-17T05:43:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-17T05:43:08+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Sht\u00ebpia e zgjuar: Nd\u00ebrtojm\u00eb grafe t\u00eb konsumit t\u00eb ujit dhe energjis\u00eb elektrike n\u00eb Home Assistant | ProHoster","description":"\u00c7do her\u00eb kur marr\u00eb fatur\u00ebn p\u00ebr energjin\u00eb elektrike dhe ujin, \u00e7uditem \u2013 vall\u00eb, familja ime konsumon kaq shum\u00eb? Epo, po, n\u00eb banj\u00eb kemi nj\u00eb dysheme ngroh\u00ebse dhe nj\u00eb bojler, por ato nuk punojn\u00eb gjithmon\u00eb. Edhe uj\u00eb duket se e kursejm\u00eb (ndon\u00ebse na p\u00eblqen t\u00eb b\u00ebjm\u00eb nj\u00eb banj\u00eb). Disa vjet m\u00eb par\u00eb, kam lidhur tashm\u00eb mat\u00ebsit e ujit dhe energjis\u00eb elektrike me sht\u00ebpin\u00eb time t\u00eb zgjuar,","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/umnyj-dom-stroim-grafiki-potrebleniya-vody-i-elektrichestva-v-home-assistant","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u043c\u043d\u044b\u0439 \u0434\u043e\u043c: \u0421\u0442\u0440\u043e\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u0432\u043e\u0434\u044b \u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0432 Home Assistant | ProHoster","og:description":"\u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u043e\u043b\u0443\u0447\u0430\u044f \u043f\u043b\u0430\u0442\u0435\u0436\u043a\u0443 \u0437\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438 \u0432\u043e\u0434\u0443 \u044f \u0443\u0434\u0438\u0432\u043b\u044f\u044e\u0441\u044c \u2014 \u043d\u0435\u0443\u0436\u0435\u043b\u0438 \u043c\u043e\u044f \u0441\u0435\u043c\u044c\u044f \u0441\u0442\u043e\u043e\u043e\u043e\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442? \u041d\u0443 \u0434\u0430, \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0442\u0435\u043f\u043b\u044b\u0439 \u043f\u043e\u043b \u0438 \u0431\u043e\u0439\u043b\u0435\u0440, \u043d\u043e \u0432\u0435\u0434\u044c \u043e\u043d\u0438 \u0436\u0435 \u043d\u0435 \u043a\u043e\u0447\u0435\u0433\u0430\u0440\u044f\u0442 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e. \u0412\u043e\u0434\u0443 \u0442\u043e\u0436\u0435 \u0432\u0440\u043e\u0434\u0435 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043c (\u0445\u043e\u0442\u044f \u043f\u043e\u043f\u043b\u0435\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0436\u0435 \u043b\u044e\u0431\u0438\u043c). \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044f \u0443\u0436\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u0432\u043e\u0434\u044b \u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043a \u0443\u043c\u043d\u043e\u043c\u0443 \u0434\u043e\u043c\u0443,","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/umnyj-dom-stroim-grafiki-potrebleniya-vody-i-elektrichestva-v-home-assistant","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-17T05:43:08+00:00","article:modified_time":"2020-03-17T05:43:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"74421","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:15:28","updated":"2022-09-27 16:07:45"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/74421","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=74421"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/74421\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/74422"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=74421"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=74421"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=74421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}