Nodemcu Bord mit Tasmota u. Alexa

  • Hallo Forum,

    super das es Euch gibt.

    Habe folgendes Problem:

    Nodemcu ESP8266 mit Tasmota geflasht.

    Relais karte mit 6 Relais.

    Das ansteuern über mqtt klappt bei allen 6 Relais

    Als Emulation benutze ich Hue.

    Jetzt werden aber nur 4 Frendley Names angezeigt und diese auch von Alexa gefunden.

    Habe in der sonoff.h die Namenanzahl auf 6 geändert und eine neue Firmeware mit Atom generiert.

    Jetzt werden 6 Namen in der Web Gui angezeigt , die 4 ersten mit Sonoff 2 usw. 5+6mit leeren Feldern.

    Eingetragene Namen werden aber nicht gespeichert.

    Weiss eventuell von Euch jemand Rat wie ich das einstellen kann?

    Würde mich über Hilfe sehr freuen.

    LG Jonny

  • Wahrscheinlich garnicht, da man nicht alle gpios nutzen kann, soviel ich gelesen habe, gibt es bestimmte gpios, die beim boot des esp8266 kein low oder high signal haben dürfen, da der esp sonst nicht startet, und da tasmota ja die gpios als eingänge und ausgänge nutzt, wird das ganze auf 4 begrenzt sein, willst du 4 Relais mit nem Switch also extern schalten hast du schon alle gpios belegt, ich habe einen touch mit einen ESP01 umgebaut, alles probiert hat super funktioniert an GPIO0 das Relais und GPIO2 den Switch, alles zusammengelötet und in schrumpfschlauch verpackt, an strom angeschlossen und das ding hat nix mehr gemacht, es gibt zwar die möglichkeit diese gpios, z.B wie den GPIO0 der für den Flash modus ist, auch anderweitig zu nutzen aber dafür muss man mit pulldown oder Pullup widerständen arbeiten!

    Denke deswegen könnte es daran liegen das in Tasmota nur 4 maximal nutzbar sind, aber lasse mich gerne eines besseren belehren wenn jemand was anderes weiß!

    MFg

    Sascha

  • Du musst noch was anderes ändern, dann klappt das.

    Irgendwo werden die friendly names generiert, dort musst du einfach die liste erweitern auf soviele wie du brauchst.

    Suche mal nach friendlyname in den dateien.

    Ich schau später mal nach wo das war wenn du es nicht findest.

    Habe selbst 8 Relais am laufen.

    Einmal editiert, zuletzt von Gismo (7. Februar 2018 um 22:22)

  • So, gerade mal nachgesehen..

    Du musst in der Settings.ino die Einträge so ergänzen :

    SettingsDefaultSet_3_2_4();

    strlcpy(Settings.friendlyname[0], FRIENDLY_NAME"1", sizeof(Settings.friendlyname[0]));

    strlcpy(Settings.friendlyname[1], FRIENDLY_NAME"2", sizeof(Settings.friendlyname[1]));

    strlcpy(Settings.friendlyname[2], FRIENDLY_NAME"3", sizeof(Settings.friendlyname[2]));

    strlcpy(Settings.friendlyname[3], FRIENDLY_NAME"4", sizeof(Settings.friendlyname[3]));

    strlcpy(Settings.friendlyname[4], FRIENDLY_NAME"5", sizeof(Settings.friendlyname[4]));

    strlcpy(Settings.friendlyname[5], FRIENDLY_NAME"6", sizeof(Settings.friendlyname[5]));

    strlcpy(Settings.friendlyname[6], FRIENDLY_NAME"7", sizeof(Settings.friendlyname[6]));

    strlcpy(Settings.friendlyname[7], FRIENDLY_NAME"8", sizeof(Settings.friendlyname[7]));

  • Hey,

    super das Du geantwortet hast.

    Danke für deine Hilfe.

    Das hilft mir sehr.

    Magst du mir noch verraten welche Gpios du verwendest bei 8 Relais?

    Ich dachte mit 6 bin ich schon gut.

    Vielen Dank.

    LG Jonny

  • Das heißt ich könnte mit einem ESP 01 auch einen 2 Kanal Schalter realisieren, wenn ich z.B. den Unterteil eines T1 2 Kanal verwende??:/

    Gruß Robert

    Glaube ich nicht, da es Einschränkungen bei den GPIOs gibt und der ESP01 hat ja als GPIOs nur rx,tx, GPIO0 und GPIO2 an der platine anliegen

    Firmware Hochladen

    Der ESP Chip enthält einen unveränderlichen Bootloader, welcher ein Firmware-Upgrade über den seriellen Port ermöglicht. Beim Reset erwartet der Chip folgende Steuersignale:

    Firmware-Upload:

    • GPIO0 = Low
    • GPIO1 (TxD) = High durch Widerstand oder offen
    • GPIO2 = High durch Widerstand oder offen
    • GPIO15 = Low

    Normaler Start:

    • GPIO0 = High oder offen
    • GPIO1 (TxD) = High durch Widerstand oder offen
    • GPIO2 = High durch Widerstand oder offen
    • GPIO15 = Low

    Alle anderen Kombinationen an diesen vier Pins sind für das Booten über SDIO Interface (als WLAN Netzwerkadapter im PC) und für Test-Zwecke reserviert.
    Nach dem Start können diese Pins jedoch als frei programmierbare I/O Anschlüsse verwendet werden.

  • Aber ich könnte einen zweiten ESP 01 dazu packen, dann würde es ja funktionieren, oder?

    Mfg

    Robert

    Dann kannst du auch direkt ne größeren ESP8266 nehmen der mehr gpios zur vefügung stellt, ich habe es ja mit dem esp01 und dem 1 kanal touch gemacht, denke es sollte mit dem 2 kanal auch gehen, frankie hatte mir mal bilder vom 2 kanal und den platinen geschickt, sah so aus als wenn es machbar wäre, jedenfalls genug anschlüsse gesehen!

    MFg

    Sascha

  • Dann kannst du auch direkt ne größeren ESP8266 nehmen der mehr gpios zur vefügung stellt, ich habe es ja mit dem esp01 und dem 1 kanal touch gemacht, denke es sollte mit dem 2 kanal auch gehen, frankie hatte mir mal bilder vom 2 kanal und den platinen geschickt, sah so aus als wenn es machbar wäre, jedenfalls genug anschlüsse gesehen!

    MFg

    Sascha

    Ja, das ist mir schon klar, aber ich habe noch einige ESP 01 rumliegen. ;)

    Gruß

    Robert

  • Glaube ich nicht, da es Einschränkungen bei den GPIOs gibt und der ESP01 hat ja als GPIOs nur rx,tx, GPIO0 und GPIO2 an der platine anliegen

    Firmware Hochladen

    Der ESP Chip enthält einen unveränderlichen Bootloader, welcher ein Firmware-Upgrade über den seriellen Port ermöglicht. Beim Reset erwartet der Chip folgende Steuersignale:

    Firmware-Upload:

    • GPIO0 = Low
    • GPIO1 (TxD) = High durch Widerstand oder offen
    • GPIO2 = High durch Widerstand oder offen
    • GPIO15 = Low

    Normaler Start:

    • GPIO0 = High oder offen
    • GPIO1 (TxD) = High durch Widerstand oder offen
    • GPIO2 = High durch Widerstand oder offen
    • GPIO15 = Low

    Alle anderen Kombinationen an diesen vier Pins sind für das Booten über SDIO Interface (als WLAN Netzwerkadapter im PC) und für Test-Zwecke reserviert.
    Nach dem Start können diese Pins jedoch als frei programmierbare I/O Anschlüsse verwendet werden.

    Beim starten eines NodeMcu schalten manche Relais kurz ein, welche Gpio das sind weiß ich grad nicht.

    Denke das wird damit zutun haben.

    Ich löse das so, dass ich die relais erst kurz nach dem start an spannung lege.

  • Ok, und was machst du, wenn mal Stromausfall war, oder Sicherung raus, wirst die Dinger ja auch bestimmt irgendwo verbauen, dann kommen die beim wiedereinschalten nicht mehr in den Bootmodus bzw. Starten hoch wenn da alles dran hängt

    Mfg

    Sascha

  • Starten geht auch wenn alles dran hängt, bei mir zumindest. Nur schalten manche relais mal kurz.

    In planung habe ich ein anzugverzögertes relais für die relais um das zu umgehen.

    Bei kurzer Spannungsschwankung gibts keine Probleme, das wird durch das Netzteil kompensiert.

    Habe 4 nodemcu a 8 relais im Verteiler, also 32 relais.

    Wichtig ist dass man nicht den vin pin vom node für die relais verwendet sondern die spannung direkt vom netzteil holt.

  • Du musst noch was anderes ändern, dann klappt das.

    Irgendwo werden die friendly names generiert, dort musst du einfach die liste erweitern auf soviele wie du brauchst.

    Suche mal nach friendlyname in den dateien.

    Ich schau später mal nach wo das war wenn du es nicht findest.

    Habe selbst 8 Relais am laufen.

    hast du denn die acht Relais im ioBroker. Ich bekomme immer nur 4 gezeigt und 2 Switches

  • Puh, kann ich dir grad nicht sagen...ich benutze nur http befehle zum schalten über iobroker. Mqtt bzw den sonoff adapter nehme ich momentan nur für temperatur sensoren.