Loxone Config – Messgerätesteuerung mit SCPI

Hilfe zur Automatisierung von Abläufen mit SCPI

Letztens wurde ich gefragt, ob ich schon einmal ein SCPI Device in Loxone integriert hätte. SCPI? Noch nie gehört, klang aber ganz interessant: Unbekanntes Device, kein Zugriff auf die Umgebung, keine Möglichkeit mit dem Gerät zu kommunizieren. Genau mein Ding. 🙂

Spaß beiseite. Ohne die ganzen Vorarbeiten mit meinen Projekten wäre die folgende Umsetzung nicht möglich gewesen: Testdaten mit cli_tcp, die neuen Möglichkeiten mit picoC Debugging, Einsatz von Loxmock für die lokale picoC Entwicklung und natürlich die gewonnene Erfahrung aus den bisherigen Entwicklungen. Das Beste aber war das Ergebnis: Remote lokal entwickelt, geliefert, in Loxone eingespielt, läuft. Eine kleine Nachbesserung gab es, mehr nicht. Das ist zwar nicht perfekt, aber nah dran.

Die Geburt der Steuerung für Messgeräte mit SCPI über Loxone und ein paar Downloads dazu (v02) kann man hier nachlesen.

„Loxone Config – Messgerätesteuerung mit SCPI“ weiterlesen

Loxone Config – Debuggen mit picoC und Loxmock

Hilfe für die Entkäferung

Fehlersuche kann manchmal richtig anstrengend sein. Wenn es noch dazu dann keine guten Hilfsmittel gibt, kommt schnell Frust auf. Ich habe picoC mal einen einfachen Debugger spendiert. Heißt: Anzeige von Heapinformationen und Haltepunkte im Code sind jetzt möglich. Dazu ist mindestens picoc4lm v04.4 notwendig.

„Loxone Config – Debuggen mit picoC und Loxmock“ weiterlesen

Loxone Config – Connectivity checker

TCP-Verbindungen gesammelt prüfen

Beim Schmökern der Loxonedokumentation ist mir bewusst geworden, dass es keine Möglichkeit gibt, Verbindungen übersichtlich aus Miniserver-Sicht zu prüfen. Spielt man an Netzwerkeinstellungen herum, ändert Netzwerkarchitekturen oder Firewallregeln o.ä. wird es schnell einmal erratisch… Ich hab da mal ein Skript erstellt, mit dem Verbindungen direkt vom Miniserver aus geprüft werden. Vorkonfiguriert sind über 40 Endpunkte, die Loxone selbst als notwendig dokumentiert. Mehr dazu gibts im Artikel…

„Loxone Config – Connectivity checker“ weiterlesen

Loxone Config – picoC und Loxmock funken

Lokale Entwicklung mit netzwerkfähigem picoC und Loxmock

Wie immer bei Problemen ist es natürlich am Besten die Ursache zu beheben und nicht mit Workarounds zu leben. Im Falle der lokalen Entwicklung mit picoC und Loxmock bedeutet das: Ich habe mir picoC zur Brust genommen, „loxonifiziert“ und netzwerkfähig gemacht. Das bedeutet, dass picoC weiterhin picoC bleibt, jedoch ergänzt um sämtliche dokumentierten Loxonefunktionen und Netzwerkzugang. Ein Großteil der picoC Entwicklung inkl. Livedaten aus Loxone kann nun also lokal gemacht werden. Was alles unterstützt wird und wie das funktioniert, Beispiele und Downloads von picoc für Loxmock(picoc4lm, v4.4) und natürlich den Loxmock selbst, gibts nachstehend(v04).

„Loxone Config – picoC und Loxmock funken“ weiterlesen

Loxone Config – Testdaten für Loxmock abfragen

Entwicklungshilfe für picoC Skripte

Wer den Loxmock einsetzt, muss sich seine Testdaten teilweise recht umständlich holen: Aufrufen, kopieren, bei Bedarf quoten, ggfls. Bytes/Hexwerte ausrechnen etc.. Da wäre doch ein Tool ganz recht, das einem genau diese Arbeit abnimmt. Zudem braucht man kein weiteres Werkzeug um z.B. Daten über http oder Modbus TCP aus seinem Device auszulesen und in die Testumgebung zu übertragen. 🙂 Wie das also geht inkl. des Tools cli_tcp (v1.5) für Linux und Windows findet sich nachstehend.

„Loxone Config – Testdaten für Loxmock abfragen“ weiterlesen

Loxone Config – picoC Skripte lokal mit Loxmock ausführen

Entwicklungshilfe für individuelle Skripte

Wer sich mit picoC Entwicklung in der Loxone Welt befasst, winkt möglicherweise schnell ab. Zu fehleranfällig, kompliziert und undurchsichtig ist die Entwicklung oft. Zudem holt man sich sehr schnell Instabilitäten in sein System. Seien es Memoryleaks, vergessene sleep-Statements und damit Ressourcenverbräuche o.ä.. Ich habe mir mal die Mühe gemacht sämtliche angebotenen Loxone-Funktionen unter picoC zu Mocken. Das Ergebnis: Skript-Entwicklung weitestgehend unabhängig von der Loxone-Umgebung. Memory-Leaks können fortan lokal gefunden werden und belasten die Produktiv-Umgebung nicht mehr. Wie immer: Im Artikel gibts eine Beschreibung und den Loxmock zum Download (v03).

„Loxone Config – picoC Skripte lokal mit Loxmock ausführen“ weiterlesen

Loxone Config – XML Parser

XML Dateien in Loxone auswerten

In der Hausautomatisierungswelt ist man schon leidgeplagt. Alleine wenn man so daran denkt, wie man sich seine Registerinformationen von Geräten zusammensuchen und abfragen muss. Hat man dann strukturierte Daten vorliegen, dann muss man mangels Tools über Mustererkennung unstrukturiert darauf zugreifen und verbringt u.U. viel Zeit beim Erstellen der richtigen Patterns. Einschlägige Fragen, Tipps und Diskussionen in entsprechenden Foren können ein Lied davon singen. Nachdem ich bereits einen JSON Parser für Loxone erstellt hatte, dachte ich mir, dass die rudimentären XML Abfragemöglichkeiten in Loxone ebenfalls nicht wirklich befriedigend sind. Gedacht, getan. Nachstehend findet sich ein XML-Parser für Loxone, der über XPath-ähnliche Abfragen verwendet werden kann. Natürlich wieder mit den Sourcen zum Download (v05).

„Loxone Config – XML Parser“ weiterlesen

Loxone Config – JSON Parser

JSON Dateien in Loxone auswerten

Hin und wieder kommt man in die Verlegenheit in Loxone Strukturdaten in JSON auslesen zu müssen. Sofern die Schlüssel eindeutig identifizierbar sind, ist das über die virtuellen HTTP Eingänge mittels Regex auch gut möglich. Stößt man hier aber an die Grenzen und hat, kann oder will keinen separaten Loxberry oder RaspPi einsetzen, kann man nun auch direkt in Loxone JSON-Daten abfragen und auswerten. Erläuterungen und Sourcen zum Downloaden (v04) gibts in diesem Artikel.

„Loxone Config – JSON Parser“ weiterlesen

Loxone Config – Modbus synchron lesen

Beispieldarstellung zum gleichzeitigen Lesen von 39 Registern in der Loxone Config

Über Modbus-TCP Register blockweise lesen

Dieser Artikel behandelt das synchrone/blockweise Lesen von Registern über Modbus-TCP in der Loxone Config. Es können beliebig viele Register mit unterschiedlichsten Datentypen gleichzeitig gelesen und angezeigt werden. Dieser Artikel führt zum einen die Informationen der mehrteiligen Reihe zusammen, zum anderen enthält er Verbesserungen, Beispiele und bietet die Sourcen (v30) zum Download an.

„Loxone Config – Modbus synchron lesen“ weiterlesen

Loxone Config – Modbus synchron lesen – Teil4

Mit dem Abschluss dieser Reihe möchte ich noch eine letzte Variante vorstellen, die ich umgesetzt habe: Das zusammenhängende Lesen von Registern mit unterschiedlichsten Datentypen. Manchmal hat man z.B. eine Reihe von 32bit Registern und dazwischen gibts dann auf einmal ein 16bit Register. Erst mal blöd, ist aber halt so. Wieder am Beispiel des SolarEdge Wechselrichters zeige ich, wie man dieses Problem in Loxone lösen kann.

„Loxone Config – Modbus synchron lesen – Teil4“ weiterlesen