Sketch funktioniert nicht Fehlermeldung

Hallo

Mein Name ist Peter, ich bin neu hier und habe noch keine große Erfahrung mit Arduino

Ich hätte eine Frage, ich hoffe ich bin im richtigen Bereich und man kann mir helfen

Ich habe mir eine Wortuhr gebaut aus dem Microcontroller Forum

Die Sketche wurden zur Verfügung gestellt.

Bei der Installation von Blink hatte ich schon Probleme (ich hatte die Bibliotheken vergessen)

Ich bin noch beim Lernen, aber das funktioniert jetzt einwandfrei.

Der Sketch CWC bringt immer eine Fehlermeldung und ich habe schon Stunden im Internet verbracht und vieles probiert, ich bringe es nicht zum laufen

Es wäre super wenn mich jemand unterstützen könnte

Die Fehlermeldung ist:

exit status 1

´class fauxmoESP´ has not member named ´onSetState´

Hier der Sketch
Gruß Peter

#include <fauxmoESP.h>

#include <Arduino.h>
#include <functional>
#include "WifiControl.h"
#include "BrowserGui.h"
#include "DnsControl.h"
#include "LedControl.h"
#include "Timecontrol.h"
#include "CallbackFunction.h"
#include "AmbientLightControl.h"
#include "Storage.h"
#include <FastLED.h>
#include <fauxmoESP.h>

#define RETRY_TIME 10*60*1000 //10 minutes in milliseconds
#define CWC_VERSION 1.1

bool ClockOn = true;
//if alexa received an order to switch the state
bool SwitchClockState = false;

static TimeControl& timecontrol = TimeControl::getInstance();
static WifiControl& wificontrol = WifiControl::getInstance();
static BrowserGui& browsergui = BrowserGui::getInstance();
static DnsControl& dnscontrol = DnsControl::getInstance();
static LedControl& ledcontrol = LedControl::getInstance();
static AmbientLightControl& ambcontrol = AmbientLightControl::getInstance();
static fauxmoESP fauxmo;
static long lastTry = 0;

/* indicator, if one time has passed, then update leds */
uint8_t last_minutes = 0;
uint8_t last_hours = 0;
uint8_t last_seconds = 0;

void setup()
{
  Serial.begin(115200);
  Serial.println("");
  Serial.print("CWC Version: ");
  Serial.println(CWC_VERSION);

  storageInit();
  ambcontrol.start();
  ledcontrol.start();
  if (!wificontrol.connectWifi())
  {
    if (!wificontrol.connectWifi())
  {
    Serial.println("Save retry time");
    lastTry = millis();
  }
  }

  browsergui.start();
  timecontrol.start();
  dnscontrol.start();

  fauxmo.addDevice("Uhr");
  fauxmo.onSetState([](unsigned char device_id, const char * device_name, bool state)
  {
    if (state)
    {
      ClockOn = true;
    }
    else
    {
      ClockOn = false;
    }
    SwitchClockState = true;
  });

  fauxmo.onGetState([](unsigned char device_id, const char * device_name)
  {
    return ClockOn;
  });

  fauxmo.enable(true);
}

void loop()
{
  uint8_t hours = 0;
  uint8_t minutes = 0;
  uint8_t seconds = 0;

  browsergui.serverLoop();
  dnscontrol.serverLoop();
  fauxmo.handle();
  if (wificontrol.isWifiConnected())
  {
    timecontrol.getTime(&hours, &minutes, &seconds);
    if (last_minutes != minutes || last_hours != hours)
    {
      Serial.print("Time: ");
      Serial.print(hours);
      Serial.print(":");
      Serial.println(minutes);
      last_minutes = minutes;
      last_hours = hours;
      ledcontrol.setTime(hours, minutes);
    }
    if (last_seconds != seconds)
    {
      last_seconds = seconds;
      ambcontrol.updateBrightness();
    }
  }
  else
  {
    Serial.print("No WIFI. Reconnect in ");
    Serial.println((RETRY_TIME - (millis() - lastTry)) / 1000);
    if ((millis() - lastTry) > RETRY_TIME)
    {
      lastTry = millis();
      wificontrol.connectWifi();
    }
  }
  if (true == SwitchClockState)
  {
    SwitchClockState = false;
    if (true == ClockOn)
    {
      ledcontrol.unsetTemporaryColor();
    }
    else
    {
      CRGB newColor = 0;
      ledcontrol.setTemporaryColor(newColor);
    }
  }
}

Den Sketch sollen wir uns jetzt in den Tiefen des Web suchen? Dein Link führt zum Verkauf einer Domain.
Am Besten wird Dir da wohl der Autor der Sketche helfen können.

Gruß Tommy

