Fórum | MyPower.CZ | Obnovitelné zdroje energie - energetická soběstačnost | Poslední návštěva: sob úno 04, 2023 9:28 am


InfluxDB - SELECT (výběr dat)

Arduino, SDS, Raspberry, Linux, vzdálený dohled, automatizace, měření, opensource, closedsource, hotová řešení, DIY, stavebnice, komponenty, software, postupy, návody, schémata, rady, zkušenosti ...

InfluxDB - SELECT (výběr dat)

Příspěvekod rva » ned led 22, 2023 10:54 am

Pro někoho hračka, já se na tom zasekl.
Zajímá mě
1. na jakém článku bývá najvětší napětí při dobíjení baterie
2. na jakém článku bývá najvětší napětí při vybíjení baterie

1. Vyčítám a v grafárně normálně zobrazím data (v tomto případě to je článek, na kterém JK BMS naměří max. napětí - tuto entitu BMS přes ESPHome posílá do HA):
Kód: Vybrat vše
SELECT "value"  FROM "state" WHERE ("entity_id" = 'jk_bms_sklep_max_voltage_cell') AND $timeFilter

Tím zjistím, na jakém článku bývá největší napětí (bez ohledu na směr proudu baterií).

2. Vyčítám a v grafárně normálně zobrazím data (v tomto případě to je proud do baterie (nabíjecí má kladnou hodnotu, vybíjecí zápornou):
Kód: Vybrat vše
SELECT "value" FROM "A" WHERE ("entity_id" = 'jk_bms_sklep_current') AND $timeFilter


Nevím, jak ty dva dotazy zkombinovat, když chci v tom prvním dotazu jenom čísla článků, když je proud baterií kladný (při nabíjení).
_______________________________________________________________________
33 kWp, LiFePO4 32 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A)
?
rva
 
Příspěvky: 2735
Registrován: úte dub 23, 2013 9:21 am


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod rva » ned led 22, 2023 7:39 pm

Zkouším jak ty dva dotazy zkombinovat a stále dostávám nesmysl. Vymázne mi to záporné proudy ale ne odpovídající čísla článků. A přitom chci něco tak jednoduchého jako vybrat čísla článků baterie, pro které je proud baterií kladný. Nakonec si udělám ostudu a budu muset zapojit dceru.
Chybný dotaz do influxDB.jpg

Kód: Vybrat vše
SELECT ("value")  FROM (SELECT ("value")  FROM "state", "A" WHERE (("entity_id" = 'jk_bms_sklep_max_voltage_cell')  OR ("entity_id" = 'jk_bms_sklep_current'))AND $timeFilter ) WHERE ("value">0)
Nemáte oprávnění prohlížet přiložené soubory.
_______________________________________________________________________
33 kWp, LiFePO4 32 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A)
?
rva
 
Příspěvky: 2735
Registrován: úte dub 23, 2013 9:21 am


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod Antrac1t » ned led 22, 2023 9:47 pm

bez do script editoru a pooznacuj si potrebne entity a melo by to jit ...
Kód: Vybrat vše
from(bucket: "ADRESA_TVOJI_INFLUXDB")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "V" or r["_measurement"] == "A")
  |> filter(fn: (r) => r["_field"] == "value")
  |> filter(fn: (r) => r["domain"] == "sensor")
  |> filter(fn: (r) => r["entity_id"] == "jk_bms_sklep_max_voltage_cell" or r["entity_id"] == "jk_bms_sklep_current")
  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
  |> yield(name: "mean")
string1 - 2.7kwp 3S2P, string2 - 4.1kwp 3S3P - 460wp (1x460wp smutne kouka v koute a ceka na 2 kamarady) | 1x Multiplus ii 3000VA | Lifepo4 230AH 48V + Seplos BMS
?
Antrac1t
 
Příspěvky: 72
Registrován: ned čer 26, 2022 2:33 pm


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod rva » pon led 23, 2023 5:58 am

Další neznámá oblast. Koukám, že budu muset nastavit aby v influxDB běželo skriptování ve flux.
influxdb.conf:
Kód: Vybrat vše
 
[http]
flux-enabled = true

Ale zatím povinnnosti, pak omést stovku panelů od sněhu a až pak zábava.
_______________________________________________________________________
33 kWp, LiFePO4 32 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A)
?
rva
 
Příspěvky: 2735
Registrován: úte dub 23, 2013 9:21 am


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod rva » pon led 23, 2023 7:31 pm

