Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

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

  • jeff25
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Hi,

    wieso wird in diesem Zusammenhang immer von

    mumpf so meinte ich es auch nicht, aber über die generierte VD1 müsste man zumindest nicht mal mehr die DLL selbst aufrufen daher kann es garnicht evtl gegen was verstossen.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    Zitat von SirSydom Beitrag anzeigen
    Ich hab in ganzen alten Threads gewühlt von 2014, da gings um die Konfig von DIY-Geräte.
    ich meinte das hier: https://knx-user-forum.de/forum/%C3%...chnikerprojekt. Guter Ansatz :-)

    Zitat von SirSydom Beitrag anzeigen
    Es ist wohl ne ganze Menge Flash notwendig.
    Das ist nicht sooo schlimm, der Stack selber ist groß, die Parameter etc. brauchen eben so viel, wie sie in Binärdarstellung brauchen. Die KO haben aber eine Speicherrepräsentation im RAM (geht auch nicht anders) und die war damals recht groß. Wenn ich mich recht erinnere, 21 Byte + der eigentliche Payload. Also 22 bis 35 Byte pro KO. Das ist eine der Änderungen bei mir in meinem Fork, ich komme mit 5+Payload aus, allerdings ist der Zugriff dann umständlicher (man muss z.B. immer den richtigen DPT mitgeben usw.). Das war es mir aber wert.

    Das Maximum, was ich mal versucht habe, waren 350 KO, das hat noch (mit meiner Lösung) problemlos funktioniert.

    Zitat von SirSydom Beitrag anzeigen
    Wieviel byte brauche ich pro KO und pro Parameter?
    Wie gesagt, Parameter brauchen exakt so viel, wie sie physikalisch als Bitrepräsentation brauchen, KO 21+Bitrepräsentation, wobei sich das in der Zwischenzeit geändert haben kann - in beide Richtungen.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    wieso wird in diesem Zusammenhang immer von
    Zitat von jeff25 Beitrag anzeigen
    legal
    gesprochen und damit illegal impliziert? Es passiert nicht illegales, weder eine Schlüsselextraktion noch eine illegale Kopie noch irgendein anderes geheimes Ding. Es wird nur eine ETS-Funktion aufgerufen (deswegen muss die ETS auf dem jeweiligen Rechner installiert sein). Dieser Funktion gibt man ein XML-File und sie spuckt ein knxprod raus. Ich sehe daran nichts illegales, nur was nicht direkt unterstütztes. Die installierte ETS muss noch nicht mal lizensiert sein, es reicht vollkommen die ETS-Demo. Nur die ETS, in die später importiert wird, muss lizensiert sein (zumindest wenn man mehr als 5 Geräte nutzen will). Im Prinzip macht man nichts anderes als jeder Hersteller während seiner internen Entwicklungs- und Testphase.

    Dass die resultierende knxprod nicht weiterzugeben ist, liegt daran, dass man als Privatmensch keine Herstellerkennung hat. Aber solange man sich das Ding für den Privatgebrauch zusammenbastelt, ist es nicht illegal.

    Ich wehre mich schon entschieden dagegen, dass hier was illegales gemacht wird.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Ing-Dom
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Und leider ist es dabei geblieben.
    schade!

    Zitat von mumpf Beitrag anzeigen
    Ja, alles dynamisch. Es gibt eine Klasse GroupObject (in group_object.h), jedes Kommunikationsobjekt ist eine Instanz davon. Für die Parameter gibt es passende Parameter-Getter, technisch übergibt die ETS alle Parameter als ein Speicherblock.
    sowas dachte ich mir dann schon.
    Hat natürlich seine Vorteile - aber auch Nachteile. Es ist wohl ne ganze Menge Flash notwendig.
    Ist das auch alles parallel im RAM ? Der ist ja nicht ganz so üppig...

    Zitat von mumpf Beitrag anzeigen
    Es gab hier vor kurzem jemanden, der hat als eine Art Studienarbeit eine (kleine) Alternative zur ETS geschrieben. Mit der konnte man auch programmieren. Allerdings fehlte im UI noch einiges. Mir fällt der Username nicht ein, ich stell das noch rein, wenn ich das wiederfinde. Wäre eine Alternative, Du hast Recht.
    Ich hab in ganzen alten Threads gewühlt von 2014, da gings um die Konfig von DIY-Geräte. Robert (der mit dem HM-KNX Hörmann Modul) hatte da eine schöne Variante, der hat die Geräte über eibd programmiert - propwrite etc... sowas könnte man machen. Sind wir ehrlich... keiner wird das nutzen

    Zitat von mumpf Beitrag anzeigen
    Das ist eine Idee, allerdings dachte ich, das Standardmäßig inzwischen in den Flash vom SAMD geschrieben wird und FlashStorage gar nicht mehr gebraucht wird? Aber da bin ich leider nicht mehr Up-To-Date, sorry.
    doch doch, siehe hier:

    https://github.com/thelsing/knx/blob...latform.cpp#L7


    Leider hat beides auf 2048 oder beids auf 8192 ebenfalls nicht funktioniert. Muss ich mal debuggen...

    Wieviel byte brauche ich pro KO und pro Parameter?

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    Zitat von SirSydom Beitrag anzeigen
    Ich denke aber, ich weiß auch warum der 8192 nicht geht, denn in der FlashStorage wird ja default-mäßig mit 1024 gearbeitet!
    Ich dreh hier mal auf 8192 hoch und schau was passiert.
    Das war zumindest vor einem halben Jahr auch mein Problem. Ich hatte dann glaub irgendwo die Include-Order geändert, so dass der FlashStorage den Wert aus der Config vom KNX-Stack bekommt und somit an einer Stelle anpassbar bleibt. Hatte auch eine Ergänzung in den fatalError-Code gebaut, dass die LED erst einen Fehlercode ausgibt, und glaub noch irgendwas ... wollte mal einen Merge-Request machen, aber mit GitHub noch nie gearbeitet (nur direktem Git-Zugriff)

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    Zitat von SirSydom Beitrag anzeigen
    Mit welcher Zielsetzung?
    Die alternative Software für das Board von Masifi ist von mir. Und ich hab damals einen fork gemacht, weil ich einige Anpassungen brauchte, die ich alleine schon deswegen nicht in den Stack bringen konnte, weil meine C++-Kenntnisse "unter aller Sa*" sind . Und leider ist es dabei geblieben.

    Zitat von SirSydom Beitrag anzeigen
    Die Integration in die ETS verbessert das ganze handling für den Anwender ungemein.

    Die Möglichkeiten mit WLAN und IP Linie sind auch irre interessant!
    Für mich war das der Grund, überhaupt an ein DIY-Projekt zu gehen. Ich hatte auch in KONNEKTING reingeschaut, ist auch toll, was da entstanden ist, aber die Möglichkeiten der ETS, was Applikationsdesign angeht, sind da erheblich größer. Und für mich ist die ETS auch das zentrale Projektierungstool, ich will da alle Geräte sehen und alle GA-Verknüpfungen haben. Und es scheint so, als ob auch jemand an KnxSecure im Stack arbeitet.

    Zitat von SirSydom Beitrag anzeigen
    Die Kommobjekte und die Parameter - wo werden die eigentlich definiert? Also in der Firmware? Ist das alles dynamisch, wird also erst beim proggen angelegt?
    Ja, alles dynamisch. Es gibt eine Klasse GroupObject (in group_object.h), jedes Kommunikationsobjekt ist eine Instanz davon. Für die Parameter gibt es passende Parameter-Getter, technisch übergibt die ETS alle Parameter als ein Speicherblock.

    Zitat von SirSydom Beitrag anzeigen
    Was mich etwas abschreckt ist die kaum vorhandene "erklärende" Doku.
    Naja, mir hat die Demo und die Sourcen von Stack gereicht, zusätzlich hab ich mir ein paar knxprod-Files von echten Geräten angesehen. Und dann auch hier gefragt.

    Zitat von SirSydom Beitrag anzeigen
    Und dann auch die Situation mit der ETS DLL und dem signieren, was ja so im graubereich liegt...
    Das ist auch der Grund, warum ich nur Source und eine Anleitung zum selberbauen veröffentliche, aber keine fertigen knxprod-Files.

    Zitat von SirSydom Beitrag anzeigen
    Ganze Geräte damit verkaufen (auch Sammelbestellen) würde ich mich glaub ich nicht so trauen.
    Ich hab mit Hardware sowieso nicht so viel am Hut, deswegen hab ich mich auf das Modul von Masifi "gestürzt".

    Zitat von SirSydom Beitrag anzeigen
    Ich sinniere, ob es ohne riesigen Aufwand machbar ist, ein Tool zu schreiben, dass die unsignierte xml nutzt um das Gerät zu proggen.
    Es gab hier vor kurzem jemanden, der hat als eine Art Studienarbeit eine (kleine) Alternative zur ETS geschrieben. Mit der konnte man auch programmieren. Allerdings fehlte im UI noch einiges. Mir fällt der Username nicht ein, ich stell das noch rein, wenn ich das wiederfinde. Wäre eine Alternative, Du hast Recht.

    Zitat von SirSydom Beitrag anzeigen
    Ich denke aber, ich weiß auch warum der 8192 nicht geht, denn in der FlashStorage wird ja default-mäßig mit 1024 gearbeitet!
    Das ist eine Idee, allerdings dachte ich, das Standardmäßig inzwischen in den Flash vom SAMD geschrieben wird und FlashStorage gar nicht mehr gebraucht wird? Aber da bin ich leider nicht mehr Up-To-Date, sorry.

    Ich wünsche Dir viel Erfolg,
    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Sonnengruesser
    antwortet
    Zitat von SirSydom Beitrag anzeigen
    Was mich etwas abschreckt ist die kaum vorhandene "erklärende" Doku.

    Die Kommobjekte und die Parameter - wo werden die eigentlich definiert? Also in der Firmware? Ist das alles dynamisch, wird also erst beim proggen angelegt?
    Zitat von SirSydom Beitrag anzeigen
    Und dann auch die Situation mit der ETS DLL und dem signieren, was ja so im graubereich liegt...
    genau deswegen ist die Einstiegsschwelle bewusst ein wenig erhöht. Ist ja ein "proof of concept" und keine Arduino library, die jeder Dummy bedienen können soll.

    Einen Kommentar schreiben:


  • Ing-Dom
    antwortet
    System B mit VD1 ? geht das?

    Einen Kommentar schreiben:


  • jeff25
    antwortet
    Zitat von SirSydom Beitrag anzeigen
    interessant. Mit welcher Zielsetzung?

    Und dann auch die Situation mit der ETS DLL und dem signieren, was ja so im graubereich liegt... Ganze Geräte damit verkaufen (auch Sammelbestellen) würde ich mich glaub ich nicht so trauen. Ich sinniere, ob es ohne riesigen Aufwand machbar ist, ein Tool zu schreiben, dass die unsignierte xml nutzt um das Gerät zu proggen.
    Das könnte man dann mitliefern. und wenn Endanwender dann im Netz ein Tool finden, mit dem man daraus eine knxprod macht und über ETS lädt...
    Evtl wäre es auch interesant eine VD1 per tool zu schreiben und diese dann legal zu importieren. Darüber schon mal nachgedacht?

    Einen Kommentar schreiben:


  • Ing-Dom
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Wichtig ist, dass Du bei dem Stack KEINE PA in die Firmware gießen musst. Es geht nur um die Initiale PA, die man hat, wenn das Gerät entladen ist.
    das ist mir schon klar! Ist ja bei Konnekting, wo ich schon viel gemacht habe, auch so.

    Zitat von mumpf Beitrag anzeigen
    Du meinst das hier: https://github.com/thelsing/knx/blob.../memory.cpp#L6?

    Ich hab eben mal nachgeschaut, das gibt es bei mir nicht. Was für ein Glück... ich würde nicht mal mit 8192 auskommen
    Ja genau. Ich denke aber, ich weiß auch warum der 8192 nicht geht, denn in der FlashStorage wird ja default-mäßig mit 1024 gearbeitet!
    Ich dreh hier mal auf 8192 hoch und schau was passiert.

    Einen Kommentar schreiben:


  • Ing-Dom
    antwortet
    Zitat von mumpf Beitrag anzeigen
    da ich (leider immer noch aus Zeitgründen) auf einem fork arbeite.
    interessant. Mit welcher Zielsetzung?

    Zitat von mumpf Beitrag anzeigen
    P.S.: Ich würde es weiter probieren, ich finde, der Stack lohnt sich...
    Ja, der Stack hat was.

    Einerseits bringt die System B Kompatibilität ne Menge Komplexität rein, aber andererseits ist eben diese Kompatibiltät auch toll.
    Die Integration in die ETS verbessert das ganze handling für den Anwender ungemein.

    Die Möglichkeiten mit WLAN und IP Linie sind auch irre interessant!

    Was mich etwas abschreckt ist die kaum vorhandene "erklärende" Doku.

    Die Kommobjekte und die Parameter - wo werden die eigentlich definiert? Also in der Firmware? Ist das alles dynamisch, wird also erst beim proggen angelegt?



    Und dann auch die Situation mit der ETS DLL und dem signieren, was ja so im graubereich liegt... Ganze Geräte damit verkaufen (auch Sammelbestellen) würde ich mich glaub ich nicht so trauen. Ich sinniere, ob es ohne riesigen Aufwand machbar ist, ein Tool zu schreiben, dass die unsignierte xml nutzt um das Gerät zu proggen.
    Das könnte man dann mitliefern. und wenn Endanwender dann im Netz ein Tool finden, mit dem man daraus eine knxprod macht und über ETS lädt...

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    Zitat von SirSydom Beitrag anzeigen
    ich finde 15.15.255 auf jeden Fall besser, weil 0.0.0 eigentlich keine gültige PA ist.
    ich denke, es war schon Absicht, dass es keine gültige PA ist, damit man diese auf jeden Fall mit der ETS programmieren muss. Wichtig ist, dass Du bei dem Stack KEINE PA in die Firmware gießen musst. Es geht nur um die Initiale PA, die man hat, wenn das Gerät entladen ist.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    Du meinst das hier: https://github.com/thelsing/knx/blob.../memory.cpp#L6?

    Ich hab eben mal nachgeschaut, das gibt es bei mir nicht. Was für ein Glück... ich würde nicht mal mit 8192 auskommen, ich habe 8621 Bytes an Parametern, dazu kommt dann ja auch noch die KO<->GA Zuordnung. Ich muss mich wirklich mit dem aktuellen Stack mal wieder beschäftigen.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Ing-Dom
    antwortet
    Zitat von mumpf Beitrag anzeigen
    wenn es eher 5 Hz sind, dann bist Du wohl hier gelandet:
    ja,ich habs nur grob geschätzt, wird schon das sein

    Zitat von mumpf Beitrag anzeigen
    Du musst in der Demo darauf achten, dass ArduinoPlatform::SerialDebug = &Serial; auch das richtige Serial adressiert (also passend zum Board auf die USB-Schnittstelle geht), beim Board von Masifi ist das z.B. "SerialUSB".
    Serial passt für mich

    Die Frage ist, wo wird die Serial für KNX festgelegt? Bzw. was ist hier der Default?

    Zitat von mumpf Beitrag anzeigen
    P.S.: Arbeitest Du mit der Arduino-IDE oder mit PlatformIO?
    VisualStudio Code mit der MS Arduino-Extension

    Zitat von h1as Beitrag anzeigen
    Ne nicht die Eeprom Size, sondern die KNX_Flash_Size in der Memory.cpp.
    ah ok. probier ich gleich mal aus.

    => ah, das scheint es gewesen zu sein! porg button geht, ich finde das device in der ets
    jetzt kann ich weitermachen


    Zitat von mumpf Beitrag anzeigen
    Das mit der eigenen PA geht hier:
    https://github.com/thelsing/knx/blob...e_object.h#L42
    Bei mir hat die 0 aber immer funktioniert. Trotzdem hab ich das auf 0xFFFF gesetzt, weil es andere Geräte auch so machen.
    ich finde 15.15.255 auf jeden Fall besser, weil 0.0.0 eigentlich keine gültige PA ist. Die kann man in der ETS nicht überprüfen, ob vorhanden z.B.
    Überschreiben klappt aber.

    Einen Kommentar schreiben:


  • h1as
    antwortet
    Ne nicht die Eeprom Size, sondern die KNX_Flash_Size in der Memory.cpp.

    Einen Kommentar schreiben:

Lädt...
X