Inside Loxone Miniserver, Extensions and Devices
I talk about three different device types in this document:
- Miniserver: the server hardware. At least one is required for a home.
- Extensions: connected to the Miniserver via the Loxone Link bus.
- Devices: connected to one of the two Tree Busses behind a Tree Extension or via IPv6 868MHz to an Air Base Extension.
I've split up the documentation into separate parts to make it easier to read, also because Legacy and NAT protocols are completely independent, you only need to care about the one that matters for you.
I am also providing a collection of Python scripts for the Miniserver, feel free to look into them, to see if they are helpful for you.
- Miniserver Firmware
- Network/Internet communication
- Loxone Link Protocol
- Loxone Link Hardware
- Loxone Link Protocol Introduction
- Loxone Link Legacy Protocol
- Loxone Link NAT Protocol
- Loxone DI Extension
- Loxone AI Extension
- Loxone AO Extension
- Loxone Tree Extension
- Loxone Touch Tree Device
- Loxone Touch Pure Tree Device
- Loxone Valve Acutator Tree Device
- Loxone Damper Tree Device
- Loxone LED Devices
- Loxone RGBW 24V Dimmer
- Loxone Room Comfort Sensor
- Loxone Alarm Siren
- Loxone Leaf Tree
- Loxone Weather Station Tree
- Loxone Motion Sensor Tree
- Loxone LED Ceiling Light Tree
unpackLoxoneMiniserverFirmwareUpdate.py- Uncompresses an
*.updfirmware update, which contains the firmware for the Miniserver as well as an update for the Miniserver filesystem.
analyzeLoxoneExtensionUpdates.py- Analyzes the firmware updates for Loxone extension and devices (Name, Type, Version, CPU, ROM-Usage, RAM-Usage)
loadLoxoneMiniserverStatistics.py- Example on how to load the statistics from the Miniserver via FTP and parse the files for further processing.
loadMiniserverConfigurationFile.py- Load the current configuration from the Miniserver and uncompress it, so it can be opened with a text editor. Also describes the load order of configurations.
LoxoneMonitorServer.py- A Loxone Monitor Server proxy example to simulate the debugging options Loxone has on your server.
LoxoneWeather.py- A Loxone Weather Service proxy, which uses Darksky instead. It supports CSV and XML replies and also tries to match the icons.
parseLoxoneSD.py- Parse a ZIP compressed disk image of the Micro-SD card. This can be used to recover files from the SD card directly.
decompressMiniserverArchive.py- Decompresses the
./web/. The Miniserver keeps these files compressed and only the webserver serves them uncompressed. There are more files in the
/web/hierarchy, as can be seen with an FTP client:
/data/LoxAPP3.json- a simplified version of the configuration
/data/weatheru.bin- Recent weather data in 108 byte chunks, see in the network section under Weather Server
/stats/index.html- Dynamic webpage with the server statistics
/stats/styles.css- CSS for the statistics webpage
LoxoneLink.py- Python sample code to analyze the Loxone Link/Loxone Tree protocol, as well as a sample implementation of many extensions and tree devices. Not intended for production, but for learning. It uses USBtin, but you can probably adjust it to other devices with minimal effort.
LoxLink - STM32 ARM based sample code can be found here https://github.com/sarnau/LoxLink