ESP8266 Tasmota FW mit PCF8574 und Tasmocompiler erzeugen

  • Liebes Forum,

    vergeblich gestern eine FW über den Tasmocompiler zu erstellen, die einen PCF7485 beinhaltet. Habe alle Punkte wie folgt ausgewählt:

    Nutzen tue ich den neuesten Build 13.3.0

    Nach dem Flashen vom ESP bekommen ich in den Einstellungen keinen Punkt für den PCF, wie ich in den gängigen web-Suchergebnissen finden konnte. Auch geht kein "i2cscan". I2C Anschlüsse habe ich festgelegt.

    Was mache ich falsch?

    Einmal editiert, zuletzt von mat-sche (4. März 2024 um 13:07)

  • When compiling your build add the following to user_config_override.h:

    Code
    #define USE_I2C                                // Add support for I2C
    #define USE_PCF8574                            // [I2cDriver2] Enable PCF8574 I/O Expander (I2C addresses 0x20 - 0x26 and 0x39 - 0x3F) (+2k1 code)
    //  #define USE_PCF8574_MODE2                    // Enable Mode2 virtual relays/buttons/switches (+2k3 code)
    //  #define USE_PCF8574_SENSOR                   // Enable Mode1 inputs and outputs in SENSOR message (+0k2 code)
    //  #define USE_PCF8574_DISPLAYINPUT             // Enable Mode1 inputs display in Web page (+0k2 code)
    //  #define USE_PCF8574_MQTTINPUT                // Enable Mode1 MQTT message & rule process on input change detection : stat/%topic%/PCF8574_INP = {"Time":"2021-03-07T16:19:23+01:00","PCF8574-1_INP":{"D1":1}} (+0k5 code)

    In order to use PCF8574 mode 2, uncomment USE_PCF8574_MODE2. In order to use inputs, uncomment the last three lines.


    Hast du diese #define hinzugefügt?

  • Hast du diese #define hinzugefügt?

    Hi Noschvie danke für Deine Antwort,

    ja, habe alles im Web durchsucht, um einen Erfolg zu haben! Habe div. Builds zusammengestellt, Einstellungen dann vorgenommen ect.

    Mit einem eigenem Arduino Sketch weiß ich, dass der PCF auf der angegebenen Adresse funktioniert.

    Könnte das Problem mit dem aktuellen Build zu tun haben? Das Bin-Files habe ich mit dem Tasmocompiler durchgeführt, da ich noch nicht mit Platform IO zurecht komme.

  • Hi

    Du postest nur nen Screenshot von der Auswahl im Tasmocompiler, was umklar ist und wie Noschvie fragte:

    Hast du diese #define hinzugefügt?


    Das geht auch im TasmoCompiler unter zusätzliche Parameter, z.B.:

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • ja, habe alles im Web durchsucht,

    Ohh, habs nicht explizit geschrieben.

    Code
    #define USE_I2C
    #define USE_PCF8574_ADR 026
    
    #define USE_PCF8574_MODE2
    => habe ich nicht genommen, möchte Mode1

    Eigentlich habe ich alles so gemacht wie im Web zu finden...

    Kann es sein, dass wenn Tasmota keinen PCF beim Start findet, diese Einstellmöglichkeit gibt? Ist aber auch quatsch, da viele meinten, dass mit I2Cscan die Adresse ermittelt werden kann....

  • Du hast in den Einstellungen auch die GPIO's an welchen der Expander angeschlossen ist als:

    I2C SCl und I2C SDA

    konfiguriert bzw. mal andere verwendet?

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • Du hast in den Einstellungen auch die GPIO's an welchen der Expander angeschlossen ist als:

    I2C SCl und I2C SDA

    konfiguriert bzw. mal andere verwendet?

    Auch die habe ich mal vertauscht eingegeben, ohne Erfolg. Ich nutze ein ESP12F als Hardware.

    Nach dem ich alles gemacht habe, kann ich mir nur vorstellen, dass das Build 13.3.0 nicht funktioniert.

    Zum Vergleich, könntest Du mir bitte ein FW erstellen, mit den gewünschten Funktionalität. Ich zweifle gerade etwas an mir ;)

  • Hi

    im Tasmocompiler mit:

    Code
    #ifdef USE_I2C
    #undef USE_I2C
    #endif
    #define USE_I2C
    #ifdef USE_PCF8574
    #undef USE_PCF8574
    #endif
    #define USE_PCF8574

    Compiliert und auf nem ESP01 aufgespielt

    GPIO01=SCL

    GPIO03=SDA

    Ein I2C Display mit PCF8574A angeschlossen,

    i2cscan findet tadellos auf Adresse 0x27 das Gerät, sowohl beim booten angeschlossen, als auch erst danach.


    Im Anhang, das .png einfach wegumbennenen.


    Sieht so aus als machst du was anderes falsch ;) oder dein expander ist futsch

  • Was liefert der Befehl: i2cdriver zurück?

    "28" sollte dabei sein. Das wäre der PCF8574/PCF8574A Treiber.

    Hab den Befehl garnicht gesehen!

    Bei mir kommt : RESULT = {"I2CDriver":"22"} => das wäre dann der MCP23.... laut Liste : https://tasmota.github.io/docs/I2CDEVICE…ted-i2c-devices.

    Dann ist es mir klar, dass keine Einstellmenü zum PCF kommt. Im Tasmocompiler konnte iich das define für den MCP nicht auskommentieren, da hat dann das compelieren gestreikt.

    Einmal editiert, zuletzt von mat-sche (4. März 2024 um 16:55)

  • Gibt es eine Möglichkeit ein Abbild der ganzen Einstellungen zu speichern und nach dem die FW geupdatet wurde wieder neu aufzuspielen?

  • Sorry hatte einen Tippfehler. "2" sollte da stehen.

    Wenn du nur 22 angezeigt bekommst, hast du nur den MCP23008 Treiber in deinem binary.

    => so wird es sein. :(

    Hast du die Version von HörMirAuf schon getestet?

    Ohh jetzt erst gesehen :(

    Habe noch nicht getestet, muss gerade noch dei Webseite für die Rolladen im Haus zusammenbauen.

  • @HoerMirAuf & Einstein,

    Super, konnte nun das Update aufspielen und es zeigt mir nun den Button zum einstellen.

    Wie hast Du das Bin erzeugt? Mit dem benzino77 Tasmocompiler habe ich es nicht hinbekommen, konnte machen was ich wollte...

    Hat jemand ne gute Anleitung, dass ich mich endlich mal mit Platform IO beschäftige..., wie darüber ein eigenes Tasmota-BIN erstellt werden kann?

    Ich müsste nochmals etwas am BIN erweitern, benötige noch das CORS.

  • Moin.

    Wie hast Du das Bin erzeugt? Mit dem benzino77 Tasmocompiler habe ich es nicht hinbekommen, konnte machen was ich wollte...

    Wie in Post #4 erwähnt, mit dem benzino77 Tasmocompiler.

    Einfach Quellcoderunterladen und dann ... weiter...weiter ...weiter bis zu Punkt 4: "zusätzlich Parameter" (letzter Punkt bevor du die Sprache und Version auswählst) und da ins Textfeld einfach die mehrfach zitierten Parameter eingeben und dann eben compilieren.... that's all.


    Für Cors und Websend Response müssen dann folgende Parameter rein:

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

    Einmal editiert, zuletzt von HoerMirAuf (5. März 2024 um 07:11)

  • Moin!

    Hast Du den Punkt unter "Wähle die Funktionen" I/O Erweiterungsboards mit hineingenommen? Bei meiner Auswahl hatte ich unter zusätzliche Parameter noch ein define MCP2300... mit aufgeführt, dieser wurde mir dann auch im Log als I2C Device angezeigt. Diesen konnte ich beim compelieren nicht herrausnehmen, wenn ja dann streikte die Kompelierung....

    Werde nochmals den Tasmocompiler anwerfen :)

    Wünsche einen schönen Tag!

  • Nö,

    ich hatte gar nichts zusätzlich angehakt, einfach nur I2C und den PCF8574 in den zusätzlichen Parametern, ging ja primär auch nur um dieses Gerät

    Der Tasmocompiler läuft aber auch ohne Probleme mit folgendem durch:


    EDIT:

    Wenn du im Compiler ohne I/O Boards nur den MCP eingetragen hattest, kann es nicht gehen, weil der ja I2C braucht.

    Die werden von der I/O Auswahl mit aktiviert und müssen ansonsten eben manuell in den Parametern mitgenommen werden, also so:

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

    Einmal editiert, zuletzt von HoerMirAuf (5. März 2024 um 07:32)

  • Soo meinen Fehler hab ich auch gefunden.

    #define USE_CORS
    #define USE_I2C                                // Add support for I2C
    #define USE_PCF8574


    reicht völlig aus. Mein Problem war, dass ich "Wähle die Funktionen" I/O Erweiterungsboards ausgewählt hatte...

    Und natürlich wenn ich dieses Auswähle und nicht die nötigen #define mit hinzufüge kann es ja nicht gehen :)

    Einzeln natürlich einen MCP hinzuzufügen sollte auch so gehen...

    Und bitte, was kann ich mit dem Websend Response alles anstellen?

  • Ich nehme den Websend Response bei Cors eigentlich immer mit rein.

    Mit Websend Response übermittelt der Tasmota WebServer bei nem http Request auch Daten zurück.

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070