So langsam komm ich mir vom ESP verar*** vor...
ich versuche derzeit einen DHT22 Sensor aus zu lesen und an FHEM zu senden...
Auslesen funktioniert...
Auch springt der ESP in die Sende-Routine...
Aber er sendet nichts... Fehler kommen keine
Ich hab es zuerst per Telnet versucht:
--init.lua
tmr.alarm(0, 5000, 0, function()
tem, _G.tema=0
hum, _G.huma=0
ds=0
_G.conn=0
dofile("dht22.lua");
tmr.alarm(1, 10000, 1, function()
wifi.setmode(wifi.STATION)
wifi.sta.setip({
ip = "192.168.178.240",
netmask = "255.255.255.0",
gateway = "192.168.178.1"
})
wifi.sta.config("Black!Port","08154711", 1, "MAC-Adresse")
wifi.sta.connect()
tmr.delay(1000)
if wifi.sta.getip()==nil then
print("Keine IP Adresse -- Status: " .. wifi.sta.status())
else
tmr.stop(1)
dofile("sending.lua")
print("disconnectededed")
wifi.sta.disconnect();
tmr.delay(1000)
end
end)
end)
-- sending.lua
_G.conn=net.createConnection(net.TCP, 0)
_G.conn:connect(7072,"192.168.178.20")
_G.conn:send("setreading esptest temperature " .. _G.tema .. "\n")
print("setreading esptest temperature " .. _G.tema .. "\n")
_G.conn:send("setreading esptest humidity " .. _G.huma .. "\n")
print("setreading esptest humidity " .. _G.huma .. "\n")
_G.conn:send("setreading esptest MAC " .. wifi.sta.getmac() .. "\n")
print("setreading esptest MAC " .. wifi.sta.getmac() .. "\n")
_G.conn:send("setreading esptest IP " .. wifi.sta.getip() .. "\n")
print("setreading esptest MAC " .. wifi.sta.getip() .. "\n")
_G.conn:send("setreading esptest Speicher "..node.heap().. "\n")
_G.conn:send("setreading esptest ID "..node.chipid().. "\n")
_G.conn:send("exit\n\n")
_G.conn:close()
Dann habe ich versucht, das ganze per http zu machen:
--init.lua
tmr.alarm(0, 5000, 0, function()
tem, _G.tema=0
hum, _G.huma=0
ds=0
_G.conn=0
dofile("dht22.lua");
wifi.setmode(wifi.STATION)
wifi.sta.setip({
ip = "192.168.178.240",
netmask = "255.255.255.0",
gateway = "192.168.178.1"
})
wifi.sta.config("Black!Port","08154711", 1, "MAC-Adresse")
wifi.sta.connect()
tmr.delay(1000)
tmr.alarm(1, 10000, 1, function()
if wifi.sta.getip()==nil then
print("Keine IP Adresse -- Status: " .. wifi.sta.status())
else
tmr.stop(1)
_G.conn=net.createConnection(net.TCP, 0)
_G.conn:connect(8085,"192.168.178.20")
dofile("tx.lua")
print("disconnectededed")
wifi.sta.disconnect();
tmr.delay(1000)
end
end)
end)
-- tx.lua
_G.conn:send("GET /fhem?cmd=setreading%20esptest%20state%20T:%20" .._G.tema.. "%20H:%20" .._G.huma.. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
_G.conn:send("GET /fhem?cmd=setreading%20esp8266temp%20temperature%20" .._G.tema.. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
_G.conn:send("GET /fhem?cmd=setreading%20esp8266temp%20humidity%20" .._G.huma.. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
_G.conn:send("GET /fhem?cmd=setreading%20esp8266temp%20MAC%20" ..wifi.sta.getmac().. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
_G.conn:send("GET /fhem?cmd=setreading%20esp8266temp%20IP%20" ..wifi.sta.getip().. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
_G.conn:send("GET /fhem?cmd=setreading%20esp8266temp%20ROM%20" ..node.heap().. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
_G.conn:send("GET /fhem?cmd=setreading%20esp8266temp%20IP%20" ..node.chipid().. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
print("closing Socket")
_G.conn:close();
Aber irgendwie kommt nicht in FHEM an, und ich weiss nicht mehr, wo ich jetzt noch suchen soll... in der Fritzbox ist der ESP gelistet...
Passwörter hab ich im internen LAN nicht...
Wer findet den Fehler, denn ich bin zu blind...
Geht wieder - weis aber nicht genau, wieso...
Im Moment sendet er allerdings Zufallszahlen als Temperatur und Luftfeuchte...