FHEM Forum

Verschiedenes => Bastelecke => ESP Familie => Thema gestartet von: Klausi am 26 April 2015, 14:10:12

Titel: Temperaturwerte mit ESP8266 an FHEM senden
Beitrag von: Klausi am 26 April 2015, 14:10:12
Hallo liebe FHEM-Gemeinde,


ich möchte Daten, die das ESP8266-Modul ermittelt, an FHEM per WLAN senden.

Als Beispiel verwende ich die LUA-Scripts von:

http://blog.moneybag.de/fhem-temperaturmessung-mit-dem-esp-8266-und-ds18b20-ohne-arduino-datenuebertragung-per-wlan/

Wenn ich die 3 Lua-Scripte über ESPlorer in den ESP8266 lade und starte erfolgt nach kurzer Zeit:

      Temp:20.75 C

      HTTP/1.1 401 Authorization Required
      WWW-Authenticate: Basic realm="Fhem: login required"
      Content-Length: 0

Diese Ausgabe wiederholt sich im 30 sec. Zeitraum.
Die gemessenen Werte erscheinen nicht in FHEM


Kommentiere ich in fhem.cfg die Zeile   attr WEB basicAuth d2lraTpwZWRpYQ==    aus,      

define WEB FHEMWEB 8083 global
#attr attr WEB basicAuth d2lraTpwZWRpYQ==


dann erfolgt

   Temp:20.75 C

   HTTP/1.1 302 Found
   Content-Length: 0
   Location: /fhem


in 30 sec Wiederholung.
Die gemessenen Werte erscheinen nun auch in FHEM

Nun meine Frage:

Was muss ich tun, um mit aktiviertem basicAuth attribute, die Daten in FHEM zu empfangen ?

Ich habe ohne Erfolg versucht, innerhalb des 

conn:send('GET /fhem?cmd=setreading%20esp8266temp%20state%20T:%20' ..t.. '\r\n HTTP/1.1\r\nHost: .........)

über "Authorization: Basic d2lraTpwZWRpYQ=="

die HTTP-Authentifizierung anzugeben.



Vielen Dank für Eure Hilfe


Klausi
Titel: Antw:Temperaturwerte mit ESP8266 an FHEM senden
Beitrag von: Samsi am 26 April 2015, 20:38:05
Hi,

also zunächst müsste da stehen:

#attr attr WEB basicAuth d2lraTpwZWRpYQ==

Dann wäre es Sinvoll, wenn Du den ganzen HTTP Aufruf hier posten würdest, der müsste ja dann ungefähr so aussehen:

conn:send('GET /fhem?cmd=setreading%20esp8266temp%20state%20T:%20' ..t.. '\r\n HTTP/1.1\r\nHost: .........\r\nAuthorization: Basic d2lraTpwZWRpYQ==" )

Du kannst dir den Aufbau des Headers auch mit Firebug im Firefox recht gut anschauen, wenn du die seite in Deinem Browser aufrufst und dann vergleichen mit dem was Du sendest.



Titel: Antw:Temperaturwerte mit ESP8266 an FHEM senden
Beitrag von: Klausi am 27 April 2015, 09:33:27
Vielen Dank Samsi für deine Hilfe,

Ich habe den send-Aufruf nun wie folgt erweitert:

conn:send("GET /fhem?cmd=setreading%20esp8266temp%20state%20T:%20" ..t.. "\r\n"
            .. "HTTP/1.1\r\n"
            .. "Host: www.local.lan\r\n"
            .. "Authorization: Basic d2lraTpwZWRpYQ==\r\n"
            .. "Connection: keep-alive\r\n"
            .. "Accept: */*\r\n\r\n")

Die Daten treffen nun auch mit aktiviertem  <attr WEB basicAuth d2lraTpwZWRpYQ== >  in FHEM ein

Nun steht dem Empfang von ESP8266-Daten nichts mehr im Wege

Gruß

Klausi
Titel: Antw:Temperaturwerte mit ESP8266 an FHEM senden
Beitrag von: Franz Tenbrock am 25 Mai 2015, 11:41:57
Hallo, also das hier ist benutzername und Passwort das man über Firebug verschlüsselt vorfindet??
Hab nun noch nie mit Firebug gearbeitet und habe nicht gefunden wo es ist....
Also Firebug installieren
dannn Firefox neu starten
Firebug über das Menü aktivieren, es erscheint die Konsole
dann FHEM starten, es erscheint die Abfrage Benutzer und Passwort.
das gebe ich ein und bestätige dies

richtig??

dann sollte ich soweit ich es verstanden habe das Passwort finden , dies muss ich dann indem lua script einfügen...
Könnt ihr das für Anfänger etwas besser beschreiben dann pack ich das in die Anleitung für dummys. die ist ansonsten soweit fertig

hier die fertige Anleitung, Fehler melden damit ich die dann beseitigen kann. Ich denke damit sollte jeder der Kabel zusammenstecken kann eine esp Temp Sensor bauen können
Titel: Antw:Temperaturwerte mit ESP8266 an FHEM senden
Beitrag von: Nepumuk4321 am 10 Februar 2016, 19:41:56
Hallo,

bin auch gerade an dem Thema dran.
Dank der Anleitung von Franz Tenbrock war das ganze recht einfach umzusetzen. Danke nochmal dafür!!!
Auf meiner Teststation läuft das ganze auch wunderbar (auch mit basicAut).
Auf meinem Hauptsystem, das sich nur durch SSL Verschlüsselung unterscheidet (also Aufruf: https://.....) , geht nichts.

Ich gehe mal davon aus, dass der man hier:
conn:send("GET /fhem?cmd=setreading%20esp8266temp%20state%20T:%20" ..t.. "\r\n"
            .. "HTTP/1.1\r\n"
            .. "Host: www.local.lan\r\n"
            .. "Authorization: Basic d2lraTpwZWRpYQ==\r\n"
            .. "Connection: keep-alive\r\n"
            .. "Accept: */*\r\n\r\n")

was ändern muss, weiß nur nicht was ?


Gruß
Frank
Titel: Antw:Temperaturwerte mit ESP8266 an FHEM senden
Beitrag von: littleswabi am 03 März 2016, 13:53:05
Hallo :)

ich hätte da auch eine Frage dazu.... man kann doch bestimmt auch mehrere TempSensoren anschließen... Wie muss den das Skript angepasst werden?!

Danke
Titel: Antw:Temperaturwerte mit ESP8266 an FHEM senden
Beitrag von: Tipetan am 01 Februar 2017, 14:14:12
Hallo Nepumuk4321,
gibt es Neuigkeiten zur SSL Verschlüsselung? Hab nähmlich das gleiche Problem.
Zitat von: Nepumuk4321 am 10 Februar 2016, 19:41:56
....
Auf meinem Hauptsystem, das sich nur durch SSL Verschlüsselung unterscheidet (also Aufruf: https://.....) , geht nichts.
...

conn:send("GET /fhem?cmd=setreading%20esp8266temp%20state%20T:%20" ..t.. "\r\n"
            .. "HTTP/1.1\r\n"
            .. "Host: www.local.lan\r\n"
            .. "Authorization: Basic [i]abcdefgheijklm[/i]\r\n"
            .. "Connection: keep-alive\r\n"
            .. "Accept: */*\r\n\r\n")

was ändern muss, weiß nur nicht was ?


Gruß
Frank

Gruß
Tipetan
Titel: Antw:Temperaturwerte mit ESP8266 an FHEM senden
Beitrag von: Nepumuk4321 am 19 Mai 2017, 14:52:23
Zitat von: Tipetan am 01 Februar 2017, 14:14:12
Hallo Nepumuk4321,
gibt es Neuigkeiten zur SSL Verschlüsselung? Hab nähmlich das gleiche Problem.
Gruß
Tipetan
Hallo,
Nein der Esp8266 kann meines Wissens kein SSL, bzw gibt keine Lib dafür. Ich habe es so gelöst, dass ich einen zusätzlichen Web Port im Fhem deklariert habe, der nicht verschlüsselt ist. Diesen Port habe ich natürlich nicht ins Internet geroutet. Aus meiner Sicht ist das sicher, da im eigenen WLAN ja WPA2 Verschlüsselung existiert und ein Angreifer in meinem WLAN sein müsste.

Gruß

Gesendet von meinem Redmi 3S mit Tapatalk