Ankündigung

Einklappen
Keine Ankündigung bisher.

ESP8266 KNX mit ETS

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

  • Haiphong
    antwortet
    Hallo Thomas,

    welche Lüftungsanlage / Lüftungssteuerung hast Du ??? Hersteller ??

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Wenn das Led-Blink-Beispiel funktioniert, sind die Pins richtig. Du musst die Pins vor dem Aufruf von knx.start() setzen. Siehe auch https://github.com/thelsing/knx-esp/...acade.cpp#L113 für den entsprechenden Code.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    Co2 hab ich verstanden, danke. Ich wusste nicht, dass es schon Lüftungen gibt, die CO2 gesteuert sind. Super!

    Ich hatte nicht vermutet, dass du die Helligkeit der LED einstellst. Ich würde sagen, sie ist aus -aber halt nicht ganz.
    Ich schaffe es nicht den Zustand zu ändern:
    Die blaue LED auf dem ESP Modul selbst blinkt. Aber wenn ich den button drücke passiert nix.

    Wenn ich es richtig verstanden habe, unterstützen alle Buttons am ESP Interrupts.
    Bei meinem Modul ist der D2 (GPIO04) mit dem onboard Taster verbunden.

    Welche Nomenklatur erwartet die Funktion knx.buttonPin denn? Ich nehme an, ich muss in diesem Fall
    knx.buttonPin(2);

    angeben, oder?

    Dieses Beispiel funktioniert wie erwartet
    Code:
    // constants won't change. They're used here to set pin numbers:
    const int buttonPin = 4;     // the number of the pushbutton pin
    const int ledPin =  15;      // the number of the LED pin
    
    // variables will change:
    int buttonState = 0;         // variable for reading the pushbutton status
    
    void setup() {
      // initialize the LED pin as an output:
      pinMode(ledPin, OUTPUT);
      // initialize the pushbutton pin as an input:
      pinMode(buttonPin, INPUT);
    }
    
    void loop() {
      // read the state of the pushbutton value:
      buttonState = digitalRead(buttonPin);
    
      // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
      if (buttonState == HIGH) {
        // turn LED on:
        digitalWrite(ledPin, HIGH);
      } else {
        // turn LED off:
        digitalWrite(ledPin, LOW);
      }
    }
    ist die Funktion
    void setup(void) denn überhaupt die richtige stelle um die Pins zu setzen?

    Gruß,
    Hendrik
    Zuletzt geändert von henfri; 13.10.2018, 10:03.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Meine Lüftungregelung arbeitet mit Co2 ppm. Mit der IAQ-Skala kann die nix anfangen.Daher will ich dann sowas machen wie z.B. iaq 20 -> 100 ppm iaq 50 -> 500 ppm oder so. (Werte fiktiv)

    Die Helligkeit der Led stelle ich nicht ein. Sollte genau wie bei einem beliebigen Led-Beispiel funktionieren. Der Buttonpin muss Interrupts unterstützen.

    Nach dem Start der Anwendung gibt es folgende Zustände:
    Led an -> kein Wifi
    buttton -> Led blinkt langsam Wifi wird mit WPS ermittelt (also den WPS-Button am Router drücken)
    Wifi erfolgreich -> Led aus sonst wieder an

    Led aus -> Button -> Programmiermodus für ETS (Led blinkt schnell)

    Den ESP kannst in der ETS nur in eine IP Linie packen. Evtl. ist dein Backbone IP. Dann kannst du das Gerät dahin packen.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    ich habe deine Library und das BME Beispiel ausprobiert. Das hat auch sehr weit funktioniert - aber an zwei Stellen scheitere ich:
    1) Hinzufügen des Geräts in der ETS:
    Ich kann die knxprod importieren und sehe es im Katalog. Wenn ich es aber in einen Raum packen möchte, kommt die Meldung 'Das Gerät ist nicht kompatibel zu dem Medientyp der Linie'. Jetzt war meine Überlegung eine Linie 'IP' hinzufügen. Ich habe aber nur TP, PL und RF zur Auswahl.

    2) Mein ESP Board ist ein anderes. Ich habe versucht den ledPin und buttonPin anpassen wollen:
    Code:
    void setup(void)
    {
        Serial.begin(115200);
        delay(5000);
        Serial.println("start");
        // register group objects
        knx.registerGroupObjects(groupObjects, 10);
        knx.ledPin(15);
        knx.buttonPin(4);
    Das Board ist ein "WIFI Witty cloud Development Board" (link)
    Die LED leuchtet nur ganz dunkel... Wenn ich den Pin ändere (es ist ja eine RGB LED), dann ändert sich auch die Farbe, die gaaanz dunkel leuchtet. Mit dem Button erreiche ich nichts.
    Habe ich etwas falsch verstanden?

    Gruß,
    Hendrik
    Zuletzt geändert von henfri; 11.10.2018, 21:01.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    ich hatte dich so verstanden, dass keine VOC Werte, sondern "nur" die Widerstandswerte auf den Bus gesendet werden. Was meinst du mit denn mit Interpolation zu CO2 Äquivalenten?


    Gruß,
    Hendrik
    Zuletzt geändert von henfri; 11.10.2018, 19:27.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Ja das ist das gleiche wie bei mir. Ich habe auch nur das Bosch-Beispiel genommen und schicke die Werte auf den Bus. Nur kannst du bei meiner Version die Gruppenadressen und den Zeitintervall per ETS konfigurieren.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo Thomas,

    Danke!
    Hast du das hier gesehen?

    https://knx-user-forum.de/forum/proj...46#post1274846

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Hallo henfri ,

    ich habe unter https://github.com/thelsing/knx-esp/...knx-esp-bme680 meinen Stand zum bme680 hochgeladen. Erste Tests gehen. Ich habe das aber noch nicht produktiv im Einsatz. Es fehlt z.B. einen Interpolation von IAQ Wert zu Co2-Äquivalenten.

    Bei neueren esp8266-Arduino-Cores ist WPS übrigens deaktiviert. Im das wieder zu aktivieren, muss man die boards.txt neu erzeugen. Wenn man die Fehlermeldung die beim Linken kommt googelt, findet man wie das geht. Ich habe es leider vergesssen. Oder man bleibt beim alten arduino-core.

    Grüße,
    Thomas

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    Außerdem will ich mit dem Stack und einem BME680 meine Lüftung steuern.
    Hast du das schon umgesetzt?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • lo4dro
    antwortet
    Gibts auf dieser Basis auch schon eine Praktische Anwendung?
    Ich suche eine Lösung für Heligkeit, Temperatur und Feuchte.

    Einen Kommentar schreiben:


  • ChriD
    antwortet
    Zitat von thesing Beitrag anzeigen
    Bei der Konnekting lib stört mich, dass man im loop() nicht so viel machen sollte.
    Soweit ich weiß wird die neue Version des Konnekting Kernels das "loop" Problem nicht mehr haben...


    Ein paar Infos von meiner Seite.
    Ich habe Telegram-Empfang umgeschrieben.
    Stand "heute": Jeder Knx.task() Aufruf liest nur ein Byte von BUS, somit muss task() sehr schnell/oft aufgerufen werden damit die Telegramme vollständig und korrekt ankommen.
    Stand "morgen": wir bleiben in task() so lange drin bis alle Bytes aus Buffer gelesen werden. Dabei wurde auch Telegramm-Ende Erkennung verbessert was den sinnvollen Einsatz von Buffer erlaubt.
    Zuletzt geändert von ChriD; 13.09.2018, 07:30.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Wer den aktuellen Stand testen will braucht meine modifizierte FlashStorage lib:
    https://github.com/thelsing/FlashStorage und den eigentlichen Code:
    https://github.com/thelsing/knx-samd
    Im Beispiel der lib ist auch die zugehörige knxprod-Datei.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Ja mach ich. Aktuell ist der Ansatz bei der Kommunikation mit TPUART wie bei Thorstens lib. Bei der Konnekting lib stört mich, dass man im loop() nicht so viel machen sollte. Ich will mal probieren das ohne loop und warten mit serialEvent() zu machen. Der ganze ETS-Kram funktioniert bei SAMD ja genauso wie bei ESP8266. Ich werde die Libs wohl später verschmelzen.

    Einen Kommentar schreiben:


  • Eugenius
    antwortet
    Zitat von thesing Beitrag anzeigen
    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.
    Baust du eigene Lib?

    Einen Kommentar schreiben:

Lädt...
X