Nevertheless it should be easy to extend/change the implementation to work with other smart meters. I didn't find a generally applicable documentation of the SML, so I had to test and analyse the return value of my smart meter.
There are some good sites (only in german - sorry) where you get some explanations about the SML (also for other smart meters). If you have questions or improvement ideas feel free to ask or create a pull request.
This were some of my first go steps, architecture and code is far from perfect :) .