Cool - danke! Das schau ich mir mal genauer an.
Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad
Moderator: Ulrich
Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad
Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad
Mir scheint, es scheitert bei mir schon an den Basics.
Also ...
Ich habe folgende Daten in der Datenbank:
Einspeisung,uuid=1
Verbrauch,uuid=0
Wirkleistung,uuid=2
mqtt_consumer,host=strom,topic=solar/114184847551/0/frequency
mqtt_consumer,host=strom,topic=solar/114184847551/0/power
mqtt_consumer,host=strom,topic=solar/114184847551/0/temperature
mqtt_consumer,host=strom,topic=solar/114184847551/0/yieldday
mqtt_consumer,host=strom,topic=solar/114184847551/0/yieldtotal
mqtt_consumer,host=strom,topic=solar/114184847551/1/power
mqtt_consumer,host=strom,topic=solar/114184847551/1/yieldday
mqtt_consumer,host=strom,topic=solar/114184847551/1/yieldtotal
mqtt_consumer,host=strom,topic=solar/114184847551/2/power
mqtt_consumer,host=strom,topic=solar/114184847551/2/yieldday
mqtt_consumer,host=strom,topic=solar/114184847551/2/yieldtotal
Einspeisung und Verbrauch sind die Stände des Stromzählers in Wh. Die Wirkleistung wird in W ausgegeben.
die mtt_consumer-Datenfelder kommen vom Hoymiles-Wechselrichter. Da verwende ich bisher den 0/yieldday, um meinen Tagesverbrauch darzustellen. Hier dürfte ich dann 0/power (aktuelle Gesamtleistung) benötigen.
Jetzt meine (wahrscheinlich blöde Anfänger-)Frage:
wie setze ich diese Werte korrekt in die obigen SELECT-Statements ein. Insbesondere bei "FROM Meter" habe ich ein großes Fragezeichen. Der Rest erscheint mir halbwegs logisch..
Die AS-Statements erzeugen dann offenbar Variablen mit dem Inhalt der aus der Datenbank ausgelesenen Daten?
Ich hatte mir das Ganze für meine bisherigen Abfragen im Panel einfach zusammengeklickt gehabt und noch nie mit SELECT-Statements gearbeitet. Daher steh ich da gerade ziemlich auf dem Schlauch.
Danke!
Also ...
Ich habe folgende Daten in der Datenbank:
Einspeisung,uuid=1
Verbrauch,uuid=0
Wirkleistung,uuid=2
mqtt_consumer,host=strom,topic=solar/114184847551/0/frequency
mqtt_consumer,host=strom,topic=solar/114184847551/0/power
mqtt_consumer,host=strom,topic=solar/114184847551/0/temperature
mqtt_consumer,host=strom,topic=solar/114184847551/0/yieldday
mqtt_consumer,host=strom,topic=solar/114184847551/0/yieldtotal
mqtt_consumer,host=strom,topic=solar/114184847551/1/power
mqtt_consumer,host=strom,topic=solar/114184847551/1/yieldday
mqtt_consumer,host=strom,topic=solar/114184847551/1/yieldtotal
mqtt_consumer,host=strom,topic=solar/114184847551/2/power
mqtt_consumer,host=strom,topic=solar/114184847551/2/yieldday
mqtt_consumer,host=strom,topic=solar/114184847551/2/yieldtotal
Einspeisung und Verbrauch sind die Stände des Stromzählers in Wh. Die Wirkleistung wird in W ausgegeben.
die mtt_consumer-Datenfelder kommen vom Hoymiles-Wechselrichter. Da verwende ich bisher den 0/yieldday, um meinen Tagesverbrauch darzustellen. Hier dürfte ich dann 0/power (aktuelle Gesamtleistung) benötigen.
Jetzt meine (wahrscheinlich blöde Anfänger-)Frage:
wie setze ich diese Werte korrekt in die obigen SELECT-Statements ein. Insbesondere bei "FROM Meter" habe ich ein großes Fragezeichen. Der Rest erscheint mir halbwegs logisch..
Die AS-Statements erzeugen dann offenbar Variablen mit dem Inhalt der aus der Datenbank ausgelesenen Daten?
Ich hatte mir das Ganze für meine bisherigen Abfragen im Panel einfach zusammengeklickt gehabt und noch nie mit SELECT-Statements gearbeitet. Daher steh ich da gerade ziemlich auf dem Schlauch.
Danke!
- mdkeil
- Beiträge: 438
- Registriert: So 12. Sep 2021, 20:40
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 28 Mal
Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad
Ich versuche mal die 3 SELECT-Statements mit deinen Daten zu bauen--
1.
2.
3.
1.
Code: Alles auswählen
SELECT integral(value,1h) AS Netzbezug FROM "Wirkleistung" WHERE value > 0 AND $timeFilter GROUP BY time(1h) tz('Europe/Berlin')
Code: Alles auswählen
SELECT integral(value,1h) *(-1) AS Einspeisung FROM "Wirkleistung" WHERE value < 0 AND $timeFilter GROUP BY time(1h) tz('Europe/Berlin')
Code: Alles auswählen
SELECT integral(value,1h) AS Solarleistung FROM "mqtt_consumer" WHERE "topic" = 'solar/114184847551/0/power' AND $timeFilter GROUP BY time(1h) tz('Europe/Berlin')
Kann man als Variablen-Bezeichnungen bzw. field-names verstehen.Die AS-Statements erzeugen dann offenbar Variablen mit dem Inhalt der aus der Datenbank ausgelesenen Daten?
IBN: 07/2021
Fronius Symo : 13.2kWp S 45° + 3.96 kWp S 15°
Fronius Primo : 2.97 kWp N 15°
Speicher: 14,3 kWh LiFePO4 (EEL) + Seplos BMS @ Victron MP-II 48/5000
Wallbox: 11kW echarge Hardy Barth Cpμ2 Pro
######
Tibber-Invite (100% Öko-Strom + 50€ Bonus)
Fronius Symo : 13.2kWp S 45° + 3.96 kWp S 15°
Fronius Primo : 2.97 kWp N 15°
Speicher: 14,3 kWh LiFePO4 (EEL) + Seplos BMS @ Victron MP-II 48/5000
Wallbox: 11kW echarge Hardy Barth Cpμ2 Pro
######
Tibber-Invite (100% Öko-Strom + 50€ Bonus)
Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad
Aaah - so langsam wirds klarer ... danke!!
Ich glaube, ich hab das Prinzip verstanden. Vielleicht sollte ich mal nen SQL-Grundlagenkurs buchen
Ich versuche mein Glück und werde wieder berichten.
Ich glaube, ich hab das Prinzip verstanden. Vielleicht sollte ich mal nen SQL-Grundlagenkurs buchen

Ich versuche mein Glück und werde wieder berichten.
Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad
Aaalso ...
Die Queries hab ich jetzt mal drin
allerdings tauchen die field-names irgendwie unten bei "Organize fields" bis auf "Time" nicht auf. Hab ich da irgendwo ein Häkchen vergessen?
So kann ich die ja gar nicht für die Darstellung auswählen.
Die Queries hab ich jetzt mal drin
allerdings tauchen die field-names irgendwie unten bei "Organize fields" bis auf "Time" nicht auf. Hab ich da irgendwo ein Häkchen vergessen?
So kann ich die ja gar nicht für die Darstellung auswählen.
- mdkeil
- Beiträge: 438
- Registriert: So 12. Sep 2021, 20:40
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 28 Mal
Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad
hast du wahrscheinlich in meinen Screeny übersehen.. du must unter Transform als erstes ein "Merge" einfügen.
Edit: als visualisierungs-plugin würde ich statt "Table" "Time Series" auswählen. (rechts oben)
Edit: als visualisierungs-plugin würde ich statt "Table" "Time Series" auswählen. (rechts oben)
IBN: 07/2021
Fronius Symo : 13.2kWp S 45° + 3.96 kWp S 15°
Fronius Primo : 2.97 kWp N 15°
Speicher: 14,3 kWh LiFePO4 (EEL) + Seplos BMS @ Victron MP-II 48/5000
Wallbox: 11kW echarge Hardy Barth Cpμ2 Pro
######
Tibber-Invite (100% Öko-Strom + 50€ Bonus)
Fronius Symo : 13.2kWp S 45° + 3.96 kWp S 15°
Fronius Primo : 2.97 kWp N 15°
Speicher: 14,3 kWh LiFePO4 (EEL) + Seplos BMS @ Victron MP-II 48/5000
Wallbox: 11kW echarge Hardy Barth Cpμ2 Pro
######
Tibber-Invite (100% Öko-Strom + 50€ Bonus)
Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad
Ah - super! Wieder was gelernt.
Vermutlich muß ich jetzt nochmal von vorne anfangen? Merge scheint sich nachträglich nicht einfügen zu lassen. Da kommt dann die rote Meldung "Merge has no effect when applied on a single frame."
Und in dem Panel sagt er jetzt "Data is missing a number field"
Vermutlich muß ich jetzt nochmal von vorne anfangen? Merge scheint sich nachträglich nicht einfügen zu lassen. Da kommt dann die rote Meldung "Merge has no effect when applied on a single frame."
Und in dem Panel sagt er jetzt "Data is missing a number field"

- mdkeil
- Beiträge: 438
- Registriert: So 12. Sep 2021, 20:40
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 28 Mal
Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad
Du kannst die einzelnen Transforms auch verschieben (über das Symbol mit den 6 Punkten).. einfach mit der Maus verschieben.. Merge muss ganz nach vorne.
IBN: 07/2021
Fronius Symo : 13.2kWp S 45° + 3.96 kWp S 15°
Fronius Primo : 2.97 kWp N 15°
Speicher: 14,3 kWh LiFePO4 (EEL) + Seplos BMS @ Victron MP-II 48/5000
Wallbox: 11kW echarge Hardy Barth Cpμ2 Pro
######
Tibber-Invite (100% Öko-Strom + 50€ Bonus)
Fronius Symo : 13.2kWp S 45° + 3.96 kWp S 15°
Fronius Primo : 2.97 kWp N 15°
Speicher: 14,3 kWh LiFePO4 (EEL) + Seplos BMS @ Victron MP-II 48/5000
Wallbox: 11kW echarge Hardy Barth Cpμ2 Pro
######
Tibber-Invite (100% Öko-Strom + 50€ Bonus)
Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad
Danke! Das hatte ich auch gefunden, aber der Fehler bestand irgendwie weiterhin. Irgendwie hab ich ihn dann doch wegbekommen.
Ich kriege aber immer noch die Meldung "Data is missing a number field", wobei es im Query Inspector nach meinem Gefühl eigentlich ganz gut aussieht. Leider fehlt hier mein Wissen, um dort einen Fehler zu erkennen:
Code: Alles auswählen
{
"request": {
"url": "api/ds/query",
"method": "POST",
"data": {
"queries": [
{
"alias": "Netzbezug",
"datasource": {
"type": "influxdb",
"uid": "HeC258Zgz"
},
"query": "SELECT integral(value,1h) AS Netzbezug FROM \"Wirkleistung\" WHERE value > 0 AND $timeFilter GROUP BY time(1h) tz('Europe/Berlin')\n",
"rawQuery": true,
"refId": "A",
"resultFormat": "table",
"adhocFilters": [],
"limit": "",
"measurement": "",
"policy": "",
"slimit": "",
"tz": "",
"datasourceId": 4,
"intervalMs": 120000,
"maxDataPoints": 901
},
{
"alias": "Einspeisung",
"datasource": {
"type": "influxdb",
"uid": "HeC258Zgz"
},
"hide": false,
"query": "SELECT integral(value,1h) *(-1) AS Einspeisung FROM \"Wirkleistung\" WHERE value < 0 AND $timeFilter GROUP BY time(1h) tz('Europe/Berlin')\n",
"rawQuery": true,
"refId": "B",
"resultFormat": "table",
"adhocFilters": [],
"limit": "",
"measurement": "",
"policy": "",
"slimit": "",
"tz": "",
"datasourceId": 4,
"intervalMs": 120000,
"maxDataPoints": 901
},
{
"alias": "Solarleistung",
"datasource": {
"type": "influxdb",
"uid": "HeC258Zgz"
},
"hide": false,
"query": "SELECT integral(value,1h) AS Solarleistung FROM \"mqtt_consumer\" WHERE \"topic\" = 'solar/114184847551/0/power' AND $timeFilter GROUP BY time(1h) tz('Europe/Berlin')\n",
"rawQuery": true,
"refId": "C",
"resultFormat": "table",
"adhocFilters": [],
"limit": "",
"measurement": "",
"policy": "",
"slimit": "",
"tz": "",
"datasourceId": 4,
"intervalMs": 120000,
"maxDataPoints": 901
}
],
"range": {
"from": "2023-04-26T05:48:24.618Z",
"to": "2023-04-27T05:48:24.618Z",
"raw": {
"from": "now-24h",
"to": "now"
}
},
"from": "1682488104618",
"to": "1682574504618"
},
"hideFromInspector": false
},
"response": {
"results": {
"A": {
"status": 200,
"frames": [
{
"schema": {
"name": "Netzbezug",
"refId": "A",
"meta": {
"executedQueryString": "SELECT integral(value,1h) AS Netzbezug FROM \"Wirkleistung\" WHERE value > 0 AND time >= 1682488104618ms and time <= 1682574504618ms GROUP BY time(1h) tz('Europe/Berlin')\n"
},
"fields": [
{
"name": "time",
"type": "time",
"typeInfo": {
"frame": "time.Time"
}
},
{
"name": "value",
"type": "number",
"typeInfo": {
"frame": "float64",
"nullable": true
},
"config": {
"displayNameFromDS": "Netzbezug"
}
}
]
},
"data": {
"values": [
[
1682485200000,
1682488800000,
1682492400000,
1682496000000,
1682499600000,
1682503200000,
1682506800000,
1682510400000,
1682514000000,
1682517600000,
1682521200000,
1682524800000,
1682528400000,
1682532000000,
1682535600000,
1682539200000,
1682542800000,
1682546400000,
1682550000000,
1682553600000,
1682557200000,
1682560800000,
1682564400000,
1682568000000,
1682571600000
],
[
14.663110138888898,
106.75617742229352,
116.01125823309978,
308.7796310801482,
746.8460074860279,
893.4753872800023,
987.2784157304354,
1657.3736298620586,
1152.5773108616763,
1489.0363668533219,
730.7774142659871,
271.52535051678063,
778.3897761560437,
297.43610425212665,
291.3117873048895,
218.71438545689878,
214.16371831505114,
163.25285878051562,
165.00983633623187,
171.18451989414058,
157.35777073325661,
219.02438471820182,
201.60438460946008,
499.0586685698154,
357.5604169482007
]
]
}
}
],
"refId": "A"
},
"B": {
"status": 200,
"frames": [
{
"schema": {
"name": "Einspeisung",
"refId": "B",
"meta": {
"executedQueryString": "SELECT integral(value,1h) *(-1) AS Einspeisung FROM \"Wirkleistung\" WHERE value < 0 AND time >= 1682488104618ms and time <= 1682574504618ms GROUP BY time(1h) tz('Europe/Berlin')\n"
},
"fields": [
{
"name": "time",
"type": "time",
"typeInfo": {
"frame": "time.Time"
}
},
{
"name": "value",
"type": "number",
"typeInfo": {
"frame": "float64",
"nullable": true
},
"config": {
"displayNameFromDS": "Einspeisung"
}
}
]
},
"data": {
"values": [
[
1682488800000,
1682492400000,
1682496000000,
1682499600000,
1682503200000,
1682506800000,
1682510400000,
1682514000000,
1682517600000,
1682521200000,
1682524800000
],
[
2.223483331303099,
161.98592971770526,
214.35867808851881,
149.55739892970897,
256.1311165884085,
165.2504151706266,
321.9596717493173,
248.29312143513928,
160.85058128690014,
79.34906826885603,
1.6104254335173955
]
]
}
}
],
"refId": "B"
},
"C": {
"status": 200,
"frames": [
{
"schema": {
"name": "Solarleistung",
"refId": "C",
"meta": {
"executedQueryString": "SELECT integral(value,1h) AS Solarleistung FROM \"mqtt_consumer\" WHERE \"topic\" = 'solar/114184847551/0/power' AND time >= 1682488104618ms and time <= 1682574504618ms GROUP BY time(1h) tz('Europe/Berlin')\n"
},
"fields": [
{
"name": "time",
"type": "time",
"typeInfo": {
"frame": "time.Time"
}
},
{
"name": "value",
"type": "number",
"typeInfo": {
"frame": "float64",
"nullable": true
},
"config": {
"displayNameFromDS": "Solarleistung"
}
}
]
},
"data": {
"values": [
[
1682485200000,
1682488800000,
1682492400000,
1682496000000,
1682499600000,
1682503200000,
1682506800000,
1682510400000,
1682514000000,
1682517600000,
1682521200000,
1682524800000,
1682528400000,
1682532000000,
1682568000000,
1682571600000
],
[
15.027685871801598,
121.61020903469574,
374.8583726376131,
437.35254717865416,
402.61658874582207,
470.878927573666,
389.18060211549107,
560.9809037050751,
470.85880978689215,
332.1623257942818,
257.0666418790481,
98.10904656578019,
30.519035193846072,
2.730261208911082,
7.498925664396776,
42.25339060173489
]
]
}
}
],
"refId": "C"
}
}
}
}
Was mich irritiert ist die Tatsache, daß unten bei "Organize Fields" nur "Time" auftaucht.
Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad
Aaah - man muß bei den Select-Statements natürlich auch "Time Series" wählen für die Formatierung und schon klappts ...
Wobei da meines Erachtens immer noch komische Fehler drin sind - siehe z.B. der markierte Peak "Einspeisung" früh morgens um 8 Uhr.
Da muß ich noch forschen, was da passiert.
Wobei da meines Erachtens immer noch komische Fehler drin sind - siehe z.B. der markierte Peak "Einspeisung" früh morgens um 8 Uhr.
Da muß ich noch forschen, was da passiert.
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste