🏠 FabLab Startseite | Nutzungsbedingungen | Impressum | Wiki

Wieso funktioniert die farbfunktion mit alexa von adafruit nicht wenn ich sie mit millis() umschreibe?

Ich habe versucht, mit dem wemos d1 mini und der arduino ide ein alexa gerät zu bauen. Ich habe zunächst das Beispiel „fauxmoESP_basic“ verwendet, das in der fauxmoESP-Bibliothek enthalten ist. Ich habe dann die Adafruit-Neopixel-Bibliothek implementiert, um einige meiner ws2812b-RGB-LEDs zu steuern. Zu diesem Zeitpunkt konnte ich alle LEDs auf eine Farbe wechseln. Aber ich wollte diesen Regenbogeneffekt wie in der Beispielskizze „strandtest“ aus der Adafruit-Neopixel-Bibliothek machen.

Die funktion sieht wie folgt aus:

void theaterChaseRainbow(int wait) {
  int firstPixelHue = 0;     // First pixel starts at red (hue 0)
  for(int a=0; a<30; a++) {  // Repeat 30 times...
    for(int b=0; b<3; b++) { //  'b' counts from 0 to 2...
      strip.clear();         //   Set all pixels in RAM to 0 (off)
      // 'c' counts up from 'b' to end of strip in increments of 3...
      for(int c=b; c<strip.numPixels(); c += 3) {
        // hue of pixel 'c' is offset by an amount to make one full
        // revolution of the color wheel (range 65536) along the length
        // of the strip (strip.numPixels() steps):
        int      hue   = firstPixelHue + c * 65536L / strip.numPixels();
        uint32_t color = strip.gamma32(strip.ColorHSV(hue)); // hue -> RGB
        strip.setPixelColor(c, color); // Set pixel 'c' to value 'color'
      }
      strip.show();                // Update strip with new contents
      delay(wait);                 // Pause for a moment
      firstPixelHue += 65536 / 90; // One cycle of color wheel over 90 frames
    }
  }
}

Aber weil man keine delays verwenden kann da sonst alexa ein timeout meldet musste ich dass ganze mit millis() umschreiben. Sobald ich das getan hab is mir aufgefallen das ich keine for-loops zusammen mit millis() benutzen kann also hab ich alle for loops mit if statments umgeschrieben.

So sah das dann aus:

if(a < 30) {
    if(b < 3) {
        strip.clear();
        if(c < strip.numPixels()) {
            int hue   = firstPixelHue + c * 65536L / strip.numPixels();
            uint32_t color = strip.gamma32(strip.ColorHSV(hue));
            strip.setPixelColor(c, color);
            c += 3;
        } else {
            strip.show();
            unsigned long currentMillis = millis();
            if(currentMillis - previousMillis > 50) {
                firstPixelHue += 65536 / 90;
                b++;
                c = b;
            }
        }
    } else {
        b = 0;
        a++; 
    }
}

Es funktioniert aber nicht und gibt mir über den serial monitor folgenden error:

Exception (28):
epc1=0x4020b67e epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

>>>stack>>>

ctx: sys
sp: 3fffe8d0 end: 3fffffb0 offset: 0190
3fffea60:  00000000 00000017 3fffeb40 4020db90  
3fffea70:  3fffeb70 00000000 3fffead0 40209df5  
3fffea80:  00000001 00000000 3fffebe0 00000002  
3fffea90:  3ffe8304 00000002 3fffeb70 4020dc5a  
3fffeaa0:  3fffeb13 3ffe8644 00000000 00000000  
3fffeab0:  00000002 00000052 3f302064 3ffe8648  
3fffeac0:  00000000 3ffe8647 3fffeb70 4020e08b  
3fffead0:  00000000 ffffffff 00000000 00000000  
3fffeae0:  00000001 00000012 3f302073 00000218  
3fffeaf0:  3fff06cc 00000000 00000020 40100af0  
3fffeb00:  3fffec10 3fffec00 00000018 00000218  
3fffeb10:  00320274 0000005a 00000000 40219bec  
3fffeb20:  646e6569 614e796c 00000000 4020ff85  
3fffeb30:  3fffeca0 3fffec70 00000010 3ffe8304  
3fffeb40:  00000001 00000009 00000001 4021441d  
3fffeb50:  00000000 0000197b 00000000 3fffed30  
3fffeb60:  3ffee654 3ffe8304 00000040 4020b5a9  
3fffeb70:  3fffec32 00000000 0000002d ffff0208  
3fffeb80:  3fffec20 0000003f e9ba5e35 00000000  
3fffeb90:  00000000 00000000 4bc6a7f0 00000000  
3fffeba0:  0000004f 0000004f 40100318 0007e49e  
3fffebb0:  00000000 3fff0804 3fffece0 3fff06cc  
3fffebc0:  092057be 3fff0804 0000004f 40203e6d  
3fffebd0:  3fffece0 00000000 0000005a 3fffeca0  
3fffebe0:  3ffe879d 00000008 00000000 4020b5ec  
3fffebf0:  3fffeca0 3fffec70 00000008 40203ea8  
3fffec00:  4022be8e 3fff0804 00000000 40203ee8  
3fffec10:  3fffece0 0000004f 00000020 40204b64  
3fffec20:  49414d5b 44205d4e 63697665 32232065  
3fffec30:  50542820 312e312f 30303220 0d4b4f20  
3fffec40:  6e6f430a 746e6574 7079542d 74203a65  
3fffec50:  2f747865 0d6c6d78 6e6f430a 746e6574  
3fffec60:  3fffeca0 3fffec70 00000008 6e6f430a  
3fffec70:  7463656e 3a6e6f69 00000002 00000000  
3fffec80:  3ffe862c 00000001 3ffef1fc 4020b660  
3fffec90:  3ffe8633 3fff0804 3fffec70 3fffeca0  
3fffeca0:  00000068 3ffe87a4 4023e9ae 3fffed30  
3fffecb0:  3ffef87c 00000001 00000000 40201109  
3fffecc0:  00000010 3fffece0 3ffee5ac 402034f4  
3fffecd0:  00000001 402404fd 3fffed80 40205106  
3fffece0:  73227b5b 65636375 3a227373 6c2f227b  
3fffecf0:  74686769 2f332f73 74617473 6e6f2f65  
3fffed00:  72743a22 7d7d6575 73227b2c 65636375  
3fffed10:  3a227373 6c2f227b 74686769 2f332f73  
3fffed20:  74617473 72622f65 313a2269 005d7d7d  
3fffed30:  00007fff 0000000b 3fffed80 4020523c  
3fffed40:  736c6100 00650065 80006570 402053b4  
3fffed50:  00000002 3fff0804 3fffed30 4023e95d  
3fffed60:  3fffedd0 3fffeddc 3ffee5ac 3fffeddc  
3fffed70:  3fffedd0 3fff0804 3ffee5ac 402035c4  
3fffed80:  3fff07d4 000b000f 00ffedd0 3fff078c  
3fffed90:  003c003f 0000009e 0000009e 4010081c  
3fffeda0:  00000000 00000001 3fffedd0 4020523c  
3fffedb0:  3ffee5ac 3fffedd0 3fff09d6 3fff0804  
3fffedc0:  3ffee5ac 3fff0936 3fff09d6 40203684  
3fffedd0:  3fff04ec 000b000f 00c6a7f0 3ffeeef4  
3fffede0:  003c003f 00000000 40100318 0007e49d  
3fffedf0:  00000009 3fff0804 3fff04ec 40219c0c  
3fffee00:  0920567d 3fff0804 00000000 3fff08ec  
3fffee10:  00000000 3fffee60 3fff0804 402036c9  
3fffee20:  00000000 3fffee60 3fff0804 40204126  
3fffee30:  3fff06cc 3fff0804 3fff06cc 3ffeea8c  
3fffee40:  3fff007d 00000000 00000020 3fff06cc  
3fffee50:  3fff08ec 00000000 3fff0804 402042ce  
3fffee60:  3ffeef44 3fff0504 00000000 3ffeea8c  
3fffee70:  3ffeec30 3ffeece0 3fff08ec 3ffeea8c  
3fffee80:  3fff06cc 3ffeea70 3ffeea71 402132b4  
3fffee90:  00001ba0 00000000 00000020 40100af0  
3fffeea0:  3ffeec30 59b2a8c0 3ffee780 3ffef40c  
3fffeeb0:  00000000 00000000 00000020 3ffeece0  
3fffeec0:  3ffeec30 3fff090a 3fff08ec 40218e92  
3fffeed0:  00000014 3ffeec30 000000e5 3ffef40c  
3fffeee0:  00000000 3ffef36c 00000020 40100abb  
3fffeef0:  4022b0b8 3fff04ec 3ffef36c 3ffef40c  
3fffef00:  00000008 3ffeec30 3fff08ec 4020fea5  
3fffef10:  3fffdc80 3ffef36c 3fff04ec 4020fcc4  
3fffef20:  4022fdce 3ffef36c 3fff04ec 4022fddf  
3fffef30:  3fff08fc 3fff08ec 00000000 3ffe84f4  
3fffef40:  4022ace3 00000000 3fff04ec 40231a7b  
3fffef50:  40000f49 3fffdab0 3fffdab0 40000f49  
3fffef60:  40000e19 00000005 0004851c 00000000  
3fffef70:  00000000 ffffffff ffffffff 40104a55  
3fffef80:  40104a5b 0004851c 00000000 65736965  
3fffef90:  4010000d 52007474 7365746f 74654220  
3fffefa0:  00000000 3fffef3c 00000000 3ffffec8  
3fffefb0:  3fffffc0 00000000 00000000 feefeffe  
3fffefc0:  feefeffe feefeffe feefeffe feefeffe  
3fffefd0:  feefeffe feefeffe feefeffe feefeffe  
3fffefe0:  feefeffe feefeffe feefeffe feefeffe  
3fffeff0:  feefeffe feefeffe feefeffe feefeffe  
3ffff000:  feefeffe feefeffe feefeffe feefeffe  
3ffff010:  feefeffe feefeffe feefeffe feefeffe  
3ffff020:  feefeffe feefeffe feefeffe feefeffe  
3ffff030:  feefeffe feefeffe feefeffe feefeffe  
3ffff040:  feefeffe feefeffe feefeffe feefeffe  
3ffff050:  feefeffe feefeffe feefeffe feefeffe  
3ffff060:  feefeffe feefeffe feefeffe feefeffe  
3ffff070:  feefeffe feefeffe feefeffe feefeffe  
3ffff080:  feefeffe feefeffe feefeffe feefeffe  
3ffff090:  feefeffe feefeffe feefeffe feefeffe  
3ffff0a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff0b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff0c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff0d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff0e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff0f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff100:  feefeffe feefeffe feefeffe feefeffe  
3ffff110:  feefeffe feefeffe feefeffe feefeffe  
3ffff120:  feefeffe feefeffe feefeffe feefeffe  
3ffff130:  feefeffe feefeffe feefeffe feefeffe  
3ffff140:  feefeffe feefeffe feefeffe feefeffe  
3ffff150:  feefeffe feefeffe feefeffe feefeffe  
3ffff160:  feefeffe feefeffe feefeffe feefeffe  
3ffff170:  feefeffe feefeffe feefeffe feefeffe  
3ffff180:  feefeffe feefeffe feefeffe feefeffe  
3ffff190:  feefeffe feefeffe feefeffe feefeffe  
3ffff1a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff1b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff1c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff1d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff1e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff1f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff200:  feefeffe feefeffe feefeffe feefeffe  
3ffff210:  feefeffe feefeffe feefeffe feefeffe  
3ffff220:  feefeffe feefeffe feefeffe feefeffe  
3ffff230:  feefeffe feefeffe feefeffe feefeffe  
3ffff240:  feefeffe feefeffe feefeffe feefeffe  
3ffff250:  feefeffe feefeffe feefeffe feefeffe  
3ffff260:  feefeffe feefeffe feefeffe feefeffe  
3ffff270:  feefeffe feefeffe feefeffe feefeffe  
3ffff280:  feefeffe feefeffe feefeffe feefeffe  
3ffff290:  feefeffe feefeffe feefeffe feefeffe  
3ffff2a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff2b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff2c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff2d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff2e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff2f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff300:  feefeffe feefeffe feefeffe feefeffe  
3ffff310:  feefeffe feefeffe feefeffe feefeffe  
3ffff320:  feefeffe feefeffe feefeffe feefeffe  
3ffff330:  feefeffe feefeffe feefeffe feefeffe  
3ffff340:  feefeffe feefeffe feefeffe feefeffe  
3ffff350:  feefeffe feefeffe feefeffe feefeffe  
3ffff360:  feefeffe feefeffe feefeffe feefeffe  
3ffff370:  feefeffe feefeffe feefeffe feefeffe  
3ffff380:  feefeffe feefeffe feefeffe feefeffe  
3ffff390:  feefeffe feefeffe feefeffe feefeffe  
3ffff3a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff3b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff3c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff3d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff3e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff3f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff400:  feefeffe feefeffe feefeffe feefeffe  
3ffff410:  feefeffe feefeffe feefeffe feefeffe  
3ffff420:  feefeffe feefeffe feefeffe feefeffe  
3ffff430:  feefeffe feefeffe feefeffe feefeffe  
3ffff440:  feefeffe feefeffe feefeffe feefeffe  
3ffff450:  feefeffe feefeffe feefeffe feefeffe  
3ffff460:  feefeffe feefeffe feefeffe feefeffe  
3ffff470:  feefeffe feefeffe feefeffe feefeffe  
3ffff480:  feefeffe feefeffe feefeffe feefeffe  
3ffff490:  feefeffe feefeffe feefeffe feefeffe  
3ffff4a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff4b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff4c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff4d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff4e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff4f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff500:  feefeffe feefeffe feefeffe feefeffe  
3ffff510:  feefeffe feefeffe feefeffe feefeffe  
3ffff520:  feefeffe feefeffe feefeffe feefeffe  
3ffff530:  feefeffe feefeffe feefeffe feefeffe  
3ffff540:  feefeffe feefeffe feefeffe feefeffe  
3ffff550:  feefeffe feefeffe feefeffe feefeffe  
3ffff560:  feefeffe feefeffe feefeffe feefeffe  
3ffff570:  feefeffe feefeffe feefeffe feefeffe  
3ffff580:  feefeffe feefeffe feefeffe feefeffe  
3ffff590:  feefeffe feefeffe feefeffe feefeffe  
3ffff5a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff5b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff5c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff5d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff5e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff5f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff600:  feefeffe feefeffe feefeffe feefeffe  
3ffff610:  feefeffe feefeffe feefeffe feefeffe  
3ffff620:  feefeffe feefeffe feefeffe feefeffe  
3ffff630:  feefeffe feefeffe feefeffe feefeffe  
3ffff640:  feefeffe feefeffe feefeffe feefeffe  
3ffff650:  feefeffe feefeffe feefeffe feefeffe  
3ffff660:  feefeffe feefeffe feefeffe feefeffe  
3ffff670:  feefeffe feefeffe feefeffe feefeffe  
3ffff680:  feefeffe feefeffe feefeffe feefeffe  
3ffff690:  feefeffe feefeffe feefeffe feefeffe  
3ffff6a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff6b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff6c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff6d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff6e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff6f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff700:  feefeffe feefeffe feefeffe feefeffe  
3ffff710:  feefeffe feefeffe feefeffe feefeffe  
3ffff720:  feefeffe feefeffe feefeffe feefeffe  
3ffff730:  feefeffe feefeffe feefeffe feefeffe  
3ffff740:  feefeffe feefeffe feefeffe feefeffe  
3ffff750:  feefeffe feefeffe feefeffe feefeffe  
3ffff760:  feefeffe feefeffe feefeffe feefeffe  
3ffff770:  feefeffe feefeffe feefeffe feefeffe  
3ffff780:  feefeffe feefeffe feefeffe feefeffe  
3ffff790:  feefeffe feefeffe feefeffe feefeffe  
3ffff7a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff7b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff7c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff7d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff7e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff7f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff800:  feefeffe feefeffe feefeffe feefeffe  
3ffff810:  feefeffe feefeffe feefeffe feefeffe  
3ffff820:  feefeffe feefeffe feefeffe feefeffe  
3ffff830:  feefeffe feefeffe feefeffe feefeffe  
3ffff840:  feefeffe feefeffe feefeffe feefeffe  
3ffff850:  feefeffe feefeffe feefeffe feefeffe  
3ffff860:  00000005 00000000 00000020 40100220  
3ffff870:  feefeffe feefeffe 00000005 401016a4  
3ffff880:  3ffe8c75 4010494f 3ffec700 feefeffe  
3ffff890:  4010223b 3ffec700 feefeffe feefeffe  
3ffff8a0:  00000005 00000000 00000020 40100220  
3ffff8b0:  3ffe9508 00000000 00000005 401016a4  
3ffff8c0:  3ffe8c75 4010494f 3ffec700 00000100  
3ffff8d0:  4010223b 3ffec700 00000000 00000001  
3ffff8e0:  0000000a 14011d26 3ffed0d0 40102418  
3ffff8f0:  3ffe94fc 00000000 00000000 131cf478  
3ffff900:  0000000a 14011d26 401028da 00000100  
3ffff910:  3ffe94fc 7fffffff 00000000 00000001  
3ffff920:  00000001 00006208 0000001f ffffffff  
3ffff930:  3ffe94fc 00000001 0000a000 14011d26  
3ffff940:  3ffe9508 2c9f0300 4000050c 3fffc278  
3ffff950:  401025fc 3fffc200 00000022 a0000000  
3ffff960:  00000005 00000000 00000020 40100220  
3ffff970:  4020dc5a 3fffffff 00000005 401016a4  
3ffff980:  3ffe8c75 4010494f 3ffec700 0000000b  
3ffff990:  4010223b 3ffec700 00000002 3ffffc9c  
3ffff9a0:  0000000b 1a604e13 3ffed0d0 40102418  
3ffff9b0:  3ffe9514 00000000 00000000 ffffffff  
3ffff9c0:  0000000b 1a604e13 401028da 00000100  
3ffff9d0:  3ffe9514 7fffffff 00000000 00000001  
3ffff9e0:  00000001 00006208 00000014 40100220  
3ffff9f0:  3ffe9514 3ffec408 00000001 1a604e13  
3ffffa00:  3ffe9520 2c9f0300 4000050c 3fffc278  
3ffffa10:  401025fc 3fffc200 00000022 00000000  
3ffffa20:  00000008 00000000 0000000a 00000000  
3ffffa30:  00000008 00000000 4022be3f 00000001  
3ffffa40:  00000001 00000000 00000014 40100220  
3ffffa50:  4022be8e 3ffec408 00000001 4022f9b7  
3ffffa60:  4022bf72 3ffec408 401017df 3ffec408  
3ffffa70:  00000014 00000020 00000008 3fff0b0c  
3ffffa80:  4022af00 3ffec408 3ffecb80 00000020  
3ffffa90:  00000000 4021e4fb 3ffed898 3ffefc8c  
3ffffaa0:  00000000 00000002 00000000 3ffec408  
3ffffab0:  3fff0b26 40104f9f 3ffef1fc 3ffee848  
3ffffac0:  3ffef36c 3ffec6d8 3ffef1fc 4020db90  
3ffffad0:  3ffffbd0 4020f885 3ffef1fc 3ffee848  
3ffffae0:  0000000c 00000000 00000000 00000015  
3ffffaf0:  00000000 00000015 3ffffbd0 00000000  
3ffffb00:  3ffeec68 3ffeec30 3fff0ae4 4020fb12  
3ffffb10:  00000001 3ffeec30 3fff0ae4 4020ff30  
3ffffb20:  3ffeeac4 4023e581 3ffffbd0 4020de44  
3ffffb30:  00000000 0000000c 00000000 3ffeeac8  
3ffffb40:  3ffeec68 00000000 3ffeec30 402175a0  
3ffffb50:  40205957 00000030 00000000 ffffffff  
3ffffb60:  00000000 3fff0ae4 3ffffc9c 3ffffc90  
3ffffb70:  00303831 00ff5800 3ffe887d 3fff0ae4  
3ffffb80:  3fff0ae4 3ffeef70 3ffeec30 402177f4  
3ffffb90:  3fff0000 3ffffc90 00000030 3ffe8304  
3ffffba0:  3fff0b34 3ffeef70 3ffeec30 402190f4  
3ffffbb0:  00000014 3ffeec34 00000000 3fffff10  
3ffffbc0:  00000000 00000000 00000020 40100220  
3ffffbd0:  00000011 3ffeebb8 00000000 401016a4  
3ffffbe0:  3ffe8c70 40104937 3ffec520 3fff0ae4  
3ffffbf0:  00000001 40103b12 3ffecdf0 4021918a  
3ffffc00:  40103f83 00000000 00000000 40219cf7  
3ffffc10:  00000000 00000000 00000020 40100220  
3ffffc20:  00000000 00000000 00000020 40100220  
3ffffc30:  00000000 00000000 00000000 401016a4  
3ffffc40:  3ffe8c70 40104937 3ffec520 401016a4  
3ffffc50:  00000001 40103b12 3ffecdf0 4010081c  
3ffffc60:  40103f83 2c9f0300 4000050c 3fffc278  
3ffffc70:  401025fc 3fffc200 00000022 00040000  
3ffffc80:  40103a4b 00000040 00000000 00040000  
3ffffc90:  00000000 00000000 8020f73d 8020f73d  
3ffffca0:  40102914 00080000 ff000000 000a0d0a  
3ffffcb0:  322e3535 00000000 00000002 3fffff34  
3ffffcc0:  00000110 2c9f0300 4000050c 3fffc278  
3ffffcd0:  401025fc 3fffc200 00000022 3fffc278  
3ffffce0:  4020502d 00000030 00000010 ffffffff  
3ffffcf0:  00001ad0 3fffff34 00000080 00000080  
3ffffd00:  00000080 0000000a 0000000d 00000000  
3ffffd10:  3ffee80c 00000110 00000020 40100af0  
3ffffd20:  3fffff34 3fffff10 3fffff10 00000030  
3ffffd30:  00000005 00000000 00000020 40100220  
3ffffd40:  00000005 00000000 00000020 40100220  
3ffffd50:  00000005 00000000 00000005 401016a4  
3ffffd60:  3ffe8c75 4010494f 3ffec700 401016a4  
3ffffd70:  4010223b 3ffec700 3ffec700 3ffecdf0  
3ffffd80:  00007fff 1ed503dd 3ffed0d0 40102418  
3ffffd90:  3ffe952c 00000000 00000000 40102418  
3ffffda0:  00007fff 1ed503dd 401028da 00000100  
3ffffdb0:  3ffe952c 7fffffff 00002200 00000001  
3ffffdc0:  00000001 00004288 00000000 00000001  
3ffffdd0:  3ffe952c 00004288 3ffecdf0 1ed503dd  
3ffffde0:  3ffe94f0 2c9f0300 4000050c 3fffc278  
3ffffdf0:  401025fc 3fffc200 00000022 3fffc278  
3ffffe00:  40202c19 00000030 0000001b ffffffff  
3ffffe10:  40202c08 00003e80 000000c6 43b300f8  
3ffffe20:  00000000 00000000 00000000 fffffffe  
3ffffe30:  ffffffff 3fffc6fc 00000001 00000000  
3ffffe40:  3ffee5cc 3fffdad0 3fffff10 00000030  
3ffffe50:  00000000 3fffdad0 3ffee780 00000030  
3ffffe60:  40207431 2c9f0300 4000050c 3fffc278  
3ffffe70:  401025fc 3fffc200 00000022 43a3a23f  
3ffffe80:  40000f83 00000030 0000001c ffffffff  
3ffffe90:  40000ea3 00000023 00000001 00000001  
3ffffea0:  3fffdab0 00000000 3fffd9d0 3ffee780  
3ffffeb0:  00000000 00000000 00000001 00000020  
3ffffec0:  00000000 3fffdad0 3ffee780 00000030  
3ffffed0:  00000000 00000000 00000000 fffffffe  
3ffffee0:  ffffffff 3fffc6fc 00000001 3ffee740  
3ffffef0:  00000000 3ffee5cc 00000000 40202c08  
3fffff00:  00000000 3ffee5ac 3ffee740 40203b20  
3fffff10:  45532d00 48435241 80000000 40100abb  
3fffff20:  3fffdad0 40201031 3fff0400 000d000f  
3fffff30:  80ffdad0 3fff0800 010b010f 8020f73d  
3fffff40:  3ffee5cc 3ffeeebc 00000001 4020103f  
3fffff50:  3ffef854 00000000 3ffee5ac 3ffee780  
3fffff60:  00f42400 43b306cb 3ffee700 40203bf5  
3fffff70:  00000000 00000000 00000000 40201477  
3fffff80:  00000000 00000000 00000001 40100220  
3fffff90:  3fffdad0 00000000 3ffee740 40100241  
3fffffa0:  3fffdad0 00000000 3ffee740 40205eed  
<<<stack<<<

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3456, room 16 
tail 0
chksum 0x84
csum 0x84
va5432625
~ld

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3456, room 16 
tail 0
chksum 0x84
csum 0x84
va5432625
~ld

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3456, room 16 
tail 0
chksum 0x84
csum 0x84
va5432625
~ld

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3456, room 16 
tail 0
chksum 0x84
csum 0x84
va5432625
~ld

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3456, room 16 
tail 0
chksum 0x84
csum 0x84
va5432625
~ld

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3456, room 16 
tail 0
chksum 0x84
csum 0x84
va5432625
~ld

Keine ahnung warum es nicht funktioniert. Ich hoffe jemand kann mir helfen.
Für besseres verständniss ist hier nochmal mein ganzer Arduino Sketch:

#include <Arduino.h>
#include <Adafruit_NeoPixel.h>
#ifdef ESP32
    #include <WiFi.h>
#else
    #include <ESP8266WiFi.h>
#endif
#include "fauxmoESP.h"

// Rename the credentials.sample.h file to credentials.h and 
// edit it according to your router configuration
#include "credentials.h"

fauxmoESP fauxmo;

// -----------------------------------------------------------------------------

#define SERIAL_BAUDRATE     115200

#define LED_PIN    D1
#define LED_COUNT 194

// -----------------------------------------------------------------------------
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
// -----------------------------------------------------------------------------
// Wifi
// -----------------------------------------------------------------------------

int rb = 0;
int rt = 0;
long previousMillis = 0;
long firstPixelHue = 0;
int i = 0;
int a = 0;
int b = 0;
int c = 0;
int hue = 0;
uint32_t color;

void wifiSetup() {

    // Set WIFI module to STA mode
    WiFi.mode(WIFI_STA);

    // Connect
    Serial.printf("[WIFI] Connecting to %s ", WIFI_SSID);
    WiFi.begin(WIFI_SSID, WIFI_PASS);

    // Wait
    while (WiFi.status() != WL_CONNECTED) {
        Serial.print(".");
        delay(100);
    }
    Serial.println();

    // Connected!
    Serial.printf("[WIFI] STATION Mode, SSID: %s, IP address: %s\n", WiFi.SSID().c_str(), WiFi.localIP().toString().c_str());

}

void setup() {

    // Init serial port and clean garbage
    Serial.begin(SERIAL_BAUDRATE);
    Serial.println();
    Serial.println();

    // LEDs
    strip.begin();
    strip.show();
    strip.setBrightness(150);

    // Wifi
    wifiSetup();

    // By default, fauxmoESP creates it's own webserver on the defined port
    // The TCP port must be 80 for gen3 devices (default is 1901)
    // This has to be done before the call to enable()
    fauxmo.createServer(true); // not needed, this is the default value
    fauxmo.setPort(80); // This is required for gen3 devices

    // You have to call enable(true) once you have a WiFi connection
    // You can enable or disable the library at any moment
    // Disabling it will prevent the devices from being discovered and switched
    fauxmo.enable(true);

    // You can use different ways to invoke alexa to modify the devices state:
    // "Alexa, turn yellow lamp on"
    // "Alexa, turn on yellow lamp
    // "Alexa, set yellow lamp to fifty" (50 means 50% of brightness, note, this example does not use this functionality)

    // Add virtual devices
    // fauxmo.addDevice("Bett");
    // fauxmo.addDevice("Weises Bett");
    // fauxmo.addDevice("Rotes Bett");
    // fauxmo.addDevice("Blaues Bett");
    // fauxmo.addDevice("Grünes Bett");
    // fauxmo.addDevice("Gelbes Bett");
    // fauxmo.addDevice("Rosa Bett");
    // fauxmo.addDevice("Türkis Bett");
    // fauxmo.addDevice("Oranges Bett");
    // fauxmo.addDevice("Hellblaues Bett");
    // fauxmo.addDevice("Hellgrünes Bett");
    // fauxmo.addDevice("Hellrotes Bett");
    fauxmo.addDevice("Regenbogenmodus");
    fauxmo.addDevice("Regenbogenreihe");

    fauxmo.onSetState([](unsigned char device_id, const char * device_name, bool state, unsigned char value) {
        
        // Callback when a command from Alexa is received. 
        // You can use device_id or device_name to choose the element to perform an action onto (relay, LED,...)
        // State is a boolean (ON/OFF) and value a number from 0 to 255 (if you say "set kitchen light to 50%" you will receive a 128 here).
        // Just remember not to delay too much here, this is a callback, exit as soon as possible.
        // If you have to do something more involved here set a flag and process it in your main loop.
        
        Serial.printf("[MAIN] Device #%d (%s) state: %s value: %d\n", device_id, device_name, state ? "ON" : "OFF", value);

        // Checking for device_id is simpler if you are certain about the order they are loaded and it does not change.
        // Otherwise comparing the device_name is safer.

        if (strcmp(device_name, "Bett")==0) {
          if(state) {
            strip.fill(strip.Color(255, 255, 255), 0, LED_COUNT);
          } else {
            strip.fill(strip.Color(0, 0, 0), 0, LED_COUNT);
          }
          strip.show();
        } else if (strcmp(device_name, "Weises Bett")==0) {
            strip.fill(strip.Color(255, 255, 255), 0, LED_COUNT);
            strip.show();
        } else if (strcmp(device_name, "Rotes Bett")==0) {
            strip.fill(strip.Color(255, 0, 0), 0, LED_COUNT);
            strip.show();
        } else if (strcmp(device_name, "Blaues Bett")==0) {
            strip.fill(strip.Color(0, 0, 255), 0, LED_COUNT);
            strip.show();
        } else if (strcmp(device_name, "Grünes Bett")==0) {
            strip.fill(strip.Color(0, 255, 0), 0, LED_COUNT);
            strip.show();
        } else if (strcmp(device_name, "Gelbes Bett")==0) {
            strip.fill(strip.Color(255, 255, 0), 0, LED_COUNT);
            strip.show();
        } else if (strcmp(device_name, "Türkis Bett")==0) {
            strip.fill(strip.Color(0, 255, 255), 0, LED_COUNT);
            strip.show();
        } else if (strcmp(device_name, "Rosa Bett")==0) {
            strip.fill(strip.Color(255, 0, 255), 0, LED_COUNT);
            strip.show();
        } else if (strcmp(device_name, "Hellblaues Bett")==0) {
            strip.fill(strip.Color(0, 200, 255), 0, LED_COUNT);
            strip.show();
        } else if (strcmp(device_name, "Hellgrünes Bett")==0) {
            strip.fill(strip.Color(110, 255, 110), 0, LED_COUNT);
            strip.show();
        } else if (strcmp(device_name, "Hellrotes Bett")==0) {
            strip.fill(strip.Color(255, 80, 80), 0, LED_COUNT);
            strip.show();
        } else if (strcmp(device_name, "Regenbogenmodus")==0) {
          if(state) {
            firstPixelHue = 0;
            previousMillis = 0;
            int pixelHue = 0;
            i = 0;
            rt = 0;
            rb = 1;
          } else {
            rb = 0;
            strip.fill(strip.Color(0, 0, 0), 0, LED_COUNT);
            strip.show();
          }
        } else if (strcmp(device_name, "Regenbogenreihe")==0) {
          if(state) {
            firstPixelHue = 0;
            previousMillis = 0;
            a = 0;
            b = 0;
            c = 0;
            hue = 0;
            uint32_t color = 0;
            rb = 0;
            rt = 1;
          } else {
            rt = 0;
            strip.fill(strip.Color(0, 0, 0), 0, LED_COUNT);
            strip.show();
          }
        }


    });

}

