Konstantenname aus eine Array lesen

Hallo Arduino Könner
Ich programmiere aktuell einen ESP8266 (Wemos D1 mini) Zentrale Steuereinheit mit Zugriff über GPIO's und Http. Bei Http möchte ich die mögliche Liste der Befehle ausgeben wenn das Argument fehlt.

Zum Aufbau-Verständnis:
//Global
#define Werkstatt "shelly1-8CAAB54B4C9D/relay/0?turn="
#define Keller "shelly1l-84CCA8AD1860/relay/0?turn="
#define Warenlager "shelly1pm-40F520007938/relay/0?turn="

String myshellys[3] = {Werkstatt, Warenlager, Keller};

//Funktion:
String ShellyName=myshellys[2];

Rückgabewert ist "shelly1l-84CCA8AD1860/relay/0?turn="

In ShellyName soll aber der Name der Konstanten übergeben werden. (in dem Bespiel ist das "Keller")

Ich ich bin beim googlen auf "$SchellyName" gestossen, komme aber nicht zum Ziel.

Gibt es einen direkten Weg den Konstanten-Namen aus dem Array in einem String zu speichern?

Viel dank für eure Antwort
Gruss Duri

Hallo
Der C ++ - Compiler entfernt alle Verweise auf die Namen von Variablen oder Konstanten. Sie müssen Ihren Konstanten einen Index (0,1,2) zuordnen.

oder verwenden Sie ein Tabelle von Strukturen

struct {
  const char* name;
  const char* url;
} myshellys[] = {
  {"Werkstatt", "shelly1-8CAAB54B4C9D/relay/0?turn"}, 
  {"Keller", "shelly1l-84CCA8AD1860/relay/0?turn="},
  {"Warenlager", "shelly1pm-40F520007938/relay/0?turn="},
};

und suchen Sie in der Tabelle nach dem entsprechenden Namen

Das habe ich befürchtet. (Falsch angefangen)
Ich werde die Tabelle in einen struct erstellen. das ist auch viel übersichtlicher.

Vielen Dank für die Hilfe
Gruss Duri

Das gab es auch gerade erst hier: Mit einer Variable eine Variable abfragen? - #32 by Serenifly

Übergeben eines Strings an eine Funktion um einen anderen String zu erhalten. Wie in dem Beispiel oben als key-value Paar abgespeichert.

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