Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Hilfe beim Programmieren mit Arduino

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Hilfe beim Programmieren mit Arduino

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      HauptstadtRocker last edited by

      Soo ich habe es mal schnell kompiliert und das ist der Fehler.

      Er wird in Zeile 20 angezeigt:

      ~~![](</s><URL url=)<link_text text="http://forum.iobroker.net/download/file ... 2428fa57b1">http://forum.iobroker.net/download/file.php?mode=view&id=20077&sid=5c726fdb951608500e66292428fa57b1</link_text>" />

      ! ````
      Arduino: 1.8.5 (Windows Store 1.8.10.0) (Windows 10), Board: "WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)"
      ! ws2812_iobroker:20: error: no matching function for call to 'PubSubClient::PubSubClient(IPAddress&, int)'
      ! PubSubClient mqttClient(mqtt_server,1883);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:20:41: note: candidates are:
      ! In file included from C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:10:0:
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:116:4: note: PubSubClient::PubSubClient(const char*, uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&, Stream&)
      ! PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:116:4: note: candidate expects 5 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:115:4: note: PubSubClient::PubSubClient(const char*, uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&)
      ! PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:115:4: note: candidate expects 4 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:114:4: note: PubSubClient::PubSubClient(const char*, uint16_t, Client&, Stream&)
      ! PubSubClient(const char*, uint16_t, Client& client, Stream&);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:114:4: note: candidate expects 4 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:113:4: note: PubSubClient::PubSubClient(const char*, uint16_t, Client&)
      ! PubSubClient(const char*, uint16_t, Client& client);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:113:4: note: candidate expects 3 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:112:4: note: PubSubClient::PubSubClient(uint8_t*, uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&, Stream&)
      ! PubSubClient(uint8_t , uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:112:4: note: candidate expects 5 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:111:4: note: PubSubClient::PubSubClient(uint8_t
      , uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&)
      ! PubSubClient(uint8_t , uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:111:4: note: candidate expects 4 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:110:4: note: PubSubClient::PubSubClient(uint8_t
      , uint16_t, Client&, Stream&)
      ! PubSubClient(uint8_t , uint16_t, Client& client, Stream&);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:110:4: note: candidate expects 4 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:109:4: note: PubSubClient::PubSubClient(uint8_t
      , uint16_t, Client&)
      ! PubSubClient(uint8_t , uint16_t, Client& client);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:109:4: note: candidate expects 3 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:108:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, std::function<void(char
      , unsigned/char*,/int)="">, Client&, Stream&)
      ! PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:108:4: note: candidate expects 5 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:107:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&)
      ! PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:107:4: note: candidate expects 4 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:106:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, Client&, Stream&)
      ! PubSubClient(IPAddress, uint16_t, Client& client, Stream&);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:106:4: note: candidate expects 4 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:105:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, Client&)
      ! PubSubClient(IPAddress, uint16_t, Client& client);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:105:4: note: candidate expects 3 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:104:4: note: PubSubClient::PubSubClient(Client&)
      ! PubSubClient(Client& client);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:104:4: note: candidate expects 1 argument, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:103:4: note: PubSubClient::PubSubClient()
      ! PubSubClient();
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:103:4: note: candidate expects 0 arguments, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:83:7: note: PubSubClient::PubSubClient(const PubSubClient&)
      ! class PubSubClient {
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:83:7: note: candidate expects 1 argument, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:83:7: note: PubSubClient::PubSubClient(PubSubClient&&)
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:83:7: note: candidate expects 1 argument, 2 provided
      ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino: In function 'void connect_MQTT()':
      ! ws2812_iobroker:193: error: 'ip' was not declared in this scope
      ! IPAddress localAddr = ip;
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino: In function 'void setup()':
      ! ws2812_iobroker:219: error: no matching function for call to 'PubSubClient::setCallback(void (&)(uint8_t, const char*, bool))'
      ! mqttClient.setCallback(callback);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:219:34: note: candidate is:
      ! In file included from C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:10:0:
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:121:18: note: PubSubClient& PubSubClient::setCallback(std::function<void(char*, unsigned/char*,/int)="">)
      ! PubSubClient& setCallback(MQTT_CALLBACK_SIGNATURE);
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:121:18: note: no known conversion for argument 1 from 'void(uint8_t, const char*, bool) {aka void(unsigned char, const char*, bool)}' to 'std::function<void(char*, unsigned/char*,/int)="">'
      ! ws2812_iobroker:224: error: 'message_red' was not declared in this scope
      ! Null_String.toCharArray(message_red, Null_String.length()+1);
      ! ^
      ! ws2812_iobroker:22: error: invalid operands of types 'const char [3]' and 'const char [9]' to binary 'operator+'
      ! #define BASE "RGBbyESP" // <---------------!!Entsprechend f�r jeden Sensor anpassen!!
      ! ^
      ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:225:29: note: in expansion of macro 'BASE'
      ! mqttClient.subscribe("#/"+BASE+"/#");
      ! ^
      ! exit status 1
      no matching function for call to 'PubSubClient::PubSubClient(IPAddress&, int)'
      ! Dieser Bericht wäre detaillierter, wenn die Option
      "Ausführliche Ausgabe während der Kompilierung"
      in Datei -> Voreinstellungen aktiviert wäre.</void(char*,></void(char*,></void(char*,></void(char*,></void(char*,></void(char*,></void(char*,></void(char*,>

      
      PubSubClient.h ist auch vorhanden…. hmmpppfff ich verstehe nur noch Bahnhof.... auweia~~
      1 Reply Last reply Reply Quote 0
      • Thisoft
        Thisoft last edited by

        Tja, ja - ein kleiner Tippfehler bzw. vergessen umzuschreiben. Du musst die folgende Zeile:

          Null_String.toCharArray(message_red, Null_String.length()+1);
        

        durch diese ersetzen:

          Null_String.toCharArray(message_color, Null_String.length()+1);
        
        1 Reply Last reply Reply Quote 0
        • H
          HauptstadtRocker last edited by

          soo ich habe es mal geändert leider immernoch ein fehler… bzw. denke es ist der selbe

          ! ````
          Arduino: 1.8.5 (Windows Store 1.8.10.0) (Windows 10), Board: "WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)"
          ! ws2812_iobroker:21: error: no matching function for call to 'PubSubClient::PubSubClient(IPAddress&, int)'
          ! PubSubClient mqttClient(mqtt_server,1883);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:21:41: note: candidates are:
          ! In file included from C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:10:0:
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:116:4: note: PubSubClient::PubSubClient(const char*, uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&, Stream&)
          ! PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:116:4: note: candidate expects 5 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:115:4: note: PubSubClient::PubSubClient(const char*, uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&)
          ! PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:115:4: note: candidate expects 4 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:114:4: note: PubSubClient::PubSubClient(const char*, uint16_t, Client&, Stream&)
          ! PubSubClient(const char*, uint16_t, Client& client, Stream&);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:114:4: note: candidate expects 4 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:113:4: note: PubSubClient::PubSubClient(const char*, uint16_t, Client&)
          ! PubSubClient(const char*, uint16_t, Client& client);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:113:4: note: candidate expects 3 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:112:4: note: PubSubClient::PubSubClient(uint8_t*, uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&, Stream&)
          ! PubSubClient(uint8_t , uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:112:4: note: candidate expects 5 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:111:4: note: PubSubClient::PubSubClient(uint8_t
          , uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&)
          ! PubSubClient(uint8_t , uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:111:4: note: candidate expects 4 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:110:4: note: PubSubClient::PubSubClient(uint8_t
          , uint16_t, Client&, Stream&)
          ! PubSubClient(uint8_t , uint16_t, Client& client, Stream&);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:110:4: note: candidate expects 4 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:109:4: note: PubSubClient::PubSubClient(uint8_t
          , uint16_t, Client&)
          ! PubSubClient(uint8_t , uint16_t, Client& client);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:109:4: note: candidate expects 3 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:108:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, std::function<void(char
          , unsigned/char*,/int)="">, Client&, Stream&)
          ! PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:108:4: note: candidate expects 5 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:107:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&)
          ! PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:107:4: note: candidate expects 4 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:106:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, Client&, Stream&)
          ! PubSubClient(IPAddress, uint16_t, Client& client, Stream&);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:106:4: note: candidate expects 4 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:105:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, Client&)
          ! PubSubClient(IPAddress, uint16_t, Client& client);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:105:4: note: candidate expects 3 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:104:4: note: PubSubClient::PubSubClient(Client&)
          ! PubSubClient(Client& client);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:104:4: note: candidate expects 1 argument, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:103:4: note: PubSubClient::PubSubClient()
          ! PubSubClient();
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:103:4: note: candidate expects 0 arguments, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:83:7: note: PubSubClient::PubSubClient(const PubSubClient&)
          ! class PubSubClient {
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:83:7: note: candidate expects 1 argument, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:83:7: note: PubSubClient::PubSubClient(PubSubClient&&)
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:83:7: note: candidate expects 1 argument, 2 provided
          ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino: In function 'void connect_MQTT()':
          ! ws2812_iobroker:194: error: 'ip' was not declared in this scope
          ! IPAddress localAddr = ip;
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino: In function 'void setup()':
          ! ws2812_iobroker:220: error: no matching function for call to 'PubSubClient::setCallback(void (&)(uint8_t, const char*, bool))'
          ! mqttClient.setCallback(callback);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:220:34: note: candidate is:
          ! In file included from C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:10:0:
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:121:18: note: PubSubClient& PubSubClient::setCallback(std::function<void(char*, unsigned/char*,/int)="">)
          ! PubSubClient& setCallback(MQTT_CALLBACK_SIGNATURE);
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:121:18: note: no known conversion for argument 1 from 'void(uint8_t, const char*, bool) {aka void(unsigned char, const char*, bool)}' to 'std::function<void(char*, unsigned/char*,/int)="">'
          ! ws2812_iobroker:23: error: invalid operands of types 'const char [3]' and 'const char [9]' to binary 'operator+'
          ! #define BASE "RGBbyESP" // <---------------!!Entsprechend f�r jeden Sensor anpassen!!
          ! ^
          ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:226:29: note: in expansion of macro 'BASE'
          ! mqttClient.subscribe("#/"+BASE+"/#");
          ! ^
          ! exit status 1
          no matching function for call to 'PubSubClient::PubSubClient(IPAddress&, int)'
          ! Dieser Bericht wäre detaillierter, wenn die Option
          "Ausführliche Ausgabe während der Kompilierung"
          in Datei -> Voreinstellungen aktiviert wäre.</void(char*,></void(char*,></void(char*,></void(char*,></void(char*,></void(char*,></void(char*,></void(char*,>

          
          es tut mir echt leid das ich dich damit so belaste… leider kann ich es nicht alleine.... :cry:
          1 Reply Last reply Reply Quote 0
          • Thisoft
            Thisoft last edited by

            Kannst dich trösten - es ist nicht der gleiche 😉 Maßgeblich in der Fehlermeldung ist diese Zeile:

            ws2812_iobroker:194: error: 'ip' was not declared in this scope
            
                   IPAddress localAddr = ip;
            

            ersetze mal die Zeile durch:

            IPAddress localAddr = WiFi.localIP();
            

            Da bin ich mir allerdings nicht 100%ig sicher da ich immer feste IP's verwende. Falls das nicht klappt schreibe mal testweise:

            IPAddress localAddr = { 255, 255, 255,255 };
            

            btw. - hast du in der folgenden Zeile die Adresse deines MQTT-Servers eingetragen?

            //// MQTT-Settings
            IPAddress mqtt_server(192, 168, xxx, xxx); // IP-MQTT-Broker
            
            1 Reply Last reply Reply Quote 0
            • H
              HauptstadtRocker last edited by

              @Thisoft

              leider hatte ich sehr wenig Zeit das nocmal zu testen. Jetzt sitze ich seit heute morgen daran und komme nicht weiter. Ich habe immer noch einen Fehler oder sogar mehrere. Ich kann verstehen wenn du mir nicht mehr helfen willst und aufgibst. Ich bedanke mich bis hierher auf jedenfall sehr bei dir. Solltest du doch noch lust haben hier mal mein Fehler den ich noch habe:

              ! ````
              Arduino: 1.8.5 (Windows Store 1.8.10.0) (Windows 10), Board: "WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)"
              ! ws2812_iobroker:21: error: no matching function for call to 'PubSubClient::PubSubClient(IPAddress&, int)'
              ! PubSubClient mqttClient(mqtt_server,1883);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:21:41: note: candidates are:
              ! In file included from C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:10:0:
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:116:4: note: PubSubClient::PubSubClient(const char*, uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&, Stream&)
              ! PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:116:4: note: candidate expects 5 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:115:4: note: PubSubClient::PubSubClient(const char*, uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&)
              ! PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:115:4: note: candidate expects 4 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:114:4: note: PubSubClient::PubSubClient(const char*, uint16_t, Client&, Stream&)
              ! PubSubClient(const char*, uint16_t, Client& client, Stream&);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:114:4: note: candidate expects 4 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:113:4: note: PubSubClient::PubSubClient(const char*, uint16_t, Client&)
              ! PubSubClient(const char*, uint16_t, Client& client);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:113:4: note: candidate expects 3 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:112:4: note: PubSubClient::PubSubClient(uint8_t*, uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&, Stream&)
              ! PubSubClient(uint8_t , uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:112:4: note: candidate expects 5 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:111:4: note: PubSubClient::PubSubClient(uint8_t
              , uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&)
              ! PubSubClient(uint8_t , uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:111:4: note: candidate expects 4 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:110:4: note: PubSubClient::PubSubClient(uint8_t
              , uint16_t, Client&, Stream&)
              ! PubSubClient(uint8_t , uint16_t, Client& client, Stream&);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:110:4: note: candidate expects 4 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:109:4: note: PubSubClient::PubSubClient(uint8_t
              , uint16_t, Client&)
              ! PubSubClient(uint8_t , uint16_t, Client& client);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:109:4: note: candidate expects 3 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:108:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, std::function<void(char
              , unsigned/char*,/int)="">, Client&, Stream&)
              ! PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:108:4: note: candidate expects 5 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:107:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, std::function<void(char*, unsigned/char*,/int)="">, Client&)
              ! PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:107:4: note: candidate expects 4 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:106:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, Client&, Stream&)
              ! PubSubClient(IPAddress, uint16_t, Client& client, Stream&);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:106:4: note: candidate expects 4 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:105:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, Client&)
              ! PubSubClient(IPAddress, uint16_t, Client& client);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:105:4: note: candidate expects 3 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:104:4: note: PubSubClient::PubSubClient(Client&)
              ! PubSubClient(Client& client);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:104:4: note: candidate expects 1 argument, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:103:4: note: PubSubClient::PubSubClient()
              ! PubSubClient();
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:103:4: note: candidate expects 0 arguments, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:83:7: note: PubSubClient::PubSubClient(const PubSubClient&)
              ! class PubSubClient {
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:83:7: note: candidate expects 1 argument, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:83:7: note: PubSubClient::PubSubClient(PubSubClient&&)
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:83:7: note: candidate expects 1 argument, 2 provided
              ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino: In function 'void setup()':
              ! ws2812_iobroker:220: error: no matching function for call to 'PubSubClient::setCallback(void (&)(uint8_t, const char*, bool))'
              ! mqttClient.setCallback(callback);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:220:34: note: candidate is:
              ! In file included from C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:10:0:
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:121:18: note: PubSubClient& PubSubClient::setCallback(std::function<void(char*, unsigned/char*,/int)="">)
              ! PubSubClient& setCallback(MQTT_CALLBACK_SIGNATURE);
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:121:18: note: no known conversion for argument 1 from 'void(uint8_t, const char*, bool) {aka void(unsigned char, const char*, bool)}' to 'std::function<void(char*, unsigned/char*,/int)="">'
              ! ws2812_iobroker:23: error: invalid operands of types 'const char [3]' and 'const char [9]' to binary 'operator+'
              ! #define BASE "RGBbyESP" // <---------------!!Entsprechend f�r jeden Sensor anpassen!!
              ! ^
              ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:226:29: note: in expansion of macro 'BASE'
              ! mqttClient.subscribe("#/"+BASE+"/#");
              ! ^
              ! Mehrere Bibliotheken wurden für "PubSubClient.h" gefunden
              Benutzt: C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-master
              Nicht benutzt: C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-2.6
              exit status 1
              no matching function for call to 'PubSubClient::PubSubClient(IPAddress&, int)'
              ! Dieser Bericht wäre detaillierter, wenn die Option
              "Ausführliche Ausgabe während der Kompilierung"
              in Datei -> Voreinstellungen aktiviert wäre.</void(char*,></void(char*,></void(char*,></void(char*,></void(char*,></void(char*,></void(char*,></void(char*,>

              
                ` > ersetze mal die Zeile durch:
              > 
              > Code:
              > 
              > IPAddress localAddr = WiFi.localIP();
              > 
              > Da bin ich mir allerdings nicht 100%ig sicher da ich immer feste IP's verwende. Falls das nicht klappt schreibe mal testweise:
              > 
              > Code:
              > 
              > IPAddress localAddr = { 255, 255, 255,255 }; <–-- 255,255,255,0 `  
              Habe ich gemacht! keine Änderung leider
              
                ` > btw. - hast du in der folgenden Zeile die Adresse deines MQTT-Servers eingetragen?
              > 
              > Code:
              > 
              > //// MQTT-Settings
              > 
              > IPAddress mqtt_server(192, 168, xxx, xxx); // IP-MQTT-Broker `  
              Auch das heb ich eingetragen und trotzdem keine veränderung :-(
              
              Wenn Du das kompilierst geht das ohne probleme durch?
              1 Reply Last reply Reply Quote 0
              • Thisoft
                Thisoft last edited by

                Warum sollte ich dir denn nicht mehr helfen wollen? Ist doch kein Problem. KAnn nur sein dass ich zwischendurch auch mal den Überblick verliere 😉

                Jetzt mach mal noch einen Versuch indem du den kompletten Abschnitt "////MQTT-Settings" durch das Folgende ersetzt. KAnn sein dass eigentlich nur die Zeile "WiFiClient client;" gefehlt hatte…

                //// MQTT-Settings
                IPAddress mqtt_server(192, 168, xxx, xxx); // IP-MQTT-Broker
                const char* mqtt_username = "ioBroker"; // MQTT-User
                const char* mqtt_key = "iobroker"; // MQTT-Password
                WiFiClient client;
                PubSubClient mqttClient(mqtt_server,1883, client);
                

                Wenn das jetzt auch noch nicht hilft dann poste bitte wieder die Fehlermeldungen und dazu bitte den momentanen Code dass ich erstmal wieder "auf Stand" bin.

                1 Reply Last reply Reply Quote 0
                • H
                  HauptstadtRocker last edited by

                  ich bin mir nicht sicher aber ich glaube es ist schon besser aber leider noch ein fehler drin

                  ! ````
                  Arduino: 1.8.5 (Windows Store 1.8.10.0) (Windows 10), Board: "WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)"
                  ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino: In function 'void setup()':
                  ! ws2812_iobroker:220: error: no matching function for call to 'PubSubClient::setCallback(void (&)(uint8_t, const char*, bool))'
                  ! mqttClient.setCallback(callback);
                  ! ^
                  ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:220:34: note: candidate is:
                  ! In file included from C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:10:0:
                  ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-2.6\src/PubSubClient.h:121:18: note: PubSubClient& PubSubClient::setCallback(std::function<void(char*, unsigned/char*,/int)="">)
                  ! PubSubClient& setCallback(MQTT_CALLBACK_SIGNATURE);
                  ! ^
                  ! C:\Users\HauptstadtRocker\Documents\Arduino\libraries\pubsubclient-2.6\src/PubSubClient.h:121:18: note: no known conversion for argument 1 from 'void(uint8_t, const char*, bool) {aka void(unsigned char, const char*, bool)}' to 'std::function<void(char*, unsigned/char*,/int)="">'
                  ! ws2812_iobroker:23: error: invalid operands of types 'const char [3]' and 'const char [9]' to binary 'operator+'
                  ! #define BASE "RGBbyESP" // <---------------!!Entsprechend f�r jeden Sensor anpassen!!
                  ! ^
                  ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:226:29: note: in expansion of macro 'BASE'
                  ! mqttClient.subscribe("#/"+BASE+"/#");
                  ! ^
                  ! exit status 1
                  no matching function for call to 'PubSubClient::setCallback(void (&)(uint8_t, const char*, bool))'
                  ! Dieser Bericht wäre detaillierter, wenn die Option
                  "Ausführliche Ausgabe während der Kompilierung"
                  in Datei -> Voreinstellungen aktiviert wäre.</void(char*,></void(char*,>

                  
                  der dazugehörige code ist aktuell dieser hier
                  
                  >! ````
                  /**********************************************************************************
                     Code for controlling RGB Strip using Amazon Echo and NodeMCU
                     Written by Sid for Sid's E Classroom
                     https://www.youtube.com/c/SidsEClassroom
                   *********************************************************************************/
                  #include <arduino.h>
                  #include <esp8266wifi.h>
                  #include "fauxmoESP.h"
                  #include <adafruit_neopixel.h>
                  #include <pubsubclient.h>
                  >! #define WIFI_SSID "*********"//Set your Wifi name
                  #define WIFI_PASS "*********"//Set your Wifi Password
                  #define SERIAL_BAUDRATE                 115200
                  >! //// MQTT-Settings
                  IPAddress mqtt_server(192, 168, 178, 45); // IP-MQTT-Broker
                  const char* mqtt_username = "*******"; // MQTT-User
                  const char* mqtt_key = "*******"; // MQTT-Password
                  WiFiClient client;
                  PubSubClient mqttClient(mqtt_server,1883, client);
                  >! #define BASE "RGBbyESP"  // <---------------!!Entsprechend f�r jeden Sensor anpassen!!
                  #define mqtt_client_id  BASE
                  #define mqtt_topics_ip  BASE "/IP"
                  #define mqtt_topics_color  BASE "/Color"
                  >! char message_color[20];
                  ///// End MQTT-Settings
                  >! fauxmoESP fauxmo;
                  //declare switching pins
                  #define RGBCTL D7 //Change pins according to your NodeMCU/ESP pinouts
                  >! int numPixels = 41;
                  int i;
                  //-----------------------------------------------------------------------------------------------
                  //Pixel initialization for Google's Colours
                  //Divide the total number of pixels in the stip by 4 and set pixel increments starting from zero
                  //If num of Pixels is not perfectly divisible by 4, consider the nearest multiple of 4
                  //eg: 28 in case of 29,30 and 31 pixels, 32 in case of 33,34 and 35 pixels.
                  //-----------------------------------------------------------------------------------------------
                  int start1 = 0;
                  int start2 = 3;
                  int start3 = 6;
                  int start4 = 9;
                  >! // Parameter 1 = number of pixels in strip
                  // Parameter 2 = Arduino pin number (most are valid)
                  // Parameter 3 = pixel type flags, add together as needed:
                  //   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
                  //   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
                  //   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
                  //   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
                  //   NEO_RGBW    Pixels are wired for RGBW bitstream (NeoPixel RGBW products)
                  Adafruit_NeoPixel strip = Adafruit_NeoPixel(numPixels, RGBCTL,NEO_RGB + NEO_KHZ800);
                  // -----------------------------------------------------------------------------
                  // Wifi Setup
                  // -----------------------------------------------------------------------------
                  >! 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());
                    Serial.println("Nach der Verbindung mit %s, sag Alexa 'Schalte <devicename> An' oder 'Aus'");
                  }
                  // -----------------------------------------------------------------------------
                  // Device callback and printing response in serial monitor
                  // -----------------------------------------------------------------------------
                  void callback(uint8_t device_id, const char * device_name, bool state) {
                    Serial.print("Device "); Serial.print(device_name);
                    Serial.print(" state: ");
                    if (state) {
                      Serial.println("ON");
                    } else {
                      Serial.println("OFF");
                    }
                    //------------------------------------------------------------------------------
                    //Switching action on detection of device name
                    //------------------------------------------------------------------------------
                  >!   //Turns strip RED
                    if ( (strcmp(device_name, "Rot") == 0) ) {
                      if (state) {
                        i = 1;
                      }
                      else {
                        allOff();
                        i = 0;
                      }
                    }
                    //Turns strip GREEN
                    if ( (strcmp(device_name, "Grün") == 0) ) {
                      if (state) {
                        i = 2;
                      }
                      else {
                        allOff();
                        i = 0;
                      }
                    }
                    //Turns strip BLUE
                    if ( (strcmp(device_name, "Blau") == 0) ) {
                      if (state) {
                        i = 3;
                      }
                      else {
                        allOff();
                        i = 0;
                      }
                    }
                    //RAINBOW pattern on the strip
                    if ( (strcmp(device_name, "Regenbogen") == 0) ) {
                      if (state) {
                        i = 8;
                      }
                      else {
                        allOff();
                        i = 0;
                      }
                    }
                    //Turns strip WHITE
                    if ( (strcmp(device_name, "STRIPE") == 0) ) {
                      if (state) {
                        i = 4;
                      }
                      else {
                        allOff();
                        i = 0;
                      }
                    }
                    //Turns strip into Google's colours
                    if ( (strcmp(device_name, "GOOGLE LIGHTS") == 0) ) {
                      if (state) {
                        i = 9;
                      }
                      else {
                        allOff();
                        i = 0;
                      }
                    }
                    //Turns strip into Pink colours
                    if ( (strcmp(device_name, "Pink") == 0) ) {
                      if (state) {
                        i = 11;
                      }
                      else {
                        allOff();
                        i = 0;
                      }
                    }
                    //Turns strip into Pink colours
                    if ( (strcmp(device_name, "Violet") == 0) ) {
                      if (state) {
                        i = 12;
                      }
                      else {
                        allOff();
                        i = 0;
                      }
                    }    
                    //Turns strip into Pink colours
                    if ( (strcmp(device_name, "50") == 0) ) {
                      if (state) {
                        i = 13;
                      }
                      else {
                        allOff();
                        i = 0;
                      }
                    }
                  }
                  >! void connect_MQTT() {
                      Serial.print("Attempting MQTT connection...");
                      // Attempt to connect
                      if (mqttClient.connect(mqtt_client_id,mqtt_username,mqtt_key)) {
                        Serial.println("MQTT connected");
                        // IP-Adresse umwandeln und publish
                       IPAddress localAddr = (255, 255, 255, 0);
                        char s[16]; 
                        sprintf(s, "%d.%d.%d.%d", localAddr[0], localAddr[1], localAddr[2], localAddr[3]); 
                        Serial.println("MQTT publish: " + String(s));  
                        mqttClient.publish(mqtt_topics_ip,s);     
                      } else {
                        Serial.print("failed, rc=");
                        Serial.println(mqttClient.state());
                      }
                  }
                  >! void setup() {
                    //Initialize pins to Low on device start
                    pinMode(RGBCTL, OUTPUT);
                    digitalWrite(RGBCTL, LOW);
                  >!   // Init serial port and clean garbage
                    Serial.begin(SERIAL_BAUDRATE);
                    Serial.println("FauxMo demo sketch");
                  
                  >!   // Wifi
                    wifiSetup();
                  >!   //MQTT
                    mqttClient.setServer(mqtt_server, 1883);
                    mqttClient.setCallback(callback);
                    if (!mqttClient.connected()) {
                      connect_MQTT(); 
                     }
                    String Null_String = "0";
                    Null_String.toCharArray(message_color, Null_String.length()+1);
                    mqttClient.subscribe("#/"+BASE+"/#");
                    mqttClient.publish(mqtt_topics_color,message_color);
                  >!   // Device Names for RGB Patterns
                  
                    i = 0;
                    fauxmo.addDevice("Rot");
                    fauxmo.addDevice("Grün");
                    fauxmo.addDevice("Blau");
                    fauxmo.addDevice("Regenbogen");
                    fauxmo.addDevice("STRIPE");
                    fauxmo.addDevice("GOOGLE LIGHTS");
                    fauxmo.addDevice("Pink");
                    fauxmo.addDevice("Violet");
                    fauxmo.addDevice("50");
                    fauxmo.onMessage(callback);
                  
                    strip.begin();
                    strip.show();
                    strip.setBrightness(100);
                  
                  >! }
                  >! void loop() {
                    mqttClient.loop();//MQTT
                    fauxmo.handle();
                    startShow(i);
                  }
                  >! //Case for strip patterns. Add a new case or pattern if you wish
                  void startShow(int i) {
                    switch (i) {
                      case 0: colorWipe(strip.Color(0, 0, 0), 50);          // Black/Off
                        break;
                      case 1: colorWipe(strip.Color(255, 0, 0), 50);        // Red
                        break;
                      case 2: colorWipe(strip.Color(0, 255, 0), 50);        // Green
                        break;
                      case 3: colorWipe(strip.Color(0, 0, 255), 50);        // Blue
                        break;
                      case 4: colorWipe(strip.Color(255, 255, 255), 20);    // White
                        break;
                      case 5: theaterChase(strip.Color(127, 127, 127), 50); // White Chase
                        break;
                      case 6: theaterChase(strip.Color(127,   0,   0), 50); // Red Chase
                        break;
                      case 7: theaterChase(strip.Color(  0,   0, 127), 50); // Blue Chase
                        break;
                      case 8: rainbow(20);
                        break;
                      case 9: google();
                        break;
                      case 10: theaterChaseRainbow(50);
                        break;
                      case 11: colorWipe(strip.Color(  199, 21, 133), 50); // Pink
                        break;
                      case 12: colorWipe(strip.Color( 255, 0, 255), 50); // Violett
                        break;    
                      case 13: strip.setBrightness(50); // Violett
                        break;
                    }
                  }
                  >! // Fill the dots one after the other with a color
                  void colorWipe(uint32_t c, uint8_t wait) {
                    for (uint16_t i = 0; i < strip.numPixels(); i++) {
                      strip.setPixelColor(i, c);
                      strip.show();
                      delay(wait);
                    }
                  }
                  //Rainbow pattern
                  void rainbow(uint8_t wait) {
                    uint16_t i, j;
                  >!   for (j = 0; j < 256; j++) {
                      for (i = 0; i < strip.numPixels(); i++) {
                        strip.setPixelColor(i, Wheel((i + j) & 255));
                      }
                      strip.show();
                      delay(wait);
                    }
                  }
                  //Rainbow equally distributed throughout
                  void rainbowCycle(uint8_t wait) {
                    uint16_t i, j;
                  >!   for (j = 0; j < 256 * 5; j++) { // 5 cycles of all colors on wheel
                      for (i = 0; i < strip.numPixels(); i++) {
                        strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
                      }
                      strip.show();
                      delay(wait);
                    }
                  }
                  //Theatre-style crawling lights
                  void theaterChase(uint32_t c, uint8_t wait) {
                    for (int j = 0; j < 10; j++) { //do 10 cycles of chasing
                      for (int q = 0; q < 3; q++) {
                        for (int i = 0; i < strip.numPixels(); i = i + 3) {
                          strip.setPixelColor(i + q, c);  //turn every third pixel on
                        }
                        strip.show();
                  >!       delay(wait);
                  >!       for (int i = 0; i < strip.numPixels(); i = i + 3) {
                          strip.setPixelColor(i + q, 0);      //turn every third pixel off
                        }
                      }
                    }
                  }
                  //Theatre-style crawling lights with rainbow effect
                  void theaterChaseRainbow(uint8_t wait) {
                    for (int j = 0; j < 256; j++) {   // cycle all 256 colors in the wheel
                      for (int q = 0; q < 3; q++) {
                        for (int i = 0; i < strip.numPixels(); i = i + 3) {
                          strip.setPixelColor(i + q, Wheel( (i + j) % 255)); //turn every third pixel on
                        }
                        strip.show();
                  >!       delay(wait);
                  >!       for (int i = 0; i < strip.numPixels(); i = i + 3) {
                          strip.setPixelColor(i + q, 0);      //turn every third pixel off
                        }
                      }
                    }
                  }
                  //Fill strip with Google's Colour
                  void google() {
                    //Set initial couple of pixels to match Google Blue
                    for ( int i = 0; i < 0 + 10; i++ ) {
                      strip.setPixelColor(i, 66, 133, 244 );
                    }
                    //Set initial couple of pixels to match Google Red
                    // next 3 pixels = color set #2
                    for ( int i = 10; i < 10 + 10 ; i++ ) {
                      strip.setPixelColor(i, 234, 67, 53 );
                    }
                    //Set initial couple of pixels to match Google Orange
                    // next 3 pixels = color set #3
                    for ( int i = 20; i < 20 + 10; i++ ) {
                      strip.setPixelColor(i, 251, 188, 5 );
                    }
                    //Set initial couple of pixels to match Google Green
                    // last 3 pixels = color set #3
                    for ( int i = 30; i < 30 + 10; i++ ) {
                      strip.setPixelColor(i, 52, 168, 83 );
                    }
                  >!   strip.show();
                  }
                  //Turns all pixels OFF
                  void allOff() {
                    for ( int i = 0; i < numPixels; i++ ) {
                      strip.setPixelColor(i, 0, 0, 0 );
                    }
                    strip.show();
                  }
                  >! // Input a value 0 to 255 to get a color value.
                  // The colours are a transition r - g - b - back to r.
                  uint32_t Wheel(byte WheelPos) {
                    WheelPos = 255 - WheelPos;
                    if (WheelPos < 85) {
                      return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
                    }
                    if (WheelPos < 170) {
                      WheelPos -= 85;
                      return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
                    }
                    WheelPos -= 170;
                    return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
                  }</devicename></pubsubclient.h></adafruit_neopixel.h></esp8266wifi.h></arduino.h>
                  
                  1 Reply Last reply Reply Quote 0
                  • Thisoft
                    Thisoft last edited by

                    Sieht doch schon besser aus.

                    Dann lasse vorerst mal die Zeile

                    mqttClient.setCallback(callback);
                    

                    ganz raus bzw. kommentiere die aus.

                    Weiterhin anstelle der Zeile:

                    #define BASE "RGBbyESP"
                    

                    diese

                    const char* BASE = "RGBbyESP"
                    

                    Dann sollte die Sache erstmal laufen - allerdings ohne den Arduino steuern zu können…

                    1 Reply Last reply Reply Quote 0
                    • H
                      HauptstadtRocker last edited by

                      leider immernoch ein fehler…. 😮

                      ! Arduino: 1.8.5 (Windows Store 1.8.10.0) (Windows 10), Board: "WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)" ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino: In function 'void connect_MQTT()': ! ws2812_iobroker:26: error: expected ')' before string constant ! #define mqtt_topics_ip BASE "/IP" ! ^ ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:199:26: note: in expansion of macro 'mqtt_topics_ip' ! mqttClient.publish(mqtt_topics_ip,s); ! ^ ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino: In function 'void setup()': ! ws2812_iobroker:227: error: invalid operands of types 'const char [3]' and 'const char*' to binary 'operator+' ! mqttClient.subscribe("#/"+BASE+"/#"); ! ^ ! ws2812_iobroker:27: error: expected ')' before string constant ! #define mqtt_topics_color BASE "/Color" ! ^ ! C:\Users\HauptstadtRocker\Documents\Arduino\ws2812_iobroker\ws2812_iobroker.ino:228:22: note: in expansion of macro 'mqtt_topics_color' ! mqttClient.publish(mqtt_topics_color,message_color); ! ^ ! exit status 1 expected ')' before string constant ! Dieser Bericht wäre detaillierter, wenn die Option "Ausführliche Ausgabe während der Kompilierung" in Datei -> Voreinstellungen aktiviert wäre. !

                      1 Reply Last reply Reply Quote 0
                      • T
                        tedesco last edited by

                        Hallo,

                        läuft dein Programm jetzt?

                        Gruß

                        Toni

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        706
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        3
                        16
                        2723
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo