ESP8266 mit ESPEasy in wenigen Minuten an Fhem anbinden

Begonnen von Reinhart, 26 Dezember 2015, 10:33:51

Vorheriges Thema - Nächstes Thema

Bapt. Reverend Magersuppe

Zitat von: hjgode am 19 Juni 2016, 19:58:07
Das Relais hängt beim Sonoff an GPIO12, kann aber nicht über ein MQTT publish kontrolliert werden, da EspEasy kein GPIO OUT kennt: "Device Switch Input" definiert einen GPIO Pin als Eingang.

Das geht (zumindest bei Espeasy Build 78) auf der Kommandozeile:


mosquitto_pub -q 1 -d -t /sonoff/GPIO/12 -m 1


Mit

mosquitto_sub -v -t \#

sieht man, welche Topics und Messages da so durch den Server rauschen.

Payload 0 und 1 (hinter dem m). Damit schaltet man das Relais. Schau mal auf dem Log vom ESP (ob die mqtt-Kommandos überhaupt ankommen und auf welches Topic der subscribed ist.
Das Relais habe ich im sonoff-espeasy übrigens gar nicht als Switch definiert. Die mqtt-Kommandos gehen da direkt durch.
--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!

hjgode

Hallo

mosquitto_pub -q 1 -d -t /sonoff/GPIO/12 -m 1

zum Schalten zu benutzen, ist neu für mich. Bleibt der Nachteil, dass das nicht zurück-publiziert wird. Man weiss also nicht, ob das Relais ein-oder ausgeschaltet ist. Das ist bei MQTT OTA besser. Oder wirfst Du da was durcheinander. Das ist ja für die MQTT OTA (sonoff) firmware und nicht ESPeasy.

mosquitto_sub -v -t \#

muss wohl

mosquitto_sub -v -t /#

heissen, oder?
Dann bekommt man zwar Rückmeldungen, was in MQTT abläuft, aber keine aktive Meldung vom ESPEasy.

ZitatDas Relais habe ich im sonoff-espeasy übrigens gar nicht als Switch definiert.

Das geht ja auch in ESPEasy nicht.

~josef
Debian SID mit aktuellem FHEM, nanoCUL 866, JeeLink EC3000, fhemduino, SIGNALduino,
3 x TFA TH Sensor, 1 x TFA TH Arduino Sender, 3 x EC3000, 4 x Elro Schaltsteckdosen, ESA2000
offline: Wibo Funkthermostat, 2 x ELV Funkthermostat FHT80, 2 FS20 ST4 Funksteckdose

Bapt. Reverend Magersuppe

Zitat von: hjgode am 20 Juni 2016, 18:00:48
Hallo

mosquitto_pub -q 1 -d -t /sonoff/GPIO/12 -m 1

zum Schalten zu benutzen, ist neu für mich. Bleibt der Nachteil, dass das nicht zurück-publiziert wird. Man weiss also nicht, ob das Relais ein-oder ausgeschaltet ist. Das ist bei MQTT OTA besser. Oder wirfst Du da was durcheinander. Das ist ja für die MQTT OTA (sonoff) firmware und nicht ESPeasy.

mosquitto_sub -v -t \#

muss wohl

mosquitto_sub -v -t /#

heissen, oder?
Dann bekommt man zwar Rückmeldungen, was in MQTT abläuft, aber keine aktive Meldung vom ESPEasy.

Das geht ja auch in ESPEasy nicht.

~josef

Hi!

Ich habe auf dem Sonoff ESPeasy drauf, das kann auch MQTT. Gut dokumentiert ist das anscheinend nicht. Rückmeldung gibts keine, da wird wohl von ausgegangen wenn man den Befehl gepublisht hat, das der auch ankommt. Das könnte man noch über den qos-Parameter regeln damit es sicher ist das es angekommen ist. Ich weiss aber nicht, wie sehr esp-mqtt das qos überhaupt berücksichtigt. mosquitto-Server tut das ja.

Mit dem "/" geht es tatsächlich auch, habe ich gerade gut probiert. Ich habe den \ als Negotiator in der bash gebraucht weil ein einfaches #-Zeichen sonst nicht durch geht. Der / wird anscheinend ignoriert. Ich bekomme auch topics angezeigt ohne den ganz vorn davor.

Wenn man subscribed bekommt man die Rückmeldungen vom ESP wenn der noch Sensoren wie einen DS1820 dran hat. Der gedrückte Button vom Sonoff wird einem auch gemeldet.
Da muss man die Devices natürlich eintragen im Konfigpage. Beim Sonoff könnte man als Pseudo-Device die Uptime oder Memory verwenden zum testen ob da was kommt.

--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!

alexschomb

Zitat von: hjgode am 19 Juni 2016, 19:58:07
Das Relais hängt beim Sonoff an GPIO12, kann aber nicht über ein MQTT publish kontrolliert werden, da EspEasy kein GPIO OUT kennt: "Device Switch Input" definiert einen GPIO Pin als Eingang.
Die LED hängt beim Sonoff an GPIO13, falls man die ansteuern möchte.
Der Taster is der einzige Input und hängt an GPIO0 (gut zum flash-start).

Hallo Josef, danke für die Erklärung. Diese Info fehlte mir noch und ich habe mich nun doch daran gewagt SONOFF-MQTT-OTA-Arduino zu kompilieren. Jetzt klappt auch alles wie es soll und ich habe es mittels deiner Anleitung erfolgreich eingebunden. Vielen Dank für deine Auführungen und auch an Bapt. Reverend Magersuppe für sein Feedback!

Zitat von: hjgode am 05 April 2016, 08:57:30
define sonoff0 MQTT_DEVICE
attr sonoff0 IODev MyBroker
attr sonoff0 devStateIcon On:on:off Off:off:on
attr sonoff0 publishSet on off cmnd/sonoff/power
attr sonoff0 qos at-most-once
attr sonoff0 retain 1
attr sonoff0 room Licht,MQTT
attr sonoff0 subscribeReading_state stat/sonoff/POWER


Tom71

Ich hab auch schon seit einigen Wochen Sonoff-mqtt auf dem Switch und benutze ihn über einen Homatic-Schalter. Das funktioniert prima und ich brauche keine Fernbedienung für die 433Mhz Funksteckdose zu suchen.
Ich hab von Ikea so eine Lampenverlängerung mit Schalter, in der ich den Schalter einfach durch den Sonoff ersetzt habe. Leider passt der Sonoff nicht in eine alte Funksteckdose. Das wäre perfekt.


Gesendet mobil
Homematic | RaspberryMatic

Edi77

Hallo,

eigentlich dachte ich was wäre kein großes Ding, aber wie kann ich vom ESP und MQTT ein Logfile schreien?

So geht es mal nicht.


define ESP66_t10 MQTT_DEVICE
attr ESP66_t10 IODev mqttServer
attr ESP66_t10 room MQTT
attr ESP66_t10 stateFormat T Temperature °C
attr ESP66_t10 subscribeReading_Temperature /fhem/ESP66/10/Temperature
define FileLog_ESP66_t10 FileLog ./log/ESP66_t10-%Y.log Temperature
attr FileLog_ESP66_t10  logtype text
attr FileLog_ESP66_t10  room MQTT

Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

RappaSan

Filelog ist falsch definiert.
Sollte eher heißen:
define FileLog_ESP66_t10 FileLog ./log/ESP66_t10-%Y.log ESP66_t10:Temperature.*

Edi77

Hallo,

DANKE
Werde das mal testen, wenn nicht wieder der olle ESP 201 abgestürzt ist.
Ich glaub ich tausche den gegen einen D1 mini
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

RappaSan

Ich habe hier ein paar NodeMCU mit BME280-Sensor laufen. Die NodeMCUs hatte ich mal beim Ali bestellt, laufen prima und kosteten weniger als 6 Euro. Einziger Wermutstropfen ist die lange Lieferzeit aus China (ca. 3-4 Wochen). EspEasy draufgespielt - Sensor laut Anleitung in der Weboberfläche definiert und fertig.

Edi77

#219
Hallo,

So der D1 mini mit ESP12E ( habe auch mal 2 ESP12F in China geordert, bin mal gespannt wo der unterschied liegt ) und läuft wesentlich stabiler wie der ESP 201 mit evtl. besserem Wifi empfang.
Ich habe mit PiDome MQTT heute öfters mal das Problem gehabt das der ESP werte vom DS18B20 und BH1750 ausgelesen hat, aber nicht zum FHEM übermittelt.
Jetzt habe ich mal auf OpenHAB MQTT umgestellt, mal sehen ob es besser wird.

Ich habe auch das Problem das im Weblog öfters dieses kommt


1417358 : MQTT : Connection lost
1418379 : MQTT : Connected to broker
1418386 : Subscribed to: /ESP66/#
1428317 : DS : Temperature: 16.50 (28-ff-9e-50-52-15-1-fc)
1428333 : LUX : Light intensity: 0.83
1428334 : HTTP : Delay 997 ms
1428337 : MQTT : Topic: /ESP66/DS18B20/Temperature
1428338 : MQTT : Payload: 16.50
1429348 : MQTT : Topic: /ESP66/BH1750/Lux
1429348 : MQTT : Payload: 0.83
1447359 : WD : Uptime 24 ConnectFailures 94 FreeMem 26176
1447359 : MQTT : Connection lost
1448378 : MQTT : Connected to broker
1448386 : Subscribed to: /ESP66/#
1477360 : WD : Uptime 24 ConnectFailures 96 FreeMem 26176
1429348 : MQTT : Topic: /ESP66/BH1750/Lux
1429348 : MQTT : Payload: 0.83
1447359 : WD : Uptime 24 ConnectFailures 94 FreeMem 26176
1447359 : MQTT : Connection lost
1448378 : MQTT : Connected to broker
1448386 : Subscribed to: /ESP66/#
1477360 : WD : Uptime 24 ConnectFailures 96 FreeMem 26176
1477360 : MQTT : Connection lost
1478376 : MQTT : Connected to broker
1478385 : Subscribed to: /ESP66/#
1489300 : LUX : Light intensity: 0.83
1489301 : HTTP : Delay 997 ms
1489484 : MQTT : Topic: /ESP66/DS18B20/Temperature
1489484 : MQTT : Payload: 17.00
1490316 : MQTT : Topic: /ESP66/BH1750/Lux
1490316 : MQTT : Payload: 0.83
1507361 : WD : Uptime 25 ConnectFailures 98 FreeMem 26176
1507361 : MQTT : Connection lost
1508381 : MQTT : Connected to broker
1508387 : Subscribed to: /ESP66/#


Mir ist noch nicht klar was das ConnectFailures bedeutet.
Laut meinem PRTG ist der ESP im Netzwerk immer erreichbar, und der Empfang liegt bei -75dB
Auch wenn er 2m neben dem Router liegt bei ca. -50dB gleiches Problem
Ich habe mal gelesen wenn mehrere ESPs mit dem MQTT sprechen müssten alle ESPs verschiedene Device Number haben, aber was soll das bedeuten? In Config die Unit Nr.?
Hatte diese mal bei allen ESP verschiedene eingestellt, und das UDP Port so das die ESPs sich auch in der node Liste sehen, aber die ConnectFailures sind geblieben, allerdings nicht mehr so häufig.
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

Franz Tenbrock

Hallo
Sorry , hab noch eine Frage obwohl es weiter vorne im Thread shcon mal kurz Thema war

Zitat von: RappaSan am 30 Januar 2016, 15:40:16
Der HCSR04 Ultraschallsensor ist ja in der ESPeasy Weboberfläche als Sensor enthalten.
Mal ne bescheidene Frage: Wie definiere ich den Trigger und Echo Pin denn in der Weboberfläche?
Und wie komme ich an die Messwerte?

hast du dir schon das Wiki vom DistanceSensor gelesen, da ist die Konfiguration abgebildet!  Link:http://www.esp8266.nu/index.php/DistanceSensor
Hilft dir vielleicht weiter.


Bin gerade auch dabei. Da ich aber wenig E Tech Kenntnisse habe komm ich nicht so recht weiter.

Hab aber einen DYP-ME007Y Ultrasonic, bei mysensor.org wird nur darauf hingewiesen dass er erst ab 30 cm messen kann.

Levelshifter hab ich so realisiert wie auf dem Bild, allerdings nur am Trigger.

https://tinker.yeoman.com.au/2016/01/15/esp8266-smart-shelf-part-2-nodemcu-arduino-ide/

Hat es einer realisiert ?

DHT 22 läuft bei mir mit espeasy, also ansprechen kann ich ihn, Temperatur wird gesendet

hab D7 an Echo
und D6 über Levelshifter 2,2 k und 4,7K an Trigger

D6 als Gpio 13
D7 als Gipo 12

Task Settings   Value
Device:   ?
Name:   zisterne
IDX / Var:   2
1st GPIO:   12
2nd GPIO:   13
Mode: Value   
Send Data: x   

Value Name :   Distance

CloseSubmit


Blinken tut er schon mal , aber leider sendet er keinen Wert an espeasy

Hat jemand ein Foto von seinem Schaltplan ev über direkte mail ev einfacher
Franz@Tenbrock.de

Wenn es dann läuft soll das Ganze in die Zisterne eingebaut werden., das Wiki werde ich dann ergänzen.

Thanks
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Edi77

#221
Hallo,

Vielleicht für andere auch interessant ein IoT mit ESP12F und 2 Relais on Board
http://www.electrodragon.com/product/wifi-iot-relay-board-based-esp8266/
https://ex-store.de/ESP8266-WiFi-Relay-V3
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

RappaSan

Hallo Franz,
ich befürchte, daß Du Dir genau den falschen Port für Deine Widerstände ausgesucht hast.
Der Trigger sollte das Ultraschall-Signal auslösen und der Echo-Pin das empfangene Echo zurückliefern.
Oder irre ich mich da?

Btw: Das ist kein Levelshifter, sondern ein Spannungsteiler. Der soll die schädlichen 5 V herunterregeln auf annähernd 3,3 V.

Franz Tenbrock

Kann man das in beide Richtungen so machen, oder einfach jeweils einen Widerstand direkt in die Leitung.
Hab das Ganze Internet abgesucht, aber leider kaum Bilder...
hab die Schaltung so gemacht wie bei mysensors beschrieben
Hab kurz auch dei GPIO Adressen für Trigger und Echo in espeasy getauscht
Die Frage ist ob D6 undD7 überhaupt richtig sind.

Die Frage ist wenn ich mir das hier anschaue
http://www.cnx-software.com/2015/10/29/getting-started-with-nodemcu-board-powered-by-esp8266-wisoc/
D7 und D8 nicht besser wären da steht was von RX und Tx

naja irgendwie wirds schon irgendwann dann auch mal klappen.

cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

RappaSan

Der Trigger sollte der digitale Ausgang des NodeMCU sein, um den Ultraschall-Impuls auszulösen. Spannung: 3.3 V.
Echo sollte dementsprechend der Rückimpuls-Eingang sein, der vom UltraschallSensor gespeist wird. Und der Sensor arbeitet mit 5 V.
Gaaanz schlecht für ESP-chips. Drum kommt der Spannungsteiler davor, der einen Teil des 5V-Impulses nach Masse ableitet. Nützt also nix, nur einen Widerstand in die Leitung einzuschleifen. Das würde nur den Strom begrenzen, aber nichts an der Spannung ändern.
Stichwort Ohm'sches Gesetz.