As you can see on Filderwetter.de the weather related data (outside temp, rain, wind, etc.) is handled by the ELV hardware and the corresponding 434MHz data-receiver.
My old ELV hardware does not support a light meter, so i decided to build one by myself. The hardware is based on a very simple ATMEGA 8 board by Olimex.
The device is capable of taking measurements in a defined interval and storing the data in its internal buffer. As an additional feature the device support a lightning detector device and a real-time clock.
The device is connected to the weather server via a simple serial link (RS232). The power supply is a simple wall-mount type.
For a quick status info a text LCD is mounted on the front of the device.
Hardware
Base hardware
front view  rear view 
 mainboard 
Lightning detector
I build the flash detector that was developed by Peter during his weather station project. Details can be found here.
Software
Communication
The communication with the server is handled via a simple serial RS232 link. The weather controller is a passive device, it will never send data over its serial link without an request from the server. The communication is a simple ASCII protocoll, which is easy to implement and to test on both sides.
Protocol
The protocol is completely based on ASCII characters. A data block sent to the device by the host or vice versa is always started with the $ (dollar) character and terminated with the # (number) character.
The following commands are supported by the weather controller:
| t | Return the current time of the internal real time clock. The devices answers with t and the actual time in seconds since 1.1.1970 00:00:00 as ASCII string. 
 | 
| T | The time is set in the unit. The host has to provide the number of seconds since 1.1.1970 00:00:00 in ASCII format. The device responds with the new time in the device in seconds since 1.1.1970 00:00:00. 
 | 
| i | Return the number of seconds between to measurements taken by the device. The device answers with i and the number of seconds in ASCIII format. 
 | 
| I | Sets the new measurement interval in the device. The host has to provide the interval in ASCII format. The devices responds with i and the number of seconds set in the device. 
 | 
| v | Returns the version string of the software in the device. 
 | 
| n | Retrieves the next stored record from the internal data store. The parameters returned are: 
 
 | 
| s | Returns the general device state. The parameters returned are: 
 
 | 
