Entwicklung: Sensor mit dem ESP8266 WLAN-Funkmodul

Begonnen von locutus, 09 November 2014, 19:30:06

Vorheriges Thema - Nächstes Thema

gloob

Hast du vielleicht Lust auf die Firmware vom "360 Grad IR WLAN Gateway" umzusteigen: https://forum.fhem.de/index.php/topic,72950.0.html

Ich denke es braucht nicht 2 Firmware Versionen für die gleiche Anwendung.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Olly

Hallo,

ich würde gerne den WLAN-RGB-Controller als RGBW-Controller betreiben.
Sehe ich das richtig, dass ich beide Lötbrücken SJ1 und SJ2 von 1-2 auf 2-3 ändern muss, um RGBW zu nutzen? Das tauscht -wenn ich das richtig überblicke- rot und grün.
Gibt es eine für Otto-Normalverbraucher zugängliche Bezugsquelle für den MOSFET (NTD85N02R)? Ich hab ihn nur bei Mouser, Digikey und Bürklin gefunden :-(
Muss die Firmware für den RGBW-Betrieb angepasst werden?

Sorry für die vielen Fragen, ich hoffe man kann sie mir beantworten.

Gruß

     Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Olly

Vielen Dank,

das schaue ich mir mal näher an.

Gruß

      Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

locutus

Zitat von: Olly am 09 Oktober 2018, 16:25:48
Sehe ich das richtig, dass ich beide Lötbrücken SJ1 und SJ2 von 1-2 auf 2-3 ändern muss, um RGBW zu nutzen?
Nur wenn der ESP8266 vorher mit passender RGBW-Firmware programmiert wurde. Ansonsten ist das Umsetzen der Lötbrücken sinnlos.
Siehe auch: https://github.com/arendst/Sonoff-Tasmota/wiki/Arilux-LC02

inter79

Hallo,

ich versuche nun schon seit längeren meinen ESP8266 zu integrieren, aber erfolglos.
Mein reading:

stateFormat {sprintf("%.1f",ReadingsVal("esp8266temp","state",0))."°C"}

Habe nach der Anleitung gearbeitet. Im Esplorer scheint alles zu passen, denn dort werden die Werte angezeigt, nur in Fhem bekomme ich die Daten nicht angezeigt. Woran könnte es noch liegen?

MadMax-FHEM

#351
Wenn du in fhem gar keine Daten angezeigt bekommst!? dann hilft auch stateFormat nicht weiter...

Poste doch mal ein list des Gerätes (sofern eines da ist):

list GeräteName

bzw. (wenn der Name im stateFormat stimmt):

list esp8266temp

in die FHEMWEB-Befehlszeile und dann die Ausgabe hier in "code-Tags" ('#' im Menü) posten...

Wenn gar nichts angelegt wurde ein paar mehr Hintergründe zu verwendeter FW, was für eine Art Sensor (gut vermutlich Temperatur aber welcher Sensor etc.) und wie du die Daten im Esplorer siehst (serielle Console, also noch per USB verbunden?).

Siehst du ihn im WLAN, z.B. taucht er im Router als WLAN-Client auf?

Gruß, 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)

inter79

Also hier die list:
Internals:
   CFGFN     
   NAME       esp8266temp
   NR         65
   STATE      0.0°C
   TYPE       dummy
   READINGS:
Attributes:
   room       esp_test
   stateFormat {sprintf("%.1f",ReadingsVal("esp8266temp","state",0))."°C"}


Die Firmware für den ESP8266: nodemcu_integer_0.9.5_20150318.bin

Habe mittlerweile das Beispiel bh1750 aufgespielt.

Im Esplorer erscheint folgendes mit fortlaufender lx:
IP unavaiable, Waiting...
ESP8266 mode is: 1
The module MAC address is: Macunsichtbar
Config done, IP is 192.168.1.216
lux: 54612.50 lx
lux: 54612.50 lx


Hab lediglich die MAC unkenntlich gemacht.

Ja die Daten sehe ich über seriell. Und in der Fritzbox ist der ESP auch sichtbar

MadMax-FHEM

Ich nutze ja ESPs nicht wirklich aber ich wüsste nicht wie Daten von einem ESP in einen fhem Dummy kommen sollen (außer man hat ein Script dass das tut)...

Was stellt der der ESP zur Verfügung um Daten zu bekommen (außer seriell)!?
Also was hast du denn programmiert bzw. welche Einbindung in fhem soll damit gehen!?

Was du geschrieben hast ist ja nur die Basis-FW...

Hast du diesen oder andere ESP Threads schon mal durch?

Es gibt ja etliche Möglichkeiten einen ESP an fhem anzubinden...

Gruß, 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)

inter79

Die Anleitung habe ich aus dem Wiki
https://wiki.fhem.de/wiki/ESP8266

Auch habe ich das mit den Usern und dem Passwort schon geändert und getestet, leider ohne Erfolg

MadMax-FHEM

Ah, ok.
Der ESP schickt die Daten per Http-Request soweit ich das beim Überfliegen gesehen hab.

Häng doch mal deinen Code mit an.
Passwörter etc. natürlich rausnehmen!

Zum Test würde ich auch mal ein eigenes FHEMWEB anlegen ohne Passwort etc. und auch mal csrfToken auf none setzen.
Wenn das dann geht umstellen auf den eigentlichen Zugang...

Vielleicht auch mal andere Anbibdungsmöglichkeiten anschauen, z.B. EspEasy...

Bin allerdings unterwegs, komme also erst heut abend dazu...

Gruß, 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)

RaspiLED

Hi.
In Deinem Listing vom ESP steht dich, dass er keine IP Adresse hat. Wie soll er dann an Dein FHEM Daten senden?
Stimmen die Daten fürs WLAN?
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

inter79

#357
Hallo,

der ESP8266 hat auch im Listing eine IP  und zwar 192.168.1.216. Ich schätze die Meldung unavailable kommt zuächst bis beim zweiten Aufbau einen IP zugeteilt wird. In der Fritzbox taucht er auch auf.

IP unavaiable, Waiting...
ESP8266 mode is: 1
The module MAC address is: Macunsichtbar
Config done, IP is 192.168.1.216
lux: 54612.50 lx
lux: 54612.50 lx


Ich denke es liegt in der init.lua den ich aus der FHEM Wiki https://forum.fhem.de/index.php?action=dlattach;topic=28905.0;attach=32419 heruntergeladen habe
init.lua

--init.lua
wifi.setmode(wifi.STATION)
wifi.sta.config([color=red]"SSID","Passwort"[/color])
wifi.sta.connect()
tmr.alarm(1, 1000, 1, function()
  if wifi.sta.getip()== nil then
  print("IP unavaiable, Waiting...")
else
  tmr.stop(1)
print("ESP8266 mode is: " .. wifi.getmode())
print("The module MAC address is: " .. wifi.ap.getmac())
print("Config done, IP is "..wifi.sta.getip())
dofile ("fhem_bh1750.lua")
end
end)


In der fhem_bh1750.lua sind noch folgende Zeilen zum anpassen

conn:connect([color=red]8086,"192.168.1.XX"[/color])
conn:send("GET /fhem?cmd=setreading%20esp8266temp%20state%20T:%20" ..luxi.. "\r\n"
            .. "HTTP/1.1\r\n"
            .. "Host: www.local.lan\r\n"
            ..[color=red] "Authorization: Basic XXXX==\r\n" [/color]
            .. "Connection: keep-alive\r\n"
            .. "Accept: */*\r\n\r\n")


Werde es nun zuerst mal mit ändern des csrfToken machen.

Eine Frage habe ich noch. Woher weiss ich das der Port 8086 in der Fhem auch aktiviert ist? Wie könnte ich das testen?

Wie lege ich ein FHEMWEB an?



MadMax-FHEM

#358
So wie ich das sehe sind da schon einige Dinge naja...

setreading ... state ...

Naja...
Gut kann man lassen...
Normalerweise ein set Name Value oder eben setreading und dann ein "richtiges" Reading...
Ist aber nicht das Problem...

So wie ich das sehe geht das nur mit einem Webzugang ohne csrfToken...
Maximal könnte man das noch zu einem Aufruf mit fixem, selbst gesetzten Token umbauen...

So nun zu FHEMWEB:

Mittels list TYPE=FHEMWEB
bekommst du raus welche FhemWeb Instanzen du hast, dort findest du auch den Port.
Alles weitere in der commandref oder beim FhemWeb Device selbst: Device specific help ganz unten...

Anlegen:

define FhemWebAPI FHEMWEB 8086 global

Dort dann noch das Attribut csrfToken auf none...
...oder auf einen fixen Wert und das dann im Lua-Aufruf ergänzen...

Wenn kein allowed Device dafür erstellt wurde/wird (würde ich zum Test erst mal lassen und auch mal csrfToken auf none), dann kein https und kein User/Passwort im fhem-Teil von Lua nötig...

Aber wie bereits geschrieben nutzt wohl die Mehrzahl der ESP-Nutzer sowas wie ESPeasy...

Ansonsten sind meine Lua-Zeiten lang vorbei war mir immer etwas suspekt...
Mittlerweile programmiere ich wenn dann über die Arduino-IDE "direkt"...
Wobei ich mit ESP in letzter Zeit eher (wieder) weniger mache...

EDIT: zum Test kannst du auch einfach den im Lua hinterlegten http-Request in den Browser werfen. Wenn es da nicht geht, dann wird es auch mit dem ESP nicht klappen. Wenn der Aufruf im Browser tut, musst du eben das ESP/Lua-Zeugs so anpassen, dass der selbe Aufruf "gebildet" wird...

Viel Erfolg, 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)

inter79

Hallo MadMax,

vielen herzlichen Dank für deine Hilfe. Bin jetzt erst zum testen dazugekommen, aber das mit dem 
define FhemWebAPI FHEMWEB 8086 global war der ganze Trick ;)

Nochmals vielen Dank für die sachliche Antwort und Hinweise. 8)