Domoticz --> influxDB --> Grafana, waar gaat het fout?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 21:30
Ik heb een Raspberry Pi in de meterkast hangen, die verzamelt wat data uit het huis zoals gas- en E-verbruik, temperaturen, beweging en de thermostaat via een OTGW.

Domoticz draait op Raspbian Jessie. Ik heb influxdb en grafana geïnstalleerd uit testing dmv pinning. Influxdb draait want ik kan de interface benaderen via poort 8083. Geen idee of Grafana al draait, maar dat komt later wel.

Domoticz heeft een HTTPLink module die ik als volgt heb ingevuld:
http push domoticz
Ik heb, naast de URL in deze screenshot ook de volgende URL geprobeerd: http://localhost:8086/write?db=domoticz

Het probleem is nu dat de data niet bij InfluxDB aankomt.
  • Het vinkje "Debug to logfile" staat aan, maar ik zie geen meldingen in de log. Ik neem aan dat dit de log is onder Setup in Domoticz?
  • Als ik met wireshark luister op poort 8086 zie ik geen pakketjes langskomen
Weet iemand waar het aan kan liggen dat er niks binnenkomt bij InfluxDB?

Uiteindelijk wil ik dit soort geile plaatjes kunnen maken: (bedankt Nikcyb2)
Afbeeldingslocatie: http://static.tweakers.net/ext/f/nYAS59Y3XTZuAg8NNUc1Pb26/thumb.png

Beste antwoord (via balk op 02-05-2016 19:35)


  • DJFliX
  • Registratie: Januari 2005
  • Laatst online: 17-03 09:06
balk schreef op zaterdag 30 april 2016 @ 15:34:
[...]

code:
1
curl -i -XPOST 'http://localhost:8086/write?db=domoticz' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'

geeft waardes in influxdb.... dus het ligt aan Domoticz?
Het bovenstaande voorbeeld is in het formaat van InfluxDB 0.9 of hoger. Het voorbeeld uit de TS is van het legacy formaat (0.8 of lager). Afhankelijk van welke versie van InfluxDB je geïnstalleerd hebt kan dit de reden zijn dat het voorbeeld uit de TS niet werkt en het andere voorbeeld wel.

Het formaat dat ze in InfluxDB 0.9 en hoger gebruiken is het Line Protocol formaat. Ik heb ervaring met InfluxDB, maar niet met domoticz. Ben het wel nu aan het opzetten, dus als ik meer weet laat ik het je weten ;)

Edit: heb het werkend!
Afbeeldingslocatie: http://tweakers.net/ext/f/IkdWB8bt5lp3UrQNhgmp9C52/thumb.png

Data is geset naar "remaha %V=%v %t3000000", omdat ik alle data in de series remaha wil hebben (voor nu). V% is de variabele die je per meting set (Target Variable), en %v is de daadwerkelijke value. Bij de timestamp (%t3) plak je er nog even 000000 achter zodat je het nanoseconde-formaat van het line protocol aanhoudt. Uiteraard kan "%V value=%v %t3000000" ook, maar dan heten al je metingen value.

Edit2:
Uiteraard kun je ook als Target Variable "weather temperature" gebruiken. Als data set je dan "%V=%v etc." en dan wordt %V vervangen door zowel de naam van de series (voor de spatie) als de naam na de spatie (kolomnaam zeg maar).

Dit kun je met mijn manier:
SELECT mean(modulation_level), mean(room_temperature) FROM remaha where time > now() - 1d GROUP BY time(15m)

Anders moet je Continuous Queries uitvoeren om de verschillende 'series' samen te voegen. Check vooral even de documentatie van InfluxDB :).

[ Voor 39% gewijzigd door DJFliX op 01-05-2016 23:21 . Reden: OPGELOST :D ]

2x 320Wp Ja-Solar / Z 10° / APS YC600Y PVOutput

