ESP8266 - LUA & FHEM

Begonnen von Blackmore, 06 Mai 2016, 22:40:03

Vorheriges Thema - Nächstes Thema

Blackmore

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:

Code (init.lua) Auswählen

--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)


Code (sending.lua) Auswählen

-- 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:

Code (init.lua) Auswählen

--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)


Code (tx.lua) Auswählen

-- 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...

Blackmore

Geht wieder - weis aber nicht genau, wieso...

Im Moment sendet er allerdings Zufallszahlen als Temperatur und Luftfeuchte...