• Stars
    star
    154
  • Rank 242,148 (Top 5 %)
  • Language
    Python
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Inside The Loxone Miniserver – various documentation about the Loxone Link/Tree protocol and hardware

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.

Code Examples

  • unpackLoxoneMiniserverFirmwareUpdate.py - Uncompresses an *.upd firmware 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 /commonv2.agz and /images.zip into ./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

More Repositories

1

EnphaseEnergy

Various collected information about Enphase Energy solar system
Python
110
star
2

LoxLink

Loxone extension and tree device sample implementation for a STM32
C
47
star
3

MMMMobileAlerts

Documentation about the protocols of ELV Mobile Alerts sensors plus a node MQTT gateway and an Arduino UDP gateway
JavaScript
40
star
4

InsideViessmannVitosoft

Description of Optolink communication with Viessmann heating units and the XML files of the Vitosoft
Python
20
star
5

AtariSTRomListings

Atari ST Rom Listings and Infos
Assembly
16
star
6

TurboAss

Source code for the Atari ST TurboAss and Bugaboo (also known as OMIKRON.Assembler)
Assembly
16
star
7

Z80DisAssembler

I created this small disassembler for a Z80 cpu in one afternoon. It is a commandline tool.
C
15
star
8

IDAAtariST

Atari ST scripts for IDA from Hex-Rays to disassemble applications
Python
7
star
9

NewtonKeyboardEnabler

The Newton Keyboard Enabler (NKE) allows you to connect the Newton keyboard to any Macintosh and use it as a replacement for the big ADB keyboards.
C++
6
star
10

68kDisassembler

Original 68k Disassembler I wrote for Hatari <https://hatari.tuxfamily.org>
C
5
star
11

AtariSTCopyProtections

Reverse engineered disk protections from various Atari ST applications/games
4
star
12

MidiMaze2

Midi-Maze was one of the first first-person shooter for up to 16 players, long before Wolfenstein 3D, Doom, etc. Midi-Maze II was the sucessor which adds much more reliably, features and fun to the game.
4
star
13

AtariDocumentation

Various official Atari documentation converted into text files
4
star
14

Atari-STBook-STylus-Test-Cartridge

Atari STBook/STylus Test Cartridge Firmware and Photos
Assembly
4
star
15

AtariPortfolio

Some Atari Portfolio documents
3
star
16

CronTimers

Cron Timer like implementation for Arduino
C
2
star
17

The-Pawn-Atari-ST

The Pawn for the Atari ST analysis of the file format, hint system, etc.
Python
1
star
18

STM32F767ZI_Ethernet

Ethernet Testcode for the STM32F767ZI with FreeRTOS and LwIP
C
1
star
19

XcodeBuildSettings

Python generated Markdown document which documents all Xcode "Build Settings" and properties
Python
1
star
20

MacOpen-Articles

Old PDF scans of articles I wrote in the 90s for the German MacOpen magazine
C++
1
star
21

WavesGTRGround

I've reverse engineered MIDI protocol for the Waves GTR Ground
1
star
22

MobileAlerts

My reverse engineering efforts to read the ELV Mobile Alerts sensors from Python
Python
1
star
23

cm2016

Voltcraft (Conrad) Charge Master 2016 serial protocol
Python
1
star
24

SharpPCE500

Old documentation for the Sharp PC-E500
1
star
25

ctl_fifo

ctl_fifo implementation for the CTL Tasking Library from Rowley Associates Limited
C
1
star
26

LabelPlacement

Implementation of a little algorithm to draw labels/rectangles on a background while trying to avoid overlapping
Objective-C++
1
star