Verschiedenes > ESP8266

Mit ESP8266 "einfachen" set dummy on Befehl absetzen

(1/1)

Leinad:
Ich bastele hier seit ein paar Tagen mit einem ESP8266 rum.

Ich habe das Teil im Netz und eine einfache Schaltung mit LED und Taster aufgebaut.

Nun möchte ich, wenn  der Taster gedrückt wird, ein "set dummy on" auf dem fhem server durchführen.

Bin leider absoluter Noob, habe schon viel gelesen aber bekomme es nicht hin. Kann mir jemand nen Tip geben?
Das Code Beispiel aus dem Wiki habe ich bereits versucht anzupassen, leider ohen Erfolg

Grüße Lenny

reibuehl:
Ich kenne mich jetzt nicht mit Lua aus, aber wenn ich mir das Beispiel im Wiki (ich denke mal, Du meinst http://www.fhemwiki.de/wiki/ESP8266#Lua_Scripte_aufspielen ?) ansehe, würde ich vermuten, dass Du in der Zeile


--- Code: ---conn:send("GET /fhem?cmd=setreading%20esp8266temp%20state%20T:%20" ..t.. "\r\n"
--- Ende Code ---


den FHEM Aufruf in etwa so abändern müsstest:


--- Code: ---conn:send("GET /fhem?cmd=set%20dummy%20on\r\n"
--- Ende Code ---

(Unter der Annahme, dass dein Dummy dummy heißt.)

Woher Du den Status on bzw. off in dem Script bekommst, sollte dann jemand mit Lua Kenntnissen sagen  :)

Generell würde ich vorschlagen, poste den Code der Dir Probleme macht hier, dann ist es einfacher zu helfen.

Gruß,
Reiner

fhainz:
Oder mit MQTT und einem notify?

Mit dem Stichwort "ESP8266 MQTT" findest du sicher einiges.

Bei mir sieht das ca so aus.


--- Code: ----- Connect to WiFi
wifi.setmode(wifi.STATION)
wifi.sta.config("WIFINAME","PASSWORT")
tmr.alarm(0, 1000, 1, function()
   if wifi.sta.getip() == nil then
     print("Connecting...")
   else
      ip, nm, gw=wifi.sta.getip()
      print("Connected")
      tmr.stop(0)
      connectToMQTT()
   
   end
end)

-- Connecting to MQTT Broker
function connectToMQTT()
    BROKER = "IP_ADRESSE" -- IP/hostname of MQTT broker
    BRPORT = 1883 -- MQTT broker port
    BRUSER = "" -- if MQTT authenitcation is used then define the user
    BRPWD  = "" -- user password
    CLIENTID = "ESP8266-" ..  node.chipid()
   
    print "Connecting to MQTT broker. Please wait..."
   
    m = mqtt.Client( CLIENTID, 120, BRUSER, BRPWD)
    m:lwt("/temps/lwt", "Oh noes! Plz! I don't wanna die!", 0, 0)
    m:connect( BROKER , BRPORT, 0, 1)

    -- Called when connected
    m:on("connect", function(m)
        print("Connected to MQTT:" .. BROKER .. ":" .. BRPORT .." as " .. CLIENTID )
        m:publish("/temps/nodeMCU-2","initialized",0,0, function(conn) end)
    end)

    -- When client disconnects, print a message and list space left on stack
    m:on("offline", function(m)
        print ("\n\nDisconnected from broker")
        print("Heap: ", node.heap())
    end)
   
end  -- connectToMQTT

--- Ende Code ---

Leinad:
yeah baby... ich habs  ;D

zwar noch nicht perfekt, aber zumindest funktioniert es...

Verstehen, warum es geht, tu ich aber leider noch nicht  ::) :o


MQTT werde ich mir aber auf jeden Fall ansehen.

Ich benutze die Arduino IDE...




--- Code: --- WiFiClient client;
  const int httpPort = 8083;
  if (!client.connect(host, httpPort)) {
    Serial.println("connection failed");
    return;
  }
   
if(digitalRead(motionPin) == HIGH){
         digitalWrite(ledPin, LOW);   
       client.println("GET /fhem?cmd=set%20Motion_ESP%20on");
          client.println(" HTTP/1.1");
client.println("Host: localhost"); 
client.println();   
} else{
--- Ende Code ---

Pf@nne:
Machst du kuckilucki.....

http://www.s6z.de/cms/index.php/homeautomation-homecontrol/hardwareplattformen/esp8266/113-mqtt-basic-esp8266-mqtt-example

MQTT ist voll cool.... 8)

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln