Grafana utworzenie wykresy z konkretnego czujnika a nie zbiorczego

Witam,
próbuję tworzyć wykresy w Grafanie i nie za bardzo wiem jak utworzyć wykres konkretnego pomiaru.
Chodzi mi o to że mam kilka pomiarów temperatury z różnych czujników i owszem wykres utworzyłem ale wydaje mi się że Grafana zrobiła wykres zbiorczy jako średnia z tych wszystkich pomiarów/czujników, natomiast nie wiem jak zrobić pomiar z konkretnego czujnika, gdzie to trzeba wybrać.
zaczynam z grafaną więc wszystko jest dla mnie nowe.
prośba o jakąś wskazówkę, czy to się da gdzieś wybrać czy wszystko odbywa się na zasadzie rozkazów programowych.
u mnie Grafana korzysta z basy InfluxDB

chodzi mi o to że nie potrafię wskazać/znaleźć żeby wskazać czujniki z których chcę zrobić wykresy, nie wiem jak znaleźć ich nazwy, aby wskazać grafanie, jak sądzę jest to w polu FROM na powyższym skanie ale nijak tam nie widzę nazw moich czujników żeby móc je wybrać

Wiele przykładów dashboard: https://grafana.com/search/?term=homeassistant&type=dashboard

Home Assistant: Home Assistant System | Grafana Labs

Screenshot - 13.11.2023 , 01_18_26

O ile pamiętam WHERE + dajesz na plusik wybierasz domenę, np sensor a z niej interesujący cię czujnik.

Właśnie chyba tak jak piszesz że wybiera się w tej pierwszej linijce gdzie jest
FROM → WHERE
popróbuję, bo na razie mi coś nie wychodzi i na tym co mi się wyświetla w WHERE to nie widzę żadnych normalnie nazwanych czujników które bym mógł wybrać, bo jak sądzę tu bym musiał wybrać konkretny czujnik z którego chcę zrobić odczyt z wykresem, tu mi sie pojawiają jakieś rozkazy programowe zamiast nazw czujników, że tak to nazwę


wybierz entity_id i potem interesującą Cię encję, musisz też wybrać jej jednostkę i pokaże Ci się wykres potem przez SELECT i GROUP BY modyfikujesz co ma być wyświetlane.

PS: Najlepiej zamiast screena, jak potrzebujesz pomocy przejść do RAW i przesłać na forum zapytanie, w tryb RAW wejdziesz klikając na
image

niestety nie bardzo wiem o co biega, jak robię tak jak napisałes to nadal mam do wyboru tego typu listę która mi niewiele mówi i tak w koło, żadnej normalnej nazwy jakie nadałem czujnikom, dlatego nie potrafię ich znaleźć na liście
image

jak chcę kliknąć ten przycisk co piszesz RAW to mi się otwiera kolejne okno do kolejnego wykresu


I potem select tag value i wybierasz swoją encje

np:
image
co w RAW daje:

SELECT mean("value") FROM "%" WHERE ("entity_id"::tag = 'memory_use_percent') AND $timeFilter GROUP BY time($__interval) fill(null)

Możesz też zrobić tak:

SELECT mean("value") FROM "%" WHERE ("entity_id"::tag = 'memory_use_percent') AND $timeFilter GROUP BY time(5m) fill(previous)

co spowoduje, że wykres będzie wygładzony

no jak wybieram jak piszesz to mam w kolejności następny wybór typu cała lista w takim wyglądzie (nie da sie zrobić zrzutu) value::field i.t.d i skąd ja mam wiedzieć co mam wybrać ?

Ty nie masz kilkać na “+” tylko na select tag value

o kurcze, faktycznie tam jest cała lista moich czujników, ale ktoś to zagmatwał, bez znajmości programowania nie podchodż :crazy_face:

Znajomości SQL :slight_smile:

Można tam zrobić różne wykresy ale to już musisz zaprzyjaźnić się z dokumentacją albo google :slight_smile:
Np:


Wpisując coś takiego:
SELECT non_negative_difference(LAST(“value”)) AS “godzinowe zużycie” FROM “m³” WHERE “entity_id”::tag = ‘zuzycie_gaz’ AND $timeFilter GROUP BY time(1h)

no niestety ani programować nie umiem ani SQLa nie znam
w każdym bądź razie bardzo dziękuję za pomoc, wgryzam sie w to dalej, pewnie pojawią sie kolejne problemy, walczę dalej
dzięki

Spróbuj chatgpt jak mu dobrze opiszesz problem to da Ci gotowca w RAW :wink:

a powiedz mi jeszcze gdzie to zmienić co zaznaczyłem (to co przy C i % chcę usunąc lub dopisać po polsku)
dodałem wilgotność i sie nie rysuje bo pewnie wartości są większe niż skala wykresu która jest do 14 (min i max mam ustawione na auto)

image

wpisz w Naming pattern to co chcesz i zamiast mean się pojawi Twoja nazwa, a skala sama się robi, możesz ew. pomnożyć / podzielić wartość jak np. zamiast W chcesz kW.

Nie rysuje się bo w zadanym okresie czasu możesz w bazie danych nie mieć wartości do narysowania (np. jak się wartość nie zmieniła przez długi okres to nie wpisuje nowej aby nie zajmować miejsca w bazie danych) - zmień okres czasu zamiast domyślnych last 6h na większy.

inaczej
dodałem pomiar temperatury i wilgotności aby sie rysowały na jednym wykresie czyli jak rozumiem w A temperatura a w B wilgotność i jak widac na screenie wyżej wilgotnośc się nie pojawiła

jest tylko jeden wykres temperatury
image

jeszcze jedno jak wyjść z tego :
image

a jak dodasz samą wilgotność to co masz? Może nie dodałeś jednostki albo coś dla wilgotności?
Wychodzisz klikając na “ołówek” jeszcze raz, tylko część rzeczy można zmienić jedynie w RAW więc jak tam coś zmieniłeś co nie da się wyklikać z edytora graficznego to nie będzie działać.

ok trzeba zapisać a nie chciałem coś namieszać

z wilgotnościa za chwilę

co ciekawe jak na wykresie temperatury zmienię ten wpis NAMING PATTERN na to co chcę czyli temperatura C to mi wykres znika, bez tego wpisu wykres się pojawia
image

image

Edit:

jak utworzyłem wykres od nowa to sie dało dodać temperaturę razem z wilgotnością, z poprzednimi edytując cos nie szło, taraz na nowym wszystkie zmiany zostały przyjęte

image

a powiedz mi jeszcze jak zmienić zakresy na tym wykresie dla temperatury inny dla wilgotności inny bo temperatura to tu słabo wygląda jak skala pionowa jest 100, więc dla temperatury skala musiałaby być inna dla wilgotności inna na tym samym wykresie

Najprościej tak: Learn Grafana: How to use dual axis graphs | Grafana Labs

dzięki, poczytam i sie czegoś nauczę, o to mi własnie chodzi :grinning:

jeszcze jedną rzecz zauważyłem, wykresy nie sa aktualne, mam teraz godzinę 20:03 a ostatnie odczyty na wykresach są z 19:04, o co to chodzi ? jak dam wyświetlenie wykresu krótszego niż 1h to brak danych. Jest jakby godzinne opóżnienie w rejestracji danych.

tak to wygląda to opóźnienie

wyświetlaj wykres jako now-1h / now albo now-1d itd. wtedy zawsze dostaniesz aktualny, a jak dodajesz go jako link to musisz zmienić w adresie na from=now-1h&to=now