The learning curve is pretty steep which is a little daunting. On the up side, that means that if you can get up the slope, you will learn a lot in a short time.
I found that AHP had a very shallow learning curve so it was very easy to get started with but you couldn't do much with it in the long run (other than turning lights on/off at times and sunrise/sunset). Complex logic was either convoluted or required the SDK which was a whole other set of problems (and zero documentation).