Hallo
Ich hier der Sketch

#include <fauxmoESP.h>

#include <Arduino.h>
#include <functional>
#include "WifiControl.h"
#include "BrowserGui.h"
#include "DnsControl.h"
#include "LedControl.h"
#include "Timecontrol.h"
#include "CallbackFunction.h"
#include "AmbientLightControl.h"
#include "Storage.h"
#include <FastLED.h>
#include <fauxmoESP.h>

#define RETRY_TIME 10*60*1000 //10 minutes in milliseconds
#define CWC_VERSION 1.1

bool ClockOn = true;
//if alexa received an order to switch the state
bool SwitchClockState = false;

static TimeControl& timecontrol = TimeControl::getInstance();
static WifiControl& wificontrol = WifiControl::getInstance();
static BrowserGui& browsergui = BrowserGui::getInstance();
static DnsControl& dnscontrol = DnsControl::getInstance();
static LedControl& ledcontrol = LedControl::getInstance();
static AmbientLightControl& ambcontrol = AmbientLightControl::getInstance();
static fauxmoESP fauxmo;
static long lastTry = 0;

/* indicator, if one time has passed, then update leds */
uint8_t last_minutes = 0;
uint8_t last_hours = 0;
uint8_t last_seconds = 0;

void setup()
{
  Serial.begin(115200);
  Serial.println("");
  Serial.print("CWC Version: ");
  Serial.println(CWC_VERSION);

  storageInit();
  ambcontrol.start();
  ledcontrol.start();
  if (!wificontrol.connectWifi())
  {
    if (!wificontrol.connectWifi())
  {
    Serial.println("Save retry time");
    lastTry = millis();
  }
  }

  browsergui.start();
  timecontrol.start();
  dnscontrol.start();

  fauxmo.addDevice("Uhr");
  fauxmo.onSetState([](unsigned char device_id, const char * device_name, bool state)
  {
    if (state)
    {
      ClockOn = true;
    }
    else
    {
      ClockOn = false;
    }
    SwitchClockState = true;
  });

  fauxmo.onGetState([](unsigned char device_id, const char * device_name)
  {
    return ClockOn;
  });

  fauxmo.enable(true);
}

void loop()
{
  uint8_t hours = 0;
  uint8_t minutes = 0;
  uint8_t seconds = 0;

  browsergui.serverLoop();
  dnscontrol.serverLoop();
  fauxmo.handle();
  if (wificontrol.isWifiConnected())
  {
    timecontrol.getTime(&hours, &minutes, &seconds);
    if (last_minutes != minutes || last_hours != hours)
    {
      Serial.print("Time: ");
      Serial.print(hours);
      Serial.print(":");
      Serial.println(minutes);
      last_minutes = minutes;
      last_hours = hours;
      ledcontrol.setTime(hours, minutes);
    }
    if (last_seconds != seconds)
    {
      last_seconds = seconds;
      ambcontrol.updateBrightness();
    }
  }
  else
  {
    Serial.print("No WIFI. Reconnect in ");
    Serial.println((RETRY_TIME - (millis() - lastTry)) / 1000);
    if ((millis() - lastTry) > RETRY_TIME)
    {
      lastTry = millis();
      wificontrol.connectWifi();
    }
  }
  if (true == SwitchClockState)
  {
    SwitchClockState = false;
    if (true == ClockOn)
    {
      ledcontrol.unsetTemporaryColor();
    }
    else
    {
      CRGB newColor = 0;
      ledcontrol.setTemporaryColor(newColor);
    }
  }
}

onSetState ist in der aktuellen Version von fauxmoESP vorhanden.
Entweder Du hast die falsche Version oder die Lib falsch installiert.

Gruß Tommy

Den einen Fehler habe ich weg bekommen leider geht es mit Fehler 2 weiter.
Der Ersteller des Sketches gibt leider keine Antwort mehr der Beitrag ist leider schon älter.
Kann sich bitte jemand mal den Sketch anschauen und mir Tipps geben.
Und daran Denken ich bin Anfänger, da muss man mehr erklären
Im Voraus vielen Dank
Gruß Peter

state was not declaired in this scope, did your mean static

#include <SpacebrewYun.h>

#include <Arduino.h>
#include <functional>
#include "WifiControl.h"
#include "BrowserGui.h"
#include "DnsControl.h"
#include "LedControl.h"
#include "Timecontrol.h"
#include "CallbackFunction.h"
#include "AmbientLightControl.h"
#include "Storage.h"
#include <FastLED.h>

#define RETRY_TIME 10*60*1000 //10 minutes in milliseconds
#define CWC_VERSION 1.1

bool ClockOn = true;
//if alexa received an order to switch the state
bool SwitchClockState = false;

static TimeControl& timecontrol = TimeControl::getInstance();
static WifiControl& wificontrol = WifiControl::getInstance();
static BrowserGui& browsergui = BrowserGui::getInstance();
static DnsControl& dnscontrol = DnsControl::getInstance();
static LedControl& ledcontrol = LedControl::getInstance();
static AmbientLightControl& ambcontrol = AmbientLightControl::getInstance();
static long lastTry = 0;

/* indicator, if one time has passed, then update leds */
uint8_t last_minutes = 0;
uint8_t last_hours = 0;
uint8_t last_seconds = 0;

void setup()
{
  Serial.begin(115200);
  Serial.println("");
  Serial.print("CWC Version: ");
  Serial.println(CWC_VERSION);

  storageInit();
  ambcontrol.start();
  ledcontrol.start();
  if (!wificontrol.connectWifi())
  {
    if (!wificontrol.connectWifi())
  {
    Serial.println("Save retry time");
    lastTry = millis();
  }
  }

  browsergui.start();
  timecontrol.start();
  dnscontrol.start();

  {
    if (state)
 
    {
      ClockOn = true;
    }
    else
    {
      ClockOn = false;
    }
    SwitchClockState = true;
  });

  {
    return ClockOn;
  });

  fauxmo.enable(true);
}

void loop()
{
  uint8_t hours = 0;
  uint8_t minutes = 0;
  uint8_t seconds = 0;

  browsergui.serverLoop();
  dnscontrol.serverLoop();
  if (wificontrol.isWifiConnected())
  {
    timecontrol.getTime(&hours, &minutes, &seconds);
    if (last_minutes != minutes || last_hours != hours)
    {
      Serial.print("Time: ");
      Serial.print(hours);
      Serial.print(":");
      Serial.println(minutes);
      last_minutes = minutes;
      last_hours = hours;
      ledcontrol.setTime(hours, minutes);
    }
    if (last_seconds != seconds)
    {
      last_seconds = seconds;
      ambcontrol.updateBrightness();
    }
  }
  else
  {
    Serial.print("No WIFI. Reconnect in ");
    Serial.println((RETRY_TIME - (millis() - lastTry)) / 1000);
    if ((millis() - lastTry) > RETRY_TIME)
    {
      lastTry = millis();
      wificontrol.connectWifi();
    }
  }
  if (true == SwitchClockState)
  {
    SwitchClockState = false;
    if (true == ClockOn)
    {
      ledcontrol.unsetTemporaryColor();
    }
    else
    {
      CRGB newColor = 0;
      ledcontrol.setTemporaryColor(newColor);
    }
  }
}

Dann solltest du dich mal fragen, wo du diese Variable "state" definiert und mit Daten gefüllt hast.

In dem gezeigten Code nirgendwo.

Gruß Tommy

Vermutlich dauert die Suche deshalb so lange. :wink:

Ich habe das doch nicht selbst gemacht, sag mir bitte was ich tun muss genau.
Bitte jeden Schritt
Vielen Dank

Wir kennen den Sketch nicht, wir kennen die Quelle nicht.
Wie sollen wir das was zu sagen.
Ok, wir können raten, aber hilft das ?

Ach....wenn du natürlich nur einen zerpflückten Sketch postest und verwendest, dann kann es auch nicht funktionieren.
Du darfst Anweisungen, die benötigt werden nicht einfach rauslöschen, und dann meinen, es ist alles gut.

Vielen Dank für die Antwort
Ich kann es nicht besser
Aber ich habe den Sketch so bekommen und ihn in Arduino geladen
Ich habe ihn dann aus Arduino kopiert fürs Forum kopieren und hier eingefügt
Hier nochmals der 2 Versuch mit der selben Vorgangsweise einer neu geladenen Version aus dem Microcontroller Forum. Sketch geladen Kopiert und eingefügt
Jetzt wieder die: class FauxmoESP no member named on Setstate Fehlermeldung
FauxmoESP wurde ihn verschiedenen Varianten über die Boardverwaltung installiert
Tut mir Leid das ich so viele Fragen stelle
Gruß Peter

#include <Arduino.h>
#include <functional>
#include "WifiControl.h"
#include "BrowserGui.h"
#include "DnsControl.h"
#include "LedControl.h"
#include "Timecontrol.h"
#include "CallbackFunction.h"
#include "AmbientLightControl.h"
#include "Storage.h"
#include <FastLED.h>
#include <fauxmoESP.h>

#define RETRY_TIME 10*60*1000 //10 minutes in milliseconds
#define CWC_VERSION 1.1

bool ClockOn = true;
//if alexa received an order to switch the state
bool SwitchClockState = false;

static TimeControl& timecontrol = TimeControl::getInstance();
static WifiControl& wificontrol = WifiControl::getInstance();
static BrowserGui& browsergui = BrowserGui::getInstance();
static DnsControl& dnscontrol = DnsControl::getInstance();
static LedControl& ledcontrol = LedControl::getInstance();
static AmbientLightControl& ambcontrol = AmbientLightControl::getInstance();
static fauxmoESP fauxmo;
static long lastTry = 0;

/* indicator, if one time has passed, then update leds */
uint8_t last_minutes = 0;
uint8_t last_hours = 0;
uint8_t last_seconds = 0;
uint8_t lastPrintSeconds = 0;

void setup()
{
  Serial.begin(115200);
  Serial.println("");
  Serial.print("CWC Version: ");
  Serial.println(CWC_VERSION);

  storageInit();
  ambcontrol.start();
  ledcontrol.start();
  if (!wificontrol.connectWifi())
  {
    if (!wificontrol.connectWifi())
    {
      Serial.println("Save retry time");
      lastTry = millis();
    }
  }

  browsergui.start();
  timecontrol.start();
  dnscontrol.start();

  fauxmo.addDevice("Uhr");
  fauxmo.onSetState([](unsigned char device_id, const char * device_name, bool state)
  {
    if (state)
    {
      ClockOn = true;
    }
    else
    {
      ClockOn = false;
    }
    SwitchClockState = true;
  });

  fauxmo.onGetState([](unsigned char device_id, const char * device_name)
  {
    return ClockOn;
  });

  fauxmo.enable(true);
}

void loop()
{
  uint8_t hours = 0;
  uint8_t minutes = 0;
  uint8_t seconds = 0;

  browsergui.serverLoop();
  dnscontrol.serverLoop();
  fauxmo.handle();
  timecontrol.getTime(&hours, &minutes, &seconds);
  if (wificontrol.isWifiConnected())
  {
    if (last_minutes != minutes || last_hours != hours)
    {
      Serial.print("Time: ");
      Serial.print(hours);
      Serial.print(":");
      Serial.println(minutes);
      last_minutes = minutes;
      last_hours = hours;
      ledcontrol.setTime(hours, minutes);
    }
    if (last_seconds != seconds)
    {
      last_seconds = seconds;
      ambcontrol.updateBrightness();
    }
  }
  else
  {
    if (lastPrintSeconds != seconds)
    {
      lastPrintSeconds = seconds;
      Serial.print("No WIFI. Reconnect in ");
      Serial.println((RETRY_TIME - (millis() - lastTry)) / 1000);
    }
    if ((millis() - lastTry) > RETRY_TIME)
    {
      lastTry = millis();
      wificontrol.connectWifi();
    }
  }
  if (true == SwitchClockState)
  {
    SwitchClockState = false;
    if (true == ClockOn)
    {
      ledcontrol.unsetTemporaryColor();
    }
    else
    {
      CRGB newColor = 0;
      ledcontrol.setTemporaryColor(newColor);
    }
  }
}

ist das ein ganz einfacher Tippfehler ?

List du auch mal was wir dir schreiben ?
Z.B. den Link aus Post#3 und auch den Post #5

Und warum zeigst du uns nicht die Quelle ?

Wenn Du uns mal dem Link aus dem Mikrokontrollerforum, wo Du den runter lädst, gibst (das hatte ich Dir bereits in #2 geschrieben). könnten wir evtl. helfen.
Nochmal schreibe ich es nicht, dann musst Du halt Deinen Fehler behalten.

Gruß Tommy

Hallo und Entschuldigung
Bin etwas gestresst
Hier der Link Noch ne Wordclock - Mikrocontroller.net
Hie gibt es die ZIP Dateien mit allen Dateien
Bin dann mal weg, schönes Wochenende und Danke für die Geduld
Gruß Peter

Welchen davon meinst Du? Den CWC.zip? Es gibt da mehrere.
Der CWC kann es eigentlich nicht sein, der enthält kein fauxmo.
Also irgendwie passen Deine Angaben nicht zusammen.
Entweder Du hast (wie behauptet den Sketch übernommen, dann ist das nicht der, den Du hier vorgestellt hast oder Du hast daran rum gebastelt und verheimlichst uns das.

Ich halte mich erst mal raus, das kommt mir alles komisch vor.

Gruß Tommy

Das ist bestimmt die falsche Version.
Die richtige Versionsnummer ist nebenan angegeben.
Und nein, ich werde sie nicht raussuchen, wenn der TO dafür selber zu faul ist.
Immerhin hat er sich anscheinend nicht mal die Arbeit gemacht den Thread durchzulesen.

Und warum soll es dir besser gehen, als deine Helfer.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.