Díky za nakopnutí abych zkusil script. Zas jsem o něco chytřejší. Skripty se teda píší ve flux, který je minimálně u mě přístupný v influxDB.
Číslo článku baterie je v jiném měření, než proud baterie a pomocí skriptu je mám už uloženy v jedné tabulce.
Spojení dvou měření do jednoho:
Kód: Vybrat vše
Proud = from(bucket: "ha2/autogen")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "A")
  |> filter(fn: (r) => r["_field"] == "value")
  |> filter(fn: (r) => r["domain"] == "sensor")
  |> filter(fn: (r) => r["entity_id"] == "jk_bms_sklep_current")
  |> fill(column: "_value", usePrevious: true)
  |> aggregateWindow(every: 1s, fn: distinct)
  |> keep(columns: ["_value", "_time"])
 
Clanek = from(bucket: "ha2/autogen")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "state")
  |> filter(fn: (r) => r["_field"] == "value")
  |> filter(fn: (r) => r["domain"] == "sensor")
  |> filter(fn: (r) => r["entity_id"] == "jk_bms_sklep_max_voltage_cell")
  |> fill(column: "_value", usePrevious: true)
  |> aggregateWindow(every: 1s, fn: distinct)
  |> keep(columns: ["_value", "_time"])
 
Proud_Clanek = join(tables: {Proud: Proud, Clanek: Clanek}, on: ["_time"])
  |> fill(column: "_value_Proud", usePrevious: true)
  |>fill(column: "_value_Clanek", usePrevious: true)
  |> yield()
 


Flux výstup dvou měření1.jpg

Flux výstup dvou měření2.jpg

Teď to ještě rozdělit na dvě tabulky, jednu s kladným proudem a druhou se záporným a snad by to mělo být ono.
Malý krůček pro lidstvo, ale velký krok pro člověka. Nebo naopak?
Nemáte oprávnění prohlížet přiložené soubory.
_______________________________________________________________________
33 kWp, LiFePO4 32 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A)
?
rva
 
Příspěvky: 2735
Registrován: úte dub 23, 2013 9:21 am


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod bokser01 » pon led 23, 2023 8:09 pm

Chlapi zeptám se... Potřebuji do influxdb dostat data která mám na webu, takže bych je potřeboval CURL zobrazit a uložit do influxdb... Jedná se o teplotu bojleru. Jenže přes php mi to nejde a nic jiného neovládám vůbec... :( nenakopnul by jste mě někdo?
MUST 3KW 80A MPPT 24V/ 3,2kWp stringy 4S4P. 2 měnič MUST 3KW 80A MPPT 24V 1,4kWp stringy 4S1P + 2S1P, Baterie 9,6KWh olovouhlik (4x JPC12-200), Celek tedy 4,6kWp
?
bokser01
 
Příspěvky: 611
Registrován: pon úno 07, 2022 2:43 pm


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod Antrac1t » pon led 23, 2023 8:21 pm

rva píše:Teď to ještě rozdělit na dvě tabulky, jednu s kladným proudem a druhou se záporným a snad by to mělo být ono.
Malý krůček pro lidstvo, ale velký krok pro člověka. Nebo naopak?


ono to muzes vse napsat normal v selectu pres joiny, ale pres skript je to mnohem rychlejsi (pro me, bejt to mssql tak ti to vypisu pres CTE) ... nech to v jednom, jen pridej druhou y axis na pravou stranu kde nechas vykreslenej proud z baterie a bude to pekne all in one ...
string1 - 2.7kwp 3S2P, string2 - 4.1kwp 3S3P - 460wp (1x460wp smutne kouka v koute a ceka na 2 kamarady) | 1x Multiplus ii 3000VA | Lifepo4 230AH 48V + Seplos BMS
?
Antrac1t
 
Příspěvky: 72
Registrován: ned čer 26, 2022 2:33 pm


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod Antrac1t » pon led 23, 2023 8:22 pm

bokser01 píše:Chlapi zeptám se... Potřebuji do influxdb dostat data která mám na webu, takže bych je potřeboval CURL zobrazit a uložit do influxdb... Jedná se o teplotu bojleru. Jenže přes php mi to nejde a nic jiného neovládám vůbec... :( nenakopnul by jste mě někdo?


a kde ti to bezi? v HA? nebo zvlast nekde jinde?
string1 - 2.7kwp 3S2P, string2 - 4.1kwp 3S3P - 460wp (1x460wp smutne kouka v koute a ceka na 2 kamarady) | 1x Multiplus ii 3000VA | Lifepo4 230AH 48V + Seplos BMS
?
Antrac1t
 
Příspěvky: 72
Registrován: ned čer 26, 2022 2:33 pm


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod bokser01 » pon led 23, 2023 8:39 pm

Antrac1t píše:
bokser01 píše:Chlapi zeptám se... Potřebuji do influxdb dostat data která mám na webu, takže bych je potřeboval CURL zobrazit a uložit do influxdb... Jedná se o teplotu bojleru. Jenže přes php mi to nejde a nic jiného neovládám vůbec... :( nenakopnul by jste mě někdo?


a kde ti to bezi? v HA? nebo zvlast nekde jinde?


Mám solaranzeige jede to normálně na raspberry. Zkrátka potřebuju tu hodnotu vyčíst z webu z txt souboru kde je hodnota teploty a nějak vložit do databáze pro někoho nic složitého, no pro mě boj :D
MUST 3KW 80A MPPT 24V/ 3,2kWp stringy 4S4P. 2 měnič MUST 3KW 80A MPPT 24V 1,4kWp stringy 4S1P + 2S1P, Baterie 9,6KWh olovouhlik (4x JPC12-200), Celek tedy 4,6kWp
?
bokser01
 
Příspěvky: 611
Registrován: pon úno 07, 2022 2:43 pm


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod rva » pon led 23, 2023 8:46 pm

Antrac1t píše: ono to muzes vse napsat normal v selectu pres joiny, ale pres skript je to mnohem rychlejsi ...

Pro mě je to nové, takže nějakou dobu bude trvat, než pochopím o co jde. Cílem je ověřit, jestli se nějak jednoduše nedá detekovat blížící se závada baterie. BMS opakovaně čte napětí na článcích a pro nás lenochy i rovnou posílá číslo článku s maximálním (a minimálním napětí). Jednoduché bylo v grafaně získat histogram na kterém vidím rozdíly mezi články:
JK-BMS-histogram.jpg

A to chci rozdělit pro případ, kdy se články nabíjejí a pro případ, kdy se vybíjejí.
Nemáte oprávnění prohlížet přiložené soubory.
_______________________________________________________________________
33 kWp, LiFePO4 32 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A)
?
rva
 
Příspěvky: 2735
Registrován: úte dub 23, 2013 9:21 am


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod Antrac1t » pon led 23, 2023 9:25 pm

bokser01 píše:
Antrac1t píše:
bokser01 píše:Chlapi zeptám se... Potřebuji do influxdb dostat data která mám na webu, takže bych je potřeboval CURL zobrazit a uložit do influxdb... Jedná se o teplotu bojleru. Jenže přes php mi to nejde a nic jiného neovládám vůbec... :( nenakopnul by jste mě někdo?


a kde ti to bezi? v HA? nebo zvlast nekde jinde?


Mám solaranzeige jede to normálně na raspberry. Zkrátka potřebuju tu hodnotu vyčíst z webu z txt souboru kde je hodnota teploty a nějak vložit do databáze pro někoho nic složitého, no pro mě boj :D


a na ten web to davas pres co? arduino/esp ... proc se ptam, nemam rad takove to skrabani na levem uchu pravou rukou (senzor->txt->web->influx nez senzor->influx)
string1 - 2.7kwp 3S2P, string2 - 4.1kwp 3S3P - 460wp (1x460wp smutne kouka v koute a ceka na 2 kamarady) | 1x Multiplus ii 3000VA | Lifepo4 230AH 48V + Seplos BMS
?
Antrac1t
 
Příspěvky: 72
Registrován: ned čer 26, 2022 2:33 pm


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod bokser01 » pon led 23, 2023 9:31 pm

JJ ESP32 s deep sleep napájené z baterie posílá mi to na webhosting kde se to grafuje a zapisuje ale v té grafaně by to bylo praktičtější
MUST 3KW 80A MPPT 24V/ 3,2kWp stringy 4S4P. 2 měnič MUST 3KW 80A MPPT 24V 1,4kWp stringy 4S1P + 2S1P, Baterie 9,6KWh olovouhlik (4x JPC12-200), Celek tedy 4,6kWp
?
bokser01
 
Příspěvky: 611
Registrován: pon úno 07, 2022 2:43 pm


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod Antrac1t » pon led 23, 2023 9:36 pm

bokser01 píše:JJ ESP32 s deep sleep napájené z baterie posílá mi to na webhosting kde se to grafuje a zapisuje ale v té grafaně by to bylo praktičtější

tak pokud pokud ti nebude vadit ze to nebudes mit na webu jako txt, tak tady je jednoduchy postup jak rovnou z esp rvat data do lokal influxdb ... pocitam ze asi nejedes nic pres HA
https://www.debashishsahu.com/posts/sending-sensor-data-from-esp32-to-influxdb-local-access-time-series-database/
string1 - 2.7kwp 3S2P, string2 - 4.1kwp 3S3P - 460wp (1x460wp smutne kouka v koute a ceka na 2 kamarady) | 1x Multiplus ii 3000VA | Lifepo4 230AH 48V + Seplos BMS
?
Antrac1t
 
Příspěvky: 72
Registrován: ned čer 26, 2022 2:33 pm


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod Antrac1t » pon led 23, 2023 10:22 pm

rva píše:
Antrac1t píše: ono to muzes vse napsat normal v selectu pres joiny, ale pres skript je to mnohem rychlejsi ...

Pro mě je to nové, takže nějakou dobu bude trvat, než pochopím o co jde. Cílem je ověřit, jestli se nějak jednoduše nedá detekovat blížící se závada baterie. BMS opakovaně čte napětí na článcích a pro nás lenochy i rovnou posílá číslo článku s maximálním (a minimálním napětí). Jednoduché bylo v grafaně získat histogram na kterém vidím rozdíly mezi články:
JK-BMS-histogram.jpg

A to chci rozdělit pro případ, kdy se články nabíjejí a pro případ, kdy se vybíjejí.


ja se kdysi vykaslal na max a min a beru aktualni hodnotu a narval to do boxplotu kde jde videt jakej clanek uplne uhejba skrz napeti, jeste by se dalo k tomu pridat proud nabijeni/vybijeni jak jsi zminoval

Obrázek
string1 - 2.7kwp 3S2P, string2 - 4.1kwp 3S3P - 460wp (1x460wp smutne kouka v koute a ceka na 2 kamarady) | 1x Multiplus ii 3000VA | Lifepo4 230AH 48V + Seplos BMS
?
Antrac1t
 
Příspěvky: 72
Registrován: ned čer 26, 2022 2:33 pm


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod kodl69 » úte led 24, 2023 1:57 am

mě taky přijde jednodušší řešit okamžitý napětí, už jsem tady postoval výstupy z influxdb, kde je vidět, že jiný články jdou první nahoru a jiný první dolů, a jiný m klesá napětí při velkým odběru. Podle mě stačí detekovat napětí mimo rozumný rozsah, tj iu lifepo4 pod 2.7V a nad 3.5V a to dokáže sama BMS, v HA si můžeš tyhle meze nastavit opatrněj, abys měl nějakej ALERT že se něco děje (nebo neděje, jenom jsou nabitý baterky a nestíhá balancer, a nebo jsou vybitý, a některej článek pod zátěží jde strměj dolů). Mě tyhle alerty dělá přímo DIYBMS v4, takže to nemusím řešit nějakým složitým systémem.
ostrov 4600Wp neustále ve stádiu zrodu: midnite classic 150 lite+whizbang jr., 16S a různě P cca 300Ah Winston, Ex Powerjack 8kW (momentálně samodomo cca 6kW). 48V DC rozvody a spotřebiče.
?
kodl69
podporuje fórum
 
Příspěvky: 6653
Registrován: sob črc 19, 2014 7:56 pm


Re: InfluxDB - SELECT (výběr dat)

Příspěvekod rva » úte led 24, 2023 6:29 am

Sledovat napětí je moc jednoduché, z BMS jde řada dat, tak třeba se dají zpracovat, aby se s předstihem detekovalo něco podezřelého.
1. BMS údaj o článku s maximálním a článku s minimálním napětí využívá k přelévání náboje.
2. Pokud bude některý článek vyžadovat častěji náboj doplňovat, asi má vyšší samovybíjení, což nemusí vadit, pokud se bude v čase chovat stejně.
3. Pokud ale té energie na vybalancování začne vyžadovat víc a víc, měl bych zpozornět. A to mi jenom sledování napětí neřekne, protože balancery to zpočátku téměř vyrovnají.
_______________________________________________________________________
33 kWp, LiFePO4 32 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A)
?
rva
 
Příspěvky: 2735
Registrován: úte dub 23, 2013 9:21 am



Zpět na Automatizace, měření, statistiky

Kdo je online

Uživatelé procházející toto fórum: Seznam [Bot], Ubermetrics [Bot] a 0 návštevníků

Reputation System ©'