void loop() {

    // fauxmoESP uses an async TCP server but a sync UDP server
    // Therefore, we have to manually poll for UDP packets
    fauxmo.handle();
    if(rb == 1) {
      unsigned long currentMillis = millis();
      if(currentMillis - previousMillis > 10) {
        previousMillis = currentMillis;
        if(firstPixelHue < 5*65536) {
          if(i < strip.numPixels()) {
            int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels());
            strip.setPixelColor(i, strip.gamma32(strip.ColorHSV(pixelHue)));
            i++;
          }
          strip.show();
          firstPixelHue += 256;
        }
      }
    }
    if(rt == 1) {
      if(a < 30) {
        if(b < 3) {
          strip.clear();
          if(c < strip.numPixels()) {
            int hue   = firstPixelHue + c * 65536L / strip.numPixels();
            uint32_t color = strip.gamma32(strip.ColorHSV(hue));
            strip.setPixelColor(c, color);
            c += 3;
          } else {
            strip.show();
            unsigned long currentMillis = millis();
            if(currentMillis - previousMillis > 50) {
              firstPixelHue += 65536 / 90;
              b++;
              c = b;
            }
          }
        } else {
          b = 0;
          a++; 
        }
      }
    }
    // This is a sample code to output free heap every 5 seconds
    // This is a cheap way to detect memory leaks
    
    
    // If your device state is changed by any other means (MQTT, physical button,...)
    // you can instruct the library to report the new state to Alexa on next request:
    // fauxmo.setState(ID_YELLOW, true, 255);

}

oder hier --> https://pastebin.com/VmFxVbqS
Hoffe jemand kann mir helfen. :grin:

Hallo, ich habe 2 Anmerkungen.
Bei mir spinnt Alexa leider immer nach einem Tag wenn ich die Libary nutze und erkennt die Geräte nicht mehr, wenn ich die Hardware von Alexa nicht zurücksetzen.

Zum anderen: du triggerst den internen Watchdog, das ist eine Funktion, welche den Microcontroller resetter, wenn er sich aufgehängt hat. Du musst ein yield() einfügen. Damit er sich nicht resettet. Den Rest habe ich mir nicht genauer angeschaut, aber wenn du weitere Probleme hast oder Fragen zu dem was ich geschrieben habe melde dich gerne.

1 „Gefällt mir“