| Revenue - Additional Information (Details) $ in Millions | 3 Months Ended | 
|---|---|
| Mar. 31, 2018  USD ($) | |
| Revenue Recognition [Abstract] | |
| Payment term on product sales | 30 days | 
| Payment term on installation services | 30 days | 
| Payment term on contractually determined milestones | 30 days | 
| Payment term on energy production contract invoices | 30 days | 
| Revenue recognized that was in unbilled revenue at beginning of period | $ 2.6 | 
| Revenue billed this period that had been recognized in previous periods | 1.8 | 
| Deferred Revenue, Revenue Recognized | 1.6 | 
| Cash payments received in advance of satisfying performance obligations | 1.5 | 
| Remaining performance obligations | $ 1.8 | 
| Performance obligation revenue expected to be recognized over the next 24 months (percent) | 99.00% | 
| Performance obligation revenue to be recognized in first 12 months (percent) | 77.00% | 
| Performance obligation revenue to be recognized over the subsequent 12 months (percent) | 22.00% | 
| X | ||||||||||
| 
- Definition Amount of revenue recognized from performance obligation satisfied or partially satisfied in previous reporting periods. Includes, but is not limited to, change in transaction price. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Payment Term on Contractually Determined Milestones No definition available. 
 | 
| X | ||||||||||
| 
- Definition Payment Term on Energy Production Contract Invoices No definition available. 
 | 
| X | ||||||||||
| 
- Definition Payment Term on Installation Services No definition available. 
 | 
| X | ||||||||||
| 
- Definition Payment Term on Product Sales No definition available. 
 | 
| X | ||||||||||
| 
- Definition Performance Obligation Recognized in Year Two, Percent No definition available. 
 | 
| X | ||||||||||
| 
- Definition Performance Obligation Recognized over Next Twelve Months, Percent No definition available. 
 | 
| X | ||||||||||
| 
- Definition Performance Obligation Recognized over Next Two Years, Percent No definition available. 
 | 
| X | ||||||||||
| 
- Definition Amount of transaction price allocated to performance obligation that has not been recognized as revenue. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Unbilled Revenue, Revenue Recognized No definition available. 
 | 
| X | ||||||||||
| 
- Definition Amount of increase (decrease) in deferred revenue. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition Amount of revenue recognized that was previously reported as deferred or unearned revenue. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- References No definition available. 
 |