I complained about the home automation mess in a previous entry, I took advantage of holiday period to hack around and transform home internet into a dashboard showing the status of various devices in the house.
There are various open-source projects who goal is to control a smart home, open-hab seems to be most promising, but installation requires Java, which is not trivial on my NAS. I just wanted to see what is going on, so I went with what is available out of the box on my NAS: PHP.
In only wanted to read information, basically three things: the status of the device (should I turn it off), the power consumption, and the temperature – it is winter here. The myStrom switches were easy to integrate, they have a simple REST API. The Fronius inverter also has a REST API, it is also more complex, which makes sense, this thing drives an array of solar panels. I was hoping to be able to get the temperature, but no luck, I have to read the documentation again.
The Denon amplifier exposes some its information over an XML file, I could have parsed the whole thing, but I just used some regular expression to get the thing I was interested in (the status), evil, I know. The most paradoxal device was the printer, it supports plenty of APIs, but they are old and not easily accessible from PHP. SNMP in particular would have given me plenty of information. So I resorted to downloading the status page, and getting what I wanted with a regular expression (evil, I know, I know). One another option would be to
exec a SNMP command line, to be see.
I would like to get information about the NAS itself, I suppose I could read stuff from
/proc, to be seen.