#!/bin/bash
getParams=`curl -X GET "https://api.netatmo.com/api/getstationsdata?device_id=123&get_favorites=false" -H "accept: application/json"`

#splitting json-response by line breaks
delimiter="\r\n"
fullStr=$getParams$delimiter
linesArray=()
while [[ $fullStr ]]; do
  linesArray+=( "${fullStr%%"$delimiter"*}" )
  fullStr=${fullStr#*"$delimiter"}
done

#preparing to split each key:value pair
allParams=()

splitPair () {
  local delimiter=":"
  local fullStr=$1$delimiter
  while [[ $fullStr ]]; do
    allParams+=( "${fullStr%%"$delimiter"*}" )
    fullStr=${fullStr#*"$delimiter"}
  done
  }

#getting all 5 required key:value pairs and splitting them
for param in ${linesArray[@]}
do
  if [[ "$param" == "Temperature:"* ]]
  then
    splitPair $param
  elif [[ "$param" == "CO2:"* ]]
  then
    splitPair $param
  elif [[ "$param" == "Humidity:"* ]]
  then
    splitPair $param
  elif [[ "$param" == "Noise:"* ]]
  then
    splitPair $param
  elif [[ "$param" == "Pressure:"* ]]
  then
    splitPair $param
  elif [ ${#allParams[@]} -ge 10 ]
  then
    break
  fi
done

#building final URL
url="http://localhost:10090/http_marking?module=HttpMarking.8&params=${allParams[0]}=${allParams[1]}"°C"|${allParams[2]}=${allParams[3]}"+ppm"|${allParams[4]}=${allParams[5]}"%"|${allParams[6]}=${allParams[7]}"+dB"|${allParams[8]}=${allParams[9]}"+mbar""

curl -X GET $url