Hey zusammen,
ich habe in mein GitHub Repository einen KNX/EIB exporter für prometheus geladen.
Mit diesem Tool greife ich daten vom Bus, speichere sie in prometheus und visualisiere mit grafana.
Normalerweise werden diese tools für das System-Monitoring verwendet.
Bildschirmfoto 2020-04-20 um 16.35.11.png
Herzstück ist das Bash-Script knxpush.sh.
ich betreibe es (neben meinem knxd) in einem Docker-Container.
Im Repository liegen auch zwei Beispiele für docker-compose files.
Für das Script und für den vollen Stack.
Das Script konvertiert u.a die HEX-Werte die vom
zurückgeliefert werden.
Die Konvertierung erfolgt mit den folgenden Methoden:
Viele Grüße und viel Spass beim ausprobieren,
über euer Feedback würde ich mich sehr freuen!
LG
Clem
ich habe in mein GitHub Repository einen KNX/EIB exporter für prometheus geladen.
Mit diesem Tool greife ich daten vom Bus, speichere sie in prometheus und visualisiere mit grafana.
Normalerweise werden diese tools für das System-Monitoring verwendet.
Bildschirmfoto 2020-04-20 um 16.35.11.png
Herzstück ist das Bash-Script knxpush.sh.
ich betreibe es (neben meinem knxd) in einem Docker-Container.
Im Repository liegen auch zwei Beispiele für docker-compose files.
Für das Script und für den vollen Stack.
Das Script konvertiert u.a die HEX-Werte die vom
knxtool
Die Konvertierung erfolgt mit den folgenden Methoden:
Code:
convertDpt1() { # Convert the HEX String to decimal value echo $((16#$1)) } convertDpt5() { # Convert the HEX String to decimal value and convert to percentage echo $(($((16#$1))*100/255)) } convertDpt9() { # convert the HEX String to binary format, extract exponent and mantissa and calculate float result binOctets=$(echo $1 | xxd -r -p | xxd -b) #00000000: 00000101 01101110 .n bin=${binOctets:10:8}${binOctets:19:8} # MEEEEMMMMMMMMMMM manDec=$((2#${bin:0:1}${bin:5:11})) expDec=$((2#${bin:1:4})) # Result = 0,01 * M * 2^E result=$(awk -v mult=0.01 -v temp=$((manDec*2**expDec)) 'BEGIN{result=(mult * temp); print result;}') echo $result }
Viele Grüße und viel Spass beim ausprobieren,
über euer Feedback würde ich mich sehr freuen!
LG
Clem
Kommentar