Habe leider erst jetzt den Thread wiedergefunden.
Du kannst gerne einen älteren Hardwarestand von mir gegen Porto haben. Die Feuchteerfassung dort ist zwar ein reines Schätzeisen, aber das ist für deine Zwecke ja egal.
Schick mal eine PN.
Max
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neue libknx für C++ KNX Zugriff
Einklappen
X
-
Hallo,
neue Version 1.2.2 online
* Neue DPT 7.001, 8.001
* Bugfixes für DPT 9 & 10
* Leider noch keine PropertyRead/Write ... kommt noch
Gruß
nagilo
Einen Kommentar schreiben:
-
Hi,
das "Geraffel zum setzen und lesen der PA" kann ich hier ja auch testen.
Mein Vorschlag, da ich das ganze immer nur in der Freizeit mache und das etwas dauert ;-) : Ich probier einem Gerät eine Adresse zuzuordnen und zu lesen. Wenn das klappt melde ich mich wieder. Macht das Sinn ?
Gruß
PS: Deinen Sensor finde ich sehr cool -- ich nehme hierfür einen RasPI mit meiner libknx und einem I2C Feuchte und Temperatursensor. Geht seit Monaten prima -- frisst aber Strom.
Einen Kommentar schreiben:
-
Das wäre schon mal super, aber die Wunschliste geht noch ein bisschen weiter:Zitat von nagilo Beitrag anzeigenWelche genau brauchst du denn davon ? Die da ?
A_PropertyValue_Write
A_Memory_Write
A_Authorize_Request
Ich kann die einbauen
A_Memory_Read
A_PropertyValue_Read
MaskVersionRead
sowie das ganze Geraffel zum Lesen und Setzen der PA.
Dazu gehört dann aber auch das ganze Session Handling auf Layer 4, das ist leider nicht unbedingt spaßbehaftet. BTDT.
Zum Testen kann ich dir gerne einen KNX Multisensor zur Verfügung stellen.
Max
Einen Kommentar schreiben:
-
Hi,
hab mir die Property Read Write und Memory Write angesehen ... bisher hatte ich keinen Bedarf dafür .. es gibt auch 10 bits um die APCIs zu setzten, also ne ganze menge holz.
Welche genau brauchst du denn davon ? Die da ?
A_PropertyValue_Write
A_Memory_Write
A_Authorize_Request
Ich kann die einbauen -- kannst du mir auch nen Tipp geben, wie ich das testen kann ?
Gruß
Einen Kommentar schreiben:
-
Hallo Norbert,Zitat von nagilo Beitrag anzeigenseit heute habe ich Version 1.2.1 mit Unterstützung für weitere dpt veröffentlicht. Neu ist auch ein listener interface um direkte Benachrichtigungen zu bekommen.
feine Sache. Die eibd-Client-Lib ist mit ihren Abhängigkeiten (vor allem von eibd) und der mangelnden Portierbarkeit keine Freude, Falcon unter Windows hat einige merkwürdige Eigenheiten und eine besch... Dokumentation, und mit Calimero brauche ich zum einen Java, zum anderen erschien es mir auch nicht gerade bugfrei.
Die Dokumentation deiner libknx suggeriert leider, dass du nur GroupValueRead und GroupValueWrite unterstützt. Ist die Unterstützung verbindungsorientierter Kommunikation (PropertyWrite, MemoryWrite, Authentication, ...) geplant?
Ich würde die libknx sehr gerne in mein Configuration Tool integrieren (siehe hier und den Rest des zugehörigen Threads). Allerdings helfen mir GAs da nicht wirklich weiter.
Ich könnte ggf. im Gegenzug mit Code unterstützen, da ist einiges Einschlägige vorhanden.
Max
Einen Kommentar schreiben:
-
Version 1.2.1 veröffentlicht
Hallo,
seit heute habe ich Version 1.2.1 mit Unterstützung für weitere dpt veröffentlicht. Neu ist auch ein listener interface um direkte Benachrichtigungen zu bekommen.
Hier nochmal der Link KNX Library
Viel Spass damit.
Einen Kommentar schreiben:
-
Hallo,
ich entwickele primär unter Linux also ist Linux natürlich auch dabei.
Das TCP interface des eibd kenne ich nocht nicht aber ich schau es mir mal an. Ich denke ich sollte mich aber zunächst auf die Funktionalität der Bibliothek selbst konzentrieren.
Gruß
Einen Kommentar schreiben:
-
Neue libknx für C++ KNX Zugriff
Das mit den Abhängigkeiten ist super.
Mit dem Windows-Support bin ich mir wiederum nicht so sicher. Wenn möglich, dann immer Windows und Linux...
Was übrigens eine feine Sache ist, ist wenn Du das eibd TCP Interface anbietest. Einfach, weil viele Programme dies nutzen, z.B. fhem. Habe es selbst "kürzlich" nachgebaut. Die Quellen findest du bei Bedarf über den Download-Bereich unter "hsd".
Einen Kommentar schreiben:
-
Hallo,
da sich die Quellen zur Zeit noch stark ändern werden und ich darin meine Vorstellungen uneingeschränkt realisieren möchte habe ich beschlossen (zur Zeit) die Quellen noch nicht zu veröffentlichen. Das kann sich aber je nach Entwicklung schnell ändern.
Die Abgrenzung zur BCU sind im Wesentlichen nativer (ohne cygwin) Support für Windows und MacOS sowie minimale Abhängigkeiten. Für die BCU werden benötigt:
If you want to use the BCU SDK on Windows, you need to install Cygwin. You need to install at least:
g++
bison
flex
libxml2-devel
make
gettext-devel
w32-api
libxml2-devel
xsltproc (libxslt)
Außer der boost wird für die libknx NICHTS benötigt.
Gruß
Norbert
Einen Kommentar schreiben:
-
Neue libknx für C++ KNX Zugriff
Hi, toll, dass Du deine Entwicklung teilen willst.
Zwei Fragen dazu:
Warum closed source?
Wo ist die Abgrenzung zur bcu sdk (http://www.auto.tuwien.ac.at/~mkoegl...x.php/bcusdk)?
Einen Kommentar schreiben:
-
Hi,
die Bibliothek soll jedem C++ Programmierer ermöglichen Daten auf einen KNX Bus zu schreiben oder von ihm zu lesen.
Zur Zeit liegt mir nur ein KNXnet/IP gateway vor so dass ich noch keine andere Zugangsmöglichkeiten plane. Wenn jemand daran interesse hat kann man gerne darüber diskutieren.
> Eine KNXnet/IP Tunneling Client Implementierung (über das API allerdings nicht zugänglich)
Ja testhalber habe ich dazu einen tunneling client geschrieben. Wieso ist die API nicht zugänglich ?
> Ein minimaler KNX Stack ausschließlich für Gruppenkommunikation
Zur Zeit ist die Bibliothek tatsächlich auf Gruppenkommunikation beschränkt (lässt sich aber leicht ändern)
> Ein Satz von DPT-Decodern/Encodern
Genau, aber der muss noch dringend wachsen
> Struktur und Designprinzipien
Die interne Bibliotheksstruktur soll dem Anwender verborgen bleiben. Zur Zeit hat ein Endanwender nur eine set und eine get Methode.
> Und darüber, was noch alles geplant ist oder möglich sein wird
Geplant von meiner Seite ist es die meisten dpt zu implementieren. Alles weitere möchte ich zur Zeit je nach Interessenlage machen.
> Erweiterungspunkte?
Zur Zeit plane ich eine vollständige Implementierung der Tunneling Kommunikation. Weiteres ist noch offen.
> Andere Buszugangsverfahren?
Noch keine geplant. Welche wären denn von Interesse ?
> Eventing?
Intern verwendet die Bibliothek einen Event Mechanismus der für den Endanwender noch nicht sichtbar ist. Ich könnte mir hier eine Benutzerschnittstelle sehr gut vorstellen.
Gruß
Norbert
Einen Kommentar schreiben:
-
Hallo nagilo,
sehe ich das richtig, dass deine linknx folgendes bieten will:
- Eine KNXnet/IP Tunneling Client Implementierung (über das API allerdings nicht zugänglich)
- Ein minimaler KNX Stack ausschließlich für Gruppenkommunikation
- Ein Satz von DPT-Decodern/Encodern
Ich denke, gerade am Anfang wäre es gut, mehr über die Struktur und Designprinzipien zu schreiben. Und darüber, was noch alles geplant ist oder möglich sein wird (Erweiterungspunkte? Andere Buszugangsverfahren? Eventing?).
Gruß, Klaus
Einen Kommentar schreiben:
-
Neue libknx für C++ KNX Zugriff
Guten Tag,
nachdem ich vom Forum ziemlich viel Hilfe bekommen habe möchte ich nun auch etwas zurückgeben. Ich bin mit einem KNX IP Gateway ausgestattet und habe bisher immer die Software der Firma Weinzierl verwendet um z.B. die Daten auf dem Bus zu protokollieren. Da ich dabei aber immer an eine Distribution gebunden war, habe ich mich entschlossen eine Bibliothek selbst zu schreiben.
Neben den existierenden Möglichkeiten eibd, linknx, uva. wollte ich eine einfache und saubere Schnittstelle realisieren. Die libknx soll dabei weder eine Visualisierung noch eine Ablaufsteuerung sein. Sie dient lediglich dem einfachen Zugriff auf den KNX Bus per UDP/IP.
Ziel bei der Entwicklung waren
* Plattformunabhängigkeit: Win, Linux, Mac, ...
* EInfaches C++ Interface mit Typsicherheit
* Minimale Abhängigkeiten (nur Boost)
* Basis für Eigenentwicklungen
Nachdem ich nun in der Lage bin die ersten Lampen zu schalten und die Uhrzeit auf den Bus zu schicken, habe ich mich entschlossen die Software der Allgemeinheit zugänglich zu machen.
Die Software findet man ab sofort hier .
Ein minimales Programm mit der libknx sieht dann so aus
Ich hoffe auf Kritik, Feedback, Feature-Anfragen und viele Nutzer. Viele Dinge fehlen noch aber ich möchte früh allen Interessierten die Möglichkeit geben Einfluss zu nehmen.Code:#include "knx.hpp" int main(int argc, char ** argv) { knx::config config(argc, argv); knx::connection connection(config); knx::handle handle(connection); connection.set<knx::dpt_switch>("1/2/3", knx::dpt_switch::ON); return 0; }
Gruß
nagiloStichworte: -


Einen Kommentar schreiben: