Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

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

  • MiHe
    antwortet
    Hallo Experten,

    Nachdem der Umbau meines alten PHC Bussystem auf KNX zu 99% abgeschlossen ist, habe ich mich in den letzten Wochen den kniffligeren Aufgaben gewidmet. Eine davon ist ein 230V BWM der bereits bei PHC über ein Relais am potentialfreien Kontakt und jetzt am KNX Binäreingang hängt. Dieses zusätzliche Relais sowie das klacken des BWM hat mich schon immer gestört und einen 230V BE wollte ich daher dafür auch nicht mehr einbauen. Leider ist am Installationsort keine KNX Leitung verfügbar, weshalb ich die Tage an einem BWM gebastelt habe, der über Wifi und den IP KNX Router mit dem Bus sprechen soll. Vielleicht kurz zur Hardware: da alles in ein UP Gehäuse passen soll und ich keine eigene Platine erstellen möchte, habe ich mich für eine ESP8266 entschieden und als Sensor einen HLK-LD1020 Radar Sensor. Zusätzlich kommen noch ein BME280 für Temperatur, Luftdruck und Feuchtigkeit und eine RGB LED für Statusmeldung zum Einsatz.

    Um den BWM zu Konfigurieren und mit dem WLAN zu verbinden sowie auch die aktuellen Statuswerte anzuzeigen, habe ich ein WebUI erstellt. Für die Kommunikation verwenden ich die KNX Library von ESP-KNX-IP Library von Envy (https://github.com/envy/esp-knx-ip) die zwar schon ziemlich alt ist aberv (nach einer kleinen Korrektur) bei mir funktioniert.

    Die Implementierung orientiert sich ein wenig an dem wie ich andere BWM’s von MDT verwende. Die LED zeigt rot wenn der BWM auf Dauerbetrieb ist, zusätzlich kann man über eine GA die LED auf grün schalten und über eine GA die Bewegungserkennung sperren. In diesem Fall schalte ich teilweise die grüne LED ein, daher dafür eine eigene GA. Für die Übermittlung der Klimawerte gibt es 3 GA’s und eine Intervall (0 = aus), für den BWM eine Haltedauer wie auch eine Resetdauer nachdem er manuell EIN (Dauerbetrieb) gesperrt war. Hier mal ein Screenshot von dem UI.


    image.png

    Nachdem ich so ziemlich fertig damit war, bin ich auf diesen Thread gestoßen. Nun frage ich mich, welche Vorteile/Nachteile es hat, den BWM unabhängig von der ETS zu konfigurieren und wie groß der Aufwand wäre, hierfür jetzt wie hier beschrieben eine Custom KNX Applikation zu erstellen und den BWM über die ETS konfigurierbar zu machen. Das WebUI wird ja irgendwie trotzdem benötigt, zumindest um das WLAN zu konfigurieren bzw. zu kontrollieren. Außerdem komme ich so langsam in der ETS6 Home ans Gerätelimit und mit dieser Implementierung muss ich die Geräte in der ETS überhaupt nicht bekannt machen. Das mach ich bereits mit mehreren Shelly’s und eine paar Wifi ESP8266 Klimasensoren bereits genau so.

    Freue mich über jedes Feedback, da ich noch relativ wenig Erfahrung mit DIY KNX Komponenten habe.

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Hallo Waldemar, vielen Dank für die schnelle Hilfe!
    Das bringt mich dem Verständnis schon eine ganze Ecke weiter.

    Die knxprod.h hatte ich garnicht gesehen, da ich die .knxprod in eine anderes Verzeichnis ausgegeben habe und die knxprod.h trotzdem im Programmverzeichnis von kaenx.creator abgelegt wird bzw. dann wohl nicht erzeugt wird. Jetzt beides im Programmverzeichnis und es läuft ;-)

    Ich werde mich dann wohl erstmal nicht mit der xml beschäftigen und alles gleich mit den kaenx.creator erstellen.

    Dann kann ich da erstmal weiter machen...
    Grüße und vielen Dank, Marc

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Die xml ist nur die Basis zur Erzeugung der knxprod. Der Stack braucht die xml in keinster weise.
    Du kannst auch den Creator nutzen, um die knxprod zu erzeugen.
    Es sind immer 2 Schienen:
    cpp + stack -> Firmware, die auf dem Gerät läuft.
    Creator -> knxprod, die in der ETS läuft.

    Um die Speicheradressen nicht einzeln ausrechnen zu müssen, erzeugt der Creator auch noch eine knxprod.h. Die wird üblicherweise ins cpp Projekt eingebunden.

    Im OpenKNX-Projekt haben wir noch den OpenKNXproducer, der kann auch aus einer xml eine knxprod und eine knxprod.h erzeugen.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Moin, ich versuche mich gerade nach längerer Zeit mal wieder mit KNX DIY (Thelsing) zu beschäftigen...
    Dabei habe ich gerade eine Verständnisfrage:

    Wozu benötigt man die XML Datei? Nur um die .knxprod zu erstellen oder wird die Datei um Stack irgendwie eingelesen?
    Oder wird heute nur der kaenx.creator gebraucht um die knxprod zu erstellen und die xlm ist ein relikt oder einfach eine andere Möglichkeit?
    Aus der Programm (cpp) rufe oder frage ich doch nur die Objekte/Parameter mit den entsprechenden IDs ab oder?

    Sorry für die evtl. blöde Frage aber da hakt es gerade bei mir gewaltig wie die einzelnen Dateien (knxprod, xml, cpp) zusammenspielen.
    Evtl. hat jemand kurz Zeit mir da auf die Sprünge zu helfen...

    Grüße, Marc

    Einen Kommentar schreiben:


  • thewhobox
    antwortet
    henfri das Projekt CreateKnxProd ist auf Github als Archiv markiert.
    In der Readme wird auf den Kaenx-Creater verwiesen.
    Für Anfänger eignet der sich gut, da man mit ner UI erstellen kann und viel automatisch im Hintergrund erstellt wird.

    Das Tool von mumpf OpenKNXProducer ist gut geeignet für Leute die schon mehr Erfahrung mit KnxProduktDatenbanken haben und auch mehr Kontrolle über diese möchten.
    Ebenso bietet das Tool viele Möglichkeiten zum wieder verwenden von Parametern und man kann zusätzlich Module von anderen integrieren.


    ​​​​​​Gruß Mike

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    ja, ich bin verwirrt... Woher soll man wissen, welches Tool man nutzen soll?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • thewhobox
    antwortet
    mumpf Er hat den CreateKnxProd von thesing verwendet. Das Tool ist ja archiviert.
    Vll sollten wir dort (in der Readme vom Stack) ein Link auf den entsprechenden Wiki Eintrag machen mit den aktuellen Tools.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi, mach einfach .../project/14 draus. Die Demo-Files sind noch für die ETS 4, OpenKNXprod geht erst ab der ETS 5.6.

    Einen Kommentar schreiben:


  • thewhobox
    antwortet
    henfri
    Hallo,
    Auf Github gibt es ja auch die fertige knxprod.

    ​​​​​​Ansonsten kannst du probieren dir xml in den Kaenx.Creator zu importieren und damit eine KnxProd erstellen.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    vielen Dank.
    Da gibt es aber aktuell eine Inkompatibilität zwischen der xml und der CreateKNXProd:
    image.png

    (verwendet habe ich die knx-demo-ip.xml).

    auch die mitgelieferte knx-master.xml funktioniert nicht:
    image.png

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • Ing-Dom
    antwortet
    Zitat von thesing Beitrag anzeigen
    Keine Ahnung ob die arduino ide das inzwischen gelernt hat.
    nein.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Welches Medium genutzt wird, wurde https://github.com/thelsing/knx/blob..._facade.h#L467 festgelegt.

    Wenn du den esp mit TP betreiben willst must du MASK_VERSION auf 0x57B0 via #define. Keine Ahnung ob die arduino ide das inzwischen gelernt hat. Sonst kannst du auch platform.io nutzen.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    ich habe aktuell einen ESP8266 mit esp-easy, welcher per MQTT ein Kommando annimmt und dann einen Analog-Output auf den empfangenen Wert setzt.
    Leider ist das WLan dort schlecht und der re-connect von esp-easy funktioniert nicht zuverlässig.
    Kurzum: Ich möchte etwas mit (KNX) Kabel machen.

    Jetzt hab ich mir die https://github.com/thelsing/knx/tree...mples/knx-demo angeguckt. Da gibt es nur eine *.ino aber mehrere *.xml. Davon eine -tp.xml.

    Ich sehe aber nicht, wo der code erfährt, ob er selbst eine IP-Verbindung herstellen muss, oder über TP arbeitet (und dann: über welche Serielle Schnittstelle).

    Übersehe ich etwas?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • richardpub
    antwortet
    My .ino file on ESP8266 and the corresponding .knxprod file have finally uploaded to ETS5 and everything is working.
    However nothing worked since yesterday, and whereas I had succeeded 4 months ago.
    I just restarted my PC and ETS5. And I updated the firmware of my Wifi point.
    I don't really like it when it works without understanding why.
    At least that proves that the program can run on an ESP8266, without touching my network.
    It's already reassuring ....

    Cordially.

    Einen Kommentar schreiben:


  • thewhobox
    antwortet
    damic die "Sollwerte" sind in der Ladeprozedur.
    (wie im obigen verlinkten Post)

    Code:
    <LdCtrlCompareProp InlineData="00FA020723" ObjIdx="4" PropId="13">
    Die ETS fragt hier die Propertys 4/13 ab, was glaub der PID_Apllication entspricht.
    Wenn der Wert, der vom Geräte zurück kommt, nicht den Daten von InlineData entspricht, wird die Übertragung abgebrochen.

    Das Antworten auf einen PropertyReadReq übernimmt hier der Stack von thesing.
    Das gleiche gilt für den DeviceDescriptorRead (welcher nur die Maskenversion zurück gibt, die in der knxprod ebenfalls angegeben ist) und den PID_Manufacturer (der ja auch in der knxprod angegeben ist)

    PID_Orderinfo ist in der Hardware.xml
    ​​​​​​​PID_HardwareType musst du im Stack selbst festlegen.

    Einen Kommentar schreiben:

Lädt...
X