Alle reacties


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:52
Probeer eerst eens op de commandline met bijv 'curl' om data in InfluxDB te duwen. Als dat lukt dan weet je dat het aan Domoticz ligt.

Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 21:30
ThinkPadd schreef op zaterdag 30 april 2016 @ 13:41:
Probeer eerst eens op de commandline met bijv 'curl' om data in InfluxDB te duwen. Als dat lukt dan weet je dat het aan Domoticz ligt.
code:
1
curl -i -XPOST 'http://localhost:8086/write?db=domoticz' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'

geeft waardes in influxdb.... dus het ligt aan Domoticz?

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:52
balk schreef op zaterdag 30 april 2016 @ 15:34:
[...]

code:
1
curl -i -XPOST 'http://localhost:8086/write?db=domoticz' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'

geeft waardes in influxdb.... dus het ligt aan Domoticz?
Lijkt mij dan duidelijk toch?

Je kunt ook Domoticz droppen en hiermee verder gaan: Anoniem: 477788 in "[OTGW] OpenTherm gateway"
Koppeling tussen otmonitor en InfluxDB / Grafana, gemaakt door mede-tweaker 'nickyb2'.

Ik heb het al draaiend (in een VM), werkt mooi.

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • DJFliX
  • Registratie: Januari 2005
  • Laatst online: 17-03 09:06
balk schreef op zaterdag 30 april 2016 @ 15:34:
[...]

code:
1
curl -i -XPOST 'http://localhost:8086/write?db=domoticz' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'

geeft waardes in influxdb.... dus het ligt aan Domoticz?
Het bovenstaande voorbeeld is in het formaat van InfluxDB 0.9 of hoger. Het voorbeeld uit de TS is van het legacy formaat (0.8 of lager). Afhankelijk van welke versie van InfluxDB je geïnstalleerd hebt kan dit de reden zijn dat het voorbeeld uit de TS niet werkt en het andere voorbeeld wel.

Het formaat dat ze in InfluxDB 0.9 en hoger gebruiken is het Line Protocol formaat. Ik heb ervaring met InfluxDB, maar niet met domoticz. Ben het wel nu aan het opzetten, dus als ik meer weet laat ik het je weten ;)

Edit: heb het werkend!
Afbeeldingslocatie: http://tweakers.net/ext/f/IkdWB8bt5lp3UrQNhgmp9C52/thumb.png

Data is geset naar "remaha %V=%v %t3000000", omdat ik alle data in de series remaha wil hebben (voor nu). V% is de variabele die je per meting set (Target Variable), en %v is de daadwerkelijke value. Bij de timestamp (%t3) plak je er nog even 000000 achter zodat je het nanoseconde-formaat van het line protocol aanhoudt. Uiteraard kan "%V value=%v %t3000000" ook, maar dan heten al je metingen value.

Edit2:
Uiteraard kun je ook als Target Variable "weather temperature" gebruiken. Als data set je dan "%V=%v etc." en dan wordt %V vervangen door zowel de naam van de series (voor de spatie) als de naam na de spatie (kolomnaam zeg maar).

Dit kun je met mijn manier:
SELECT mean(modulation_level), mean(room_temperature) FROM remaha where time > now() - 1d GROUP BY time(15m)

Anders moet je Continuous Queries uitvoeren om de verschillende 'series' samen te voegen. Check vooral even de documentatie van InfluxDB :).

[ Voor 39% gewijzigd door DJFliX op 01-05-2016 23:21 . Reden: OPGELOST :D ]

2x 320Wp Ja-Solar / Z 10° / APS YC600Y PVOutput


Acties:
  • +1 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 21:30
:) hier werkt het nu ook! Superbedankt voor het proberen en uitleggen. Wat ook helpt is om geen spaties in target variable te hebben.

Ik ga ook die wiki maar eens aanpassen.

Helaas, de wiki is read only voor de willekeurige gebruiker. Helemaal onderaan de wiki staat overigens hoe je met een modernere versie van influxdb dit aan de praat krijgt. Handige plek :X

[ Voor 32% gewijzigd door balk op 02-05-2016 19:46 . Reden: hier werkt het ook! ]

Pagina: 1