Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
habe soeben eine neue Version 1.0.2 freigegeben, beschrieben auf GitHub. Neben Bugfixes auch ein paar Neuerungen...
Größte Neuerung: Ein Verb 'new', das jetzt auch das erzeugen von neuen (Initialen) xml erlaubt. Man muss somit nicht mehr auf CreateKnxProd zurück greifen.
Das versteht auch die ets4. Und ich denke, wenn jemand so weit ist, dass er die ets5.6 Spezialfunktionen nutzt, weiss er auch, dass man den namespace auf 14 ändern muss.
Ja stimmt, hatte mich nur gewundert, da du ja prüfst welche ETS installiert ist könnten man den korrekten string setzen, aber das wäre ja schon was für die
Luxuswunschliste :-)
das stimmt so nicht. Ich suche passend zu Namespace den richtigen Konverter. Jede der unterstützten ETS (4, 5.0, 5.5, 5.6, 5.7) installiert Konverter für seine und vorherige ETS mit. Wenn ich einen Konverter finde (z.B. den 5.0 für Namespace xmlns="http://knx.org/xml/project/12"> ), weiß ich nicht, ob er aus der ETS 5.7, 5.6 oder 5.5 kommt...
Langer Rede kurzer Sinn: Ich weiß nicht, welche ETS installiert ist. Ich weiß, wie ich das prüfen könnte, aber ich sehe derzeit nicht den Bedarf. Das Tool ist dazu da, händisch modifizierte xml-Files in knxprod zu wandeln, ich gehe davon aus, dass nach und nach das Wissen um die Inhalte der Files steigt und die Leute lernen, im xml die korrekten Einstellungen zu machen.
Ich habs ja auch gelernt, und mir hat es auch keiner erklärt...
du hast ja soooo recht :-) Dein Tool ist ja schon eine sehr große Hilfe. Es ist trotzdem nicht so easy sich das alles von Grunde selbst zu erklären, ich versuche ja schon viel selbst :-)
ps: hatte von Luxusliste gesprochen... daher vergiss es.
hab heute noch ein weiteres Release freigegeben mit einem kleinen Bugfix und 3 weiteren Checks:
bei Parameter-Value-Integrity wird geprüft, ob das Value-Attribut eines Parameters zum Typ des Parameters passt. Das wird nämlich erst in der ETS angemeckert mit einer nichtssagenden Meldung "Wert passt nicht zum Typ" (oder ähnlich). Bei 1000 Parametern nicht einfach zu finden...
bei ParameterRef-Value-Integrity wird geprüft, ob das Value-Attribut eines ParameterRef zum Typ des Parameters passt, dass der ParameterRef referenziert.
Bei Id-Namespace wird geprüft, ob alle IDs des Quell-XML aus dem selben Namensbereich kommen. Falls man nämlich xml-Teile aus verschiedenen xml zusammenkopiert, kann es schnell dazu kommen, dass die IDs nicht mehr zusammen passen. Das meckert keiner an, auch die ETS nicht, aber bei der Programmierung werden dann nicht alle Daten übertragen - ist saublöd zu finden
Ansonsten habe ich das per "new" erzeugte xml verfeinert, es enthält ein komplett kommentiertes Mini-Beispiel, das auch in der ETS funktioniert. Man kann sich somit das Verhalten in der ETS anschauen und zusammen mit den Kommentaren hoffentlich einfach herleiten, wie die Zusammenhänge sind.
Das Mini-Beispiel enthält auch ein "'In Betrieb' Status senden" KO mit passender Parametrierung, dass man durchaus direkt so in eigenen Geräten verwenden kann. Ferner demonstriert es, wie man ParameterBlock, Channel, ComObject und einzelne Parameter in der ETS definiert und ein- und ausblendet.
erst mal vielen herzlichen Dank dafür, dass Du Deine Arbeit zur Verfügung stellst!
Ich fange gerade mit der Entwicklung aufbauend auf dem Stack von thesing an und finde es toll, dass es hier noch eine zweite Möglichkeit gibt, die *.knxprod-Dateien zu erzeugen.
Ich würde zum Beispielprojekt evtl. einen kleinen Pullrequest mit ein paar Schönheitskorrekturen beisteuern, aber vorher ist mir noch was anderes aufgefallen.
Ich glaube das Meiste davon ist bereits in dem Beispiel von "MultiplyChannels" drin, aber wie z.B. bekommst Du die horizontale Linie zur Unterteilung hin? Kannst Du das (und was eventuell noch fehlt) bitte noch mit in die Beispiel-XML packen? Mit den ganzen Kommentaren darin ist die wirklich sehr hilfreich...
aber wie z.B. bekommst Du die horizontale Linie zur Unterteilung hin? Kannst Du das (und was eventuell noch fehlt) bitte noch mit in die Beispiel-XML packen?
Ist schon drin, Zeile 190-191:
Code:
<!-- A ParameterSeparator with an empty text is presented as a line -->
<ParameterSeparator Id="M-00FA_A-0000-00-0000_PS-1" Text=" " />
Das mit <cr> bzw. <cr><lf> hab ich zugegebenermaßen noch nicht überprüft, da es keine Probleme verursacht hat. Meistens arbeite ich passend zur Plattform, da es hier um Windows geht, würde ich für <cr><lf> plädieren. Da das komplette file von c# generiert wird, wundert es mich eher, dass da wirklich reine <lf> stehen...
Ich hab eben nochmal geschaut, bei mir stehen nur <cr><lf> drin. Ich weiß nicht, warum das in Deinem File gemischt ist. Allerdings hatte ich schon öfter mal nach dem pull über git auch nur diffs, die durch fehlerhafte line endings kamen...
Ich hab eben nochmal geschaut, bei mir stehen nur <cr><lf> drin. Ich weiß nicht, warum das in Deinem File gemischt ist. Allerdings hatte ich schon öfter mal nach dem pull über git auch nur diffs, die durch fehlerhafte line endings kamen...
Das gepaart mit der Aussage, dass du auf beiden Plattformen (Windows und Linux) arbeitest, klingt für mich sehr stark nach der Git-Option "core.autocrlf" evtl. zusammen mit einem Editor, der Zeilenendungen automatisch an das Betriebssystem anpasst.
Falls Du diese Option noch nicht kennst, hier findest Du weitere Infos dazu:
Zusammengefasst: Git kann je nach Einstellung die Zeilenendungen für den Push, aber auch nach einem Pull, automatisch ändern (das kann sinnvoll sein, wenn man auf unterschiedlichen Plattformen arbeitet, aber bei falscher Einstellung eben auch Probleme bereiten).
Wie diese Option bei Dir aktuell konfiguriert ist, siehst Du mit Hilfe von
Danke. Wenn ich das richtig sehe, dann sollte die horizontale Linie direkt über dem Text "Angeschlossene Sensoren" zu finden sein, richtig?
Bei mir ist da aber nichts...
MultiplyChannels.exe new --ProductName=TestProduct --AppNumber=1111 Test
und direkt in die ETS importiert (also keine Änderungen an der XML vorgenommen).
Weitere Infos:
Betriebssystem: Windows 10 Pro
ETS: ETS 5.6.6 (Build 1190), Professional Lizenz
Ich hänge nicht an der ETS-Version... also wenn das bei neueren Versionen eine Linie ergibt, dann würde ich auch updaten.
Im Anhang mal noch Screenshots der anderen Einstellungen. Vielleicht könntest Du mal kurz drüberschauen, ob das so aussieht wie es sollte oder noch andere Sachen fehlen.
ich lerne ja auch noch immer dazu : Gerade erst durch Try&Error ausprobiert, weil zufällig bei meiner ETS-Demo (5.7.2) auf nem anderen Rechner die Linie auch fehlte. Der Zusammenhang ist aber nicht die ETS-Version, sondern der Konverter, den man nutzt. Letztendlich besitzt die Schema-Version Semantik, nur kennt man als Außenstehender nicht alle Zusammenhänge...
Also: Wenn man ein Dokument mit Schema 11 konvertiert (wird auch bei "new" so erzeugt), kommt die Linie, weil der Konverter der ETS4 genutzt wird (ist auch in der ETS5 enthalten).
Du hast vermutlich ein Schema 14 verwendet, das nutzt den Konverter der ETS 5.6, und da muss die Linie mit
erzeugt werden. Schema 14 kann auch noch ein paar andere Sachen, jetzt - nachdem ich überhaupt realisiert habe, dass die Schema-Version so viel ausmacht - arbeite ich mich da mal ein. Hab schon mal
Code:
... UIHint="Information"
... UIHint="Error"
entdeckt, und dass dynamische Texte im UI über TextParameterRef="..." gehen. Aber das ist alles noch nicht ausprobiert und somit bin ich mir nicht sicher, was da gehen könnte. Ist wie gesagt Wissen, dass ich gerade mal 15 Minuten habe
Also: Du musst die ETS nicht upgraden. Wenn Du aber auf Schema Version 14 arbeitest, wirst Du die knxprod wohl nur mit ETS 5.6 und größer nutzen können. Ist aber auch nur eine Vermutung, hab ich (noch) nicht ausprobiert.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar