Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • thesing
    antwortet
    Ich bin bei knx-samd inzwischen so weit, das es grundlegend funktioniert. Ich konnte mit einem Arduino-Zero-Clone und einer Micro-BCU die Demo mit ETS programmieren. Es gibt aber noch noch einiges zu verbessern.

    Einen Kommentar schreiben:


  • knxruth
    antwortet
    Nochmal zu meinem bericht #73. Damit ETS das knxprod neu läd, muss zwischen das letzte knxprod und das neue einen unterschied in die IDs vorhanden sein. Also irgend einen ID, nicht speziell das Catalog ID.
    Z.b. ein neuer Parameter (der einen ID erzeugt) hinzufügen oder löschen geht auch.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Mir ist noch eingefallen, dass ich den Code aus der XSD noch mit Suchen & Ersetzen nach bearbeitet hatte um Kompatibilität zu ETS4 zu erreichen. Inzwischen ist das nicht mehr nötig, da auch ich umgestiegen bin.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Weil es nicht nötig war. Zum Signieren bleibt einem nicht viel mehr übrig als die fremden Dlls zu nutzen (oder die Keys auszulesen) . Ich wollte den Editor schon ohne Fremd-Dlls lauffähig haben. Evtl. könnte man eine ETS nachprogrammieren und dabei die unsignierten knxprod-Dateien nutzen. Die Funktionalität aus der ObjectModel.dll kann man ja nach Bedarf nachbauen.

    Einen Kommentar schreiben:


  • knxruth
    antwortet
    Inzwischen etwas weiter mit das erstellen von knxprod dateien. Das geht eigentlich recht einfach anhand Beispielen von bestehende knxprods und die Hilfe Datei vom Manufacturing Tool, wie du schon geschrieben hast.

    Eine Frage habe am diese Moment; Wieso hasst das KNX-Objekt nicht einfach mit in dein C# Project gezogen als refence (Knx.Ets.Xml.ObjectModel.dll). Dann hat man das komplette object, inklusive die Enums und so weiter, also kompletter als über die XSD, wie in Bericht #68 geschrieben.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Hallo allerseits,

    ich habe angefangen unter https://github.com/thelsing/knx-samd eine Version für samd21 und tpuart zu erstellen. Es ist alles soweit programmiert. Da meine NCN5120 Hardware sich seltsam verhält, habe ich mir einen Arduino Zero Clone aus China bestellt. Wenn der da ist werde ich eine Siemens BCU kaufen und weiter testen.
    Ich erwarte nicht, dass der aktuelle Stand schon funktioniert. Falls jemand Lust hat zum Testen und Bugs zu beheben ist er dazu herzlich eingeladen. Ich werde wohl erst in ein paar Wochen dazu kommen, wenn die neue Hardware da ist.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Schön das du heraus gefunden hast woran das genau liegt. Ich habe bei mir einfach wild Ids verändert bis es geklappt hat.

    Einen Kommentar schreiben:


  • knxruth
    antwortet
    Ich versuche knxprod zu erstellen auf basis TP. Irgentwie gelingt das nicht (ETS sieht ein fehler). Kannst du vielleicht ein funktionierendes xml Datei bereitstellen so das ich vergleichen kann? (das ubersetzen von xml nach knxprod wirkt).

    Inzwischen gelöst. Es braucht ein anderes (neues) Catalogitem Id, wenn mann medium typ wechselt. Im hintergrund bleiben anscheinend sachen gespecihert, auch wenn das Device gelöscht wird.
    Zuletzt geändert von knxruth; 12.08.2018, 16:52. Grund: Gelöst.

    Einen Kommentar schreiben:


  • knxruth
    antwortet
    Stimmt. Danke.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Die knxprod-Dateien sind normale Zip-Archive ohne Passwort. Ältere Formate kann man mit ETS ins knxprod-Format konvertieren.
    Zuletzt geändert von thesing; 14.06.2018, 19:24.

    Einen Kommentar schreiben:


  • knxruth
    antwortet
    Frage: wie kann mann bestehende knxprods auspacken? Die sind ja mit ein password gesichert.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Kurzes Update:

    Ich habe CreateKnxProd jetzt so erweitert, dass als Medium zwischen IP und TP wählen. kann.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Hallo olterion ,

    die xsd steckt in der Datei Knx.Ets.Xml.ObjectModel.dll. Die befindet sich im ETS-Verzeichnis. Einfach eine Referenz zu der dll zu einem Projekt hinzufügen und dann:
    Code:
              
    using (var fileStream =  new FileStream("knx.xsd", FileMode.Create))
    using (var stream = DocumentSet.GetXmlSchemaDocumentAsStream(KnxXmlSchemaVersion.Version14))
    {
        while (true)
        {
            var buffer = new byte[4096];
            var count = stream.Read(buffer, 0, 4096);
            if (count == 0)
                break;
    
            fileStream.Write(buffer, 0, count);
        }
    }
    Um rauszukriegen was ETS in der Datei haben will, kann man in die Hilfe vom Manufacturer Tool schauen. Die liegt im Help Order des Installationspfads.
    Sonst kann man bestehende knxprods auspacken und analysieren. Den Rest kriegt man durch Experimente raus und durch die knx-Spec raus.
    Für das signieren ist übrigens nur wichtig, dass die XML-Struktur der xsd entspricht. Inhaltlich meiner Erfahrung nach wenig geprüft.

    Das Tool kann aktuell keine bestehende knxprod einlesen. Es ist eher dazu gedacht sehr einfache knxprods zu erstellen. Man kann es aber sicher zu einer Alternative des Manufacturers Tool ausbauen

    Ich hoffe das hilft erst mal weiter.
    Ich warte gespannt auf Pull-requests
    Zuletzt geändert von thesing; 17.05.2018, 21:22.

    Einen Kommentar schreiben:


  • olterion
    antwortet
    Hallo thesing,

    wirklich sehr schöne Arbeit, besonders das CreateKnxProd Projekt gefällt mir sehr.
    Ich hatte eigentlich etwas ähnliches vor, aber evtl. kann ich auf deinem Projekt aufsetzen.

    Mich interessiert aber noch folgendes:
    welche XSD hast du für die Generierung des XML Models genommen?
    So wie ich das sehe, ist das ein XML Format, aus dem die dll dann eine knxprod erstellt?!

    Woher nimmst du die Infos, wie der Input für die dll aussehen muss?

    Ich hatte eigentlich vor, ein Tool zu bauen, welches eine bestehende knxprod, bzw. die XML darin in Tabellen zerlegt, anzeigt und vorgenommene Änderungen speichern kann.
    So wie ich das sehe, ist das so mit deinem Tool bisher nicht möglich?!
    Ich würde gerne bestehende BCU2 bzw. BIM112 Geräte nachbauen, bzw. auch verändern.
    Die Anzeige der dazu nötigen Informationen ist mit den mir bisher zur Verfügung stehenden Tools nicht so richtig gut.

    Bisher hatte ich aus der knxprod die XML extrahiert, diese durch einen XML->XSD converter (online) gejagt und anschließend mit jaxb oder pyxb ein funktionerendes model zu erstellen. Leider habe ich dait bisher überhaupt keine Erfahrung und somit ist dieses ein recht aufwendiges Projekt (für mich)

    Eventuell kannst du mir ein paar Hinweise geben, wie du zu diesem Ergebnis gekommen bist, ich würde dann versuchen das Tool weiter zu entwickeln.

    Grüße,
    Olli
    Zuletzt geändert von olterion; 16.05.2018, 22:19.

    Einen Kommentar schreiben:


  • wburst
    antwortet
    thesing
    danke das wars, hab auf git auschecken vergessen

    Einen Kommentar schreiben:

Lädt...
X