Arduino FHEM Library

Begonnen von kingmathers, 04 Dezember 2018, 20:10:04

Vorheriges Thema - Nächstes Thema

kingmathers

Hallo,

ich weiß nicht ganz, ob das hier das richtige Forum ist, aber da ich keins Forum speziell für Arduino gefunden habe, poste ich es mal hier:

Im Rahmen meiner Arbeit am ESP8266 WiFi Color Display habe ich für Arduino eine Library geschrieben, die die Kommunikation mit einem FHEM Server ermöglicht. Ich verwende dazu einen HTTPClient. Die Library ist bereits verfügbar:

Arduino: FHEM (Kann in Arduino IDE über Tools, Manage Libraries..., Suche nach "FHEM" installiert werden)
GitHub: FHEM_Arduino

Die Library kann benutzt werden, um Daten von FHEM zu empfangen und an FHEM zu senden. Es wird Basic Auth (Benutzername und Passwort) sowie CSRF unterstützt.

Nach der Installation muss die Library eingebunden werden:
#include FHEM.h

Anschließend muss eine Instanz definiert werden:

FHEM fhemclient("http://192.168.1.1:8083/fhem", "User", "Password");
FHEM fhemclient("http://192.168.1.1:8083/fhem");

Wenn man Basic Auth nicht verwendet, kann man die beiden Argumente weglassen und nur den Server angeben. Der Server muss in dem genannten Format (mit port und /fhem) angegeben werden.

Daten können dann folgendermaßen geladen bzw. gesendet werden:

String result = fhemclient.LoadFromServer("{SomeSub()}"); //SomeSub() aus 99_myUtils wird ausgeführt, Rückgabewert in result gespeichert
fhemclient.LoadFromServer("set Licht on"); //FHEM Befehl "set Licht on" wird ausgeführt.


Der Code in 99_myUtils.pm sieht bei mir z.B. so aus:


sub SomeSub
{
  my $response = Value("WaschmaschineDummy");
  $response = "Waschmaschine\nStatus: " . $response;
  return $response;
}


Um die Anmeldung mit Basic Auth und das CSRF Token kümmert sich die Library selbstständig.

Vielleicht hat ja sonst noch jemand Verwendung dafür. Mir war diese Weise (über HTTPClient) lieber als über MQTT mit PubSubClient, da ich damit kaum vertraut bin im Gegensatz zu HTTPClient und die direkte Verwendung von FHEM Befehlen und Funktionen möglich ist.

Grüße,
Philipp
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

MadMax-FHEM

Hi Philipp,

vielen Dank für die Mühe(n)!

Wenn ich Zeit hab (Weihnachten ist ja bald :)  ) werde ich's mal testen.

Danke, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

PeMue

... ich lese auch mal mit.

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Esjay

#3
Guten Morgen zusammen,
ich weiß das Thema ist schon etwas älter, jedoch stehe ich gerade im Rahmen eines anderen Projektes https://repalmakershop.com/pages/mower-build-information vor der Herausforderung Daten aus fhem an einen Arduino zu senden, bzw. zu empfangen.

ESPEasy, Firmata etc. halte ich nicht für den richtigen Ansatz, da bereits ein Sketch auf einem NodeMCu besteht, welcher die Daten verarbeitet.
Ich würde mich nun gerne irgendwie 

Nun habe ich diesen Ansatz gefunden, jedoch gibt es schon ein "gap" zwischen dem ersten Post und der Git Seite.

Ich würde mal behaupten, dass das Git die Referenz ist, daher habe ich folgendes versucht.

#include <FHEM.h>

FHEM _fhem("http://192.168.178.10:8083/fhem"); //if you do not use Basic Auth

void loop(){

String result = _fhem.LoadFromServer("{SomeSub()}"); //executes SomeSub() in 99_myUtils and saves the return value in result
_fhem.LoadFromServer("set Licht on");

}


Da passiert aber mal überhaupt nichts, bzw. wird der Sketch nicht mal richtig kompeliert.

Ich bin gerade dabei mich in das Ganze Thema Arduino einzuarbeiten, wollte aber nichts unversucht lassen, hier evtl. durch den richtigen Ansatz eine Abkürzen nehmen zu können.

Falls jemand andere Ansätze hat, wäre ich dankbar für einen Hinweis.

Solange werde ich es weiter versuchen, und vll hat ja hier jemand einen Tipp, oder setzt die Arduino Fhem Libary erfolgreich ein.


Grüße

Esjay

Kurzes Update:

Habe die Verbindung hin bekommen!

Habe einfach nur den Aufruf der Funktion vergessen. ;D

Danke Philipp für die Reaktion  ;)

kingmathers

Sehr schön dass es doch klappt!

Der Unterschied zwischen dem Forum und GitHub bezieht sich nur auf den Namen der Instanz, der mit folgender Zeile festgelegt wird:

FHEM fhemclient("http://192.168.1.1:8083/fhem");

In diesem Beispiel "fhemclient", bei GitHub heißt er "_fhem". Der Name kann frei gewählt werden, nur muss natürlich im Verlauf der entsprechende Name auch weiterhin verwendet werden.

Bei weiteren Fragen gerne melden :)

Grüße,
Philipp
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

Esjay

Ahhh perfekt, danke für die Erklärung.

Hast du eventuell noch ein Beispiel, bei dem ich anstatt des "on" Befehls eine Variable übergeben kann?

Grüße

kingmathers

Müsste so gehen:

String command = "set Licht on";
_fhem.LoadFromServer(command);


command kann dann beliebig angepasst werden, wenn der Wert in der Variable newstate gespeichert ist z.B. so:

String command = "set Licht " + newstate;
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

Esjay

Danke dir!

Dann werde ich mir mal die Sketche meines Projektes genauer anschauen, und schauen, wie ich das alles in einen Pott bekomme.

Schönen Abend noch.

Grüße

Esjay

Guten Abend Philipp,

ich habe ein Problem, welches ich mir nicht wirklich erklären kann.

Mir ist es nicht möglich, folgendes Im Sketch zu tun:

String Test=test;
String result;

result = _fhem.LoadFromServer("{MowerControl()}");

if (result == Test) {
Mach irgendwas ;
}


Sub

sub MowerControl(){

my $response = ("test");
return $response;

}


Scheinbar sendet die Funktion noch irgendetwas mit, was ich so nicht sehe, oder _fhem.LoadFromServer packt da irgendetwas rein, was da zumindest für mein Vorhaben nicht hingehört.

Hast du eine Idee?

Gruß Stephan

kingmathers

Evtl so:

String Test="test";

Also mit "test" statt test, klappt das?
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

Esjay

Leider auch nicht

Habe den Sketch jetzt mal so erweitert:

void FHEMTX()
{

TXFhemVoltage="setreading 3dMower batteryVoltage ";
TXFhemVoltage+=BatteryVoltage;

TXFhemCurrent="setreading 3dMower current ";
TXFhemCurrent+="not available";


_fhem.LoadFromServer(TXFhemVoltage);
_fhem.LoadFromServer(TXFhemCurrent);


String Test="test";

result = _fhem.LoadFromServer("{MowerControl()}"); // Sub ist gleich geblieben!
Serial.print(Test);
Serial.print(result);


if (result==Test){
Serial.print("Hallo");
}


Der Serial Monitor wirft mir für beides test aus, jedoch wird die Bedingung nicht war.

Setzte ich zusätzlich String Test2 = "test"; und vergleiche diese, sprich ohne _fhem.LoadFromServer("{MowerControl()}"); funktioniert die Abfrage.

Grüße

kingmathers

#12
Da bin ich jetzt auch unsicher, aber versuch mal in der Sub die Klammern wegzulassen:

my $response = "test";
return $response;}


Kommen die beiden anderen Befehle denn an bei FHEM? Die Kommunikation an sich scheint ja zu funktionieren, nur beim Vergleichen der zwei Variablen hackt es irgendwo oder?

Grüße,
Philipp

EDIT:

Ansonsten probier mal folgendes:

if (result.equals(Test))
oder
if (result == "test")

Eigentlich sollte dein Code zwar auch laufen, aber vielleicht kann man so den Fehler eingrenzen.
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

Esjay

#13
Jap, die anderen beiden Befehle werden an Fhem gesendet. Kommunikation steht!

Auch das weglassen der Klammern in der Sub hilft leider nicht!


if (result.equals(Test)) Funktioniert ebenfalls nicht

if (result == "test") Funktioniert ebenfalls nicht

kingmathers

Bei dem Code fehlt eine geschweifte Klammer am Ende (falls der Code vollständig kopiert wurde), eine zum Abschluss der if-clause und einmal zum Abschluss der void FHEMTX():

void FHEMTX()
{

TXFhemVoltage="setreading 3dMower batteryVoltage ";
TXFhemVoltage+=BatteryVoltage;

TXFhemCurrent="setreading 3dMower current ";
TXFhemCurrent+="not available";


_fhem.LoadFromServer(TXFhemVoltage);
_fhem.LoadFromServer(TXFhemCurrent);


String Test="test";

result = _fhem.LoadFromServer("{MowerControl()}"); // Sub ist gleich geblieben!
Serial.print(Test);
Serial.print(result);


if (result==Test){
Serial.print("Hallo");
}


Ansonsten probier doch nur zum testen mal folgendes aus:

String Test="test";

result = _fhem.LoadFromServer("{MowerControl()}"); // Sub ist gleich geblieben!
Serial.print(Test);
Serial.print(result);

result = "test";

if (result == Test){
Serial.print("Hallo");
}


Außerdem könnte man sich mal die Länge der Strings anschauen:

result = _fhem.LoadFromServer("{MowerControl()}"); // Sub ist gleich geblieben!
Serial.print(Test);
Serial.print(result);


Serial.print(Test.length());
Serial.print(result.length());


Vielleicht ist irgendwo ein Zeilenumbruch oder so reingerutscht den man auf den ersten Blick nicht sieht?

Grüße,
Philipp
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

Esjay

Nummer 1
copy&paste Fehler

Nummer 2
Funktioniert, jedoch wird hier ha result überschrieben wenn ich das richtig sehe.

Nummer 3
Wirft testtest 45 aus.

Ich denke wir kommen der Sache näher. Nach meinem Verständnis müsste "result" also 1 Zeichen mehr enthalten als "Test"

Grüße

kingmathers

Genau, dann probier mal folgendes:

result = _fhem.LoadFromServer("{MowerControl()}");
result.remove(result.length() - 1,  1);
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

Esjay

#17
Zitat von: kingmathers am 17 Oktober 2019, 22:13:38
Genau, dann probier mal folgendes:

result = _fhem.LoadFromServer("{MowerControl()}");
result.remove(result.length() - 1,  1);


Sehr cool,
folgendes wird Ausgegeben.

testtest44Hallo

Würde sagen: Mission complete   :D
Vielen vielen Dank!!

Edit:
Aufgrund der Formatierung im Serial Monitor würde ich auf einen Zeilenumbruch tippen. Das ist mir jetzt gerade erst aufgefallen.

postman

#18
Hallo zusammen,
ich versuche gerade mit der FHEM.h abfragen zum FHEM zu senden.
Mit diesem Code (IP-Adresse und Zugangsdaten natürlich angepasst ;))
#include <FHEM.h>

FHEM fhemclient("http://192.168.1.1:8083/fhem", "user", "Passwort");

void loop(){

fhemclient.LoadFromServer("set licht on");

}


funktioniert nicht einmal das Kompilieren.
Es kommt sofort diese Fehlermeldung:
Arduino: 1.8.6 (Windows XP), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from C:\Dokumente und Einstellungen\user\Eigene Dateien\Arduino\Fhemtest\Fhemtest.ino:1:0:

C:\Dokumente und Einstellungen\user\Eigene Dateien\Arduino\libraries\FHEM\src/FHEM.h:11:24: fatal error: HTTPClient.h: No such file or directory

compilation terminated.

exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Mega or Mega 2560.



Weiss jemand, woran das liegt.?
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

kingmathers

Hallo,

das hatte ich leider nicht erwähnt aber man benötigt auch den HTTPClient (meine Library greift darauf zu).

Ist bei mir (Arduino/ESP8266) vorinstalliert, Ansonsten z.B. hier erhältlich: https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266HTTPClient

Klappt es damit?
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

postman

Hallo kingmathers,
ich habe wohl vergessen beizuschreiben, dass ich nur ein Ethernetshield (LAN) auf dem Arduino habe.
Ich habe versucht, die entsprechende Lib zu installieren. Leider ohne Erfolg.
Ich muss mir wohl erst ein WiFi-Modul besorgen, damit es funktioniert.
Leider läßt sich  https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266HTTPClient
die Lib nicht herunterladen. Unter dem Menüpunkt Bibliothen verwalten läßt sie sich leider auch nicht installieren.

Gruß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

RappaSan

https://github.com/esp8266/Arduino
Dort kann man sich alles komplett herunterladen... :)

postman

Hallo zusammen,
Es funktioniert nicht; anscheinend geht das nur mit verbautem WiFi ESP8266 Modul.
Ich bekomme das zwar, wie im Github beschrieben installiert.
Aber ohne Wifi läuft das Kompelieren weiterhin auf Fehler.  :-[
Gruß
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

hauwech

Hallo zusammen,
ich experimentiere seit ein paar Tagen mit einem NodeMCU Amica, der hat einen ESP8266 drauf. Mein Ziel ist, Arduino-Komponenten (Displays, Sensoren, Taster ...) mit fhem zu verbinden. Deine Arduino-Bibliothek scheint die geeignete Brücke zu sein. Allerdings beschränken sich meine Arduino Kenntnisse noch auf Beispiele-probieren-und-freuen-wenns-geht.
Ich habe nun Deine Lib in der Arduino.cc IDE installiert. Den ESP8266HTTPClient habe ich auch nach ..\libraries kopiert.
Mir ist nicht klar, wo und wie die WLAN Verbindung initiiert werden sollte und wo meine WLAN Zugangsdaten konfiguriert werden müssten.
Ich habe daher jetzt in meinem fhem-sketch die WLAN Connection drumherum gebaut (mit <ESP8266WiFi.h>), die WLAN-Verbindung funktioniert.

Ausgabe Serial Monitor:

4:21:44.026 -> Connecting to meinWLAN
14:21:44.607 -> .......
14:21:48.402 -> WiFi connected
14:21:48.402 -> IP address:
14:21:48.402 -> 192.x.x.x
14:21:48.402 -> sending data to server



#include <FHEM.h>;
#include <ESP8266WiFi.h>

#ifndef STASSID
#define STASSID "meinWLAN"
#define STAPSK  "meinPW"
#endif

const char* ssid     = STASSID;
const char* password = STAPSK;
const char* host = "192.x.x.x";
const uint16_t port = x;

FHEM _fhem("https://192.x.x.x:x/fhem", "fhemuser", "fhemPW"); //if you use Basic Auth

void setup()
{
  Serial.begin(115200);
  Serial.println("fhem Test Start");
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());

  WiFiClient client;
  if (!client.connect(host, port))
  {
    Serial.println("connection failed");
    delay(5000);
    return;
  }

  Serial.println("sending data to server");
  if (client.connected())
  {
    _fhem.LoadFromServer("set BS_SW_02 on");
  }
}

void loop()
{
  String res = _fhem.LoadFromServer("{Test}");
  Serial.println(res);
  delay(5000);
}


Meine fhem-WEB-Instanz steht auf "basic auth", aber ich habe das Attribut HTTPS=1 gesetzt, und die Arduino-fhem-Instanz entsprechend mit "(https://..., "user", "passwort")" initialisiert. Eine Test-sub mit einem return-Wert habe ich auch angelegt.
sub Test
{
  my $response = Value("BS_SW_02");
  $response = "Schalter Status: " . $response;
  return $response;
}


Es kommt aber keine Kommunikation mit fhem zustande.
Bin ich überhaupt auf dem richtigen Weg? Wo könnte es klemmen?

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

kingmathers

Hallo Roland,

die Library unterstützt leider HTTPS nicht. HTTPS erfordet ja das einlesen des root Zertifikats um das vom Server bereitgestellt Zertifikat zu authentizieren, das konnte ich leider mit dem ESP8266HTTPClient nicht realisieren.

Ich habe es bei mir so gelöst, dass mein Arduino immer die gleiche IP von der Fritzbox erhält und in FHEM eine WEB-Instanz ohne HTTPS nur für diese IP und den entsprechenden Port offen ist. Ist zwar nicht optimal, aber das war der einzige Weg, den ich gefunden habe.

Hoffe das hilft.

Grüße,
Philipp
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

hauwech

Hallo Philipp,
danke, das hilft. Ich werde heute abend mal eine extra Webinstanz in fhem anlegen, dann kann ich weiter experimentieren.

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

Persuasiv

Hallo Philipp,

mit welchem Command kann ich das Reading "odo" des devices "213" abfragen? Auf der Konsole kann ich mir den Wert mit

list S213 odo

anzeigen lassen. Bei nachfolgendem Minimalbeispiel übernimmt er das Reading aber nicht.

#include "ESP8266WiFi.h"
#include <FHEM.h>
FHEM fhemclient("http://192.168.2.107:8083/fhem");

void setup(void)
  {
    Serial.begin(9600);
  }


void loop(void)
  {
    String result = fhemclient.LoadFromServer("{list S213 odo}");
    Serial.println(result);
    delay(5000);
  }


Besten Dank

MaxHolstein

Hallo zusammen,

Ich habe leider keinen Erfolg die Library auf einem Arduino MKR WiFi 1010 zum laufen zu bringen. Habe einige Libraries (HTTPclient, WiFiClientSecure) nachinstalliert, komme aber nicht weiter, es werden weitere fehlende Libraries gelistet.

Hat jemand diese Variante schon getestet? Oder könnte es sein, dass die Library mit dem MKR board überhaupt nicht läuft?

Schon mal vielen Dank für Feedback!
Vaillant VCI ohne Controller, RPI 3B+, eBus-Platine 1.6,
FHEM on MacOS, CUL_MAX, Max!-Thermostate

Persuasiv

Ich habe es inzwischen geschafft. Die Lösung steht im ersten Post. Man muss sich nur eigene Funktionen schreiben.

@MaxHolstein

Mit dem ESP8266 funktioniert es. Dein Board habe ich nicht getestet.

bigcheese

Hi,

versuche mich ebenfalls gerade an dem Touchdisplay mit der Anbindung an FHEM...
leider bekomme ich folgende Fehlermeldung ... hat sich hier was im Hintergrund getan und wurde erneuert?
C:\Users\user\Documents\Arduino\libraries\FHEM\src\FHEM.cpp: In member function 'void FHEM::PrepareClient(String)':
C:\Users\user\Documents\Arduino\libraries\FHEM\src\FHEM.cpp:83:14: error: call to 'HTTPClient::begin' declared with attribute error: obsolete API, use ::begin(WiFiClient, url)
   83 |  client.begin(URL);
      |  ~~~~~~~~~~~~^~~~~
exit status 1


grüsse,
Bigcheese

bigcheese

ok, fixed this problem with:

FHEM.cpp:
on top add:
#include <WiFiClient.h>

WiFiClient wifiClient;


line 110: client.begin(wifiClient,URL);

Asuries

Hallo,

ich finde das Thema sehr interessant, komme aber leider nicht weiter:
Ich versuche das ganze mit folgenden Code auf dem Wemos D1 mini zum laufen zu bringen:


#include <ESP8266WiFi.h>
#include <FHEM.h>
FHEM fhemclient("http://192.168.178.50:8083/fhem");
#define wifi_ssid "blabla"
#define wifi_password "geheim"

void setup() {
  Serial.begin(9600);
  setup_wifi();
    }

void loop() {
  String result = fhemclient.LoadFromServer("{SomeSub()}");
     Serial.println("Temperatur Wettermast: ");
     Serial.println(result);
  }

void setup_wifi() {
  delay(10);
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(wifi_ssid);

  WiFi.begin(wifi_ssid, wifi_password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}


und bekomme folgende Fehlermeldung beim Kompilieren:

/Users/asuries/Documents/Arduino/libraries/FHEM/src/FHEM.cpp: In member function 'void FHEM::LoadCSRFToken()':
/Users/asuries/Documents/Arduino/libraries/FHEM/src/FHEM.cpp:109:25: error: 'URL' was not declared in this scope
  109 | client.begin(wifiClient,URL);
      |                         ^~~
exit status 1

Hat jemand eine Idee woran das liegen könnte??

Danke euch in voraus!!

Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.

Asuries

Hallo,

Hallo zusammen,

leider ist das Thema (s. POST über diesen) noch aktuell und ich komme einfach nicht weiter. Bitte um Hilfestellung.

LG
Stefan
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.