ESP8266 mit ESPEasy in wenigen Minuten an Fhem anbinden

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

Vorheriges Thema - Nächstes Thema

Pf@nne

Moin,

so in der Art habe ich das bei mir umgesetzt.
Ziel soll eine vollständige Steuer-/Rückmeldestruktur sein. Dann kann man drauf reagieren, wenn mal was "verschütt" geht.
Ist aber natürlich die Frage ob das z.B. bei einer einfachen Lichtsteuerung notwendig ist.
Wie oft geht etwas verloren und wäre es schlimm, den Taster dann nochmal zu drücken?
Ich steuere testweise schon einige Lampen und die Zirkulationspumpe, bisher hatte ich da noch keine Probleme.

(http://s6z.de/cms/images/content/test/Homeautomation/Infrastruktur/Steuerschrank/Konzept_MQTT.png)
FHEM auf: DS415+ (Master), Raspberry Pi 2

noxx

Zitat von: hjgode am 26 März 2016, 08:17:05
...
Eine andere und meines Erachtens bessere Möglichkeit ist es den GPIO Out Werte über einen zweiten Port zurücklesen. Dann weiß man mit Sicherheit was am Ausgabe-Port ansteht. Bei einem ESP-01, der nur zwei Ports hat wobei man noch beachten muß, was an GPIO0 während eines Resets anliegt ist kann man dann aber nicht noch einen Taster anschliessen. Um den Zustand über einen Reset zu retten müsste die Firmware ebenfalls geändert werden.
Man kann zB den GPIO2 als Ausgang und GPIO0 als (Verify) Eingang verwenden.
...

Nutze eine Nodemcu, der hat ausreichend Ports. Hättest du ein Beispiel für mich, wie das aussehen könnte?

Offtopic:
Bisher nutze ich Pimatic, aber aufgrund der grösseren Hardwareuntersützung teste ich gerade FHEM.
Pimatic kann zwar auch mit ESPeasy umgehen, hat da aber ein besseres Modul (ESPIMATIC), welches auch
Statusmeldungen zurücksendet.

hjgode

#152
@noxx

Verwendung von GPIO2 als Eingang: siehe http://www.forward.com.au/pfod/ESP8266/GPIOpins/index.html

(http://www.forward.com.au/pfod/ESP8266/GPIOpins/ESP8266_GPIO_INPUTS.jpg)

Da wird GPIO0 als Ausgang benutzt und über GPIO2 eingelesen.

~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

noxx

Das heisst, ich muss einen GPIO verschwenden nur um eine Statusrückmeldung zu bekommen?

Ich muss an meinem Nodemcu
4 Relais, einen DS18b20 und einen Taster haben.
Taster soll Relais 1 & 2 für 5 Minuten schalten, wenn Relais 1 & 2 OFF
Relais 1-2 soll auch geschaltet: 6:00Uhr An, Sonnenaufgang Aus, Sonnenuntergang An, 22:00Uhr Aus
Relais 3 wenn Magnetsenor OFFEN
Relais 4 wenn Temp < 0°

Muss mich dann nach einer anderen Möglichkeit mit dem ESP umgucken, EasyESP ist dann wohl
nicht das richtige für mich.

Gruß

oli82

@noxx
Mit nem I2C Port Expander sollte es machbar sein, wenn du die Rückmeldung brauchst

Bapt. Reverend Magersuppe

Hi Noox,
das scheint mir eine sehr spezielle Anwendung zu sein. Vermutlich kommst du da mit einem eigenen Programm auf dem ESP besser hin. Vor allem kannst du dann eine Menge Intelligenz direkt auf dem ESP laufen lassen. Speicher und MHz sind für solche Sachen mehr als genug vorhanden.
--
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!

cs-online

Zitat von: hjgode am 26 März 2016, 08:17:05
Den Staus eines GPIO ports der auf Output gesetzt wurde, kann man nicht über einen GPIO Input Befehl zurücklesen.

Hallo Josef,

in Lua ist es schon möglich, einen GPIO, der über

gpio.mode(8, gpio.OUTPUT)


als Output definiert wurde, später über


gpio.read(8)


wieder auszulesen.

Ich habe so eine 8er Relaisblockschaltung realisiert, die von FHEM aus über ein notify auf ein Schalterdummy mit


$test=GetFileFromURL("http://192.168.2.45/?pin=ON8")


hier Relais 8 anschaltet, vom ESP bekomme ich dann per LUA in $test den aktuellen Schaltzustand von Relais 8 zurück, was im notify wiederum mit der Schaltaufforderung verglichen wird.

Das ganze ohne ESPEasy in LUA und FHEM/PERL selber zu programmieren war schon nicht ohne, aber so habe ich eine quasibidirektionale Verbindung und kann sicher sein, daß das Relais wirklich an ist, wenn ich das will,

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

hjgode

Hallo

als Alternative zu ESPeasy, wenn man vorzugsweise nur über WLAN Schalten will, und das mit Rückmeldung: Sonoff (https://github.com/arendst/Sonoff-MQTT-OTA-Arduino). Ist zwar für die itead Sonoff Module (habe jetzt zwei im Einsatz), sollte aber bei Anpasung der GPIO ports auch für ESP-01 gehen. Für 4,50-7 USD kann man solche Netzschalter nicht selber bauen.

Habe ich wie folge in meinem FHEM eingebunden (fhem.cfg):

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


Als MQTT broker habe ich mosquitto laufen.

Bei Änderung des Ausgangs, also auch, wenn man am Modul den Taster drückt, wird der Zustand über MQTT publiziert.

ESPeasy bleibt weiter mein Favorit für Sensoren, aber für Switches ist es eher sub-optimal.

~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

Hallo,
von den Sonoffs habe ich mir auch ein paar bestellt, die machen einen ganz ordentlichen Eindruck! Die sonoff-mqtt-Firmware werde ich mal ausprobieren, das ist wohl genau das richtige für die kleinen Dinger.
Ich hatte bisher das Problem dass der Zustand vom Schalter/Taster nicht mehr passt wenn man per fheml-mqtt-Kommando schaltet. Man müsste beim Tasten eigentlich den Zustand immer invertieren.

Mal was anderes nebenbei: Passen die sonoffs eigentlich in eine UP-Dose?
--
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

Zitat von: Bapt. Reverend Magersuppe am 05 April 2016, 09:52:46
Hallo,
von den Sonoffs habe ich mir auch ein paar bestellt, die machen einen ganz ordentlichen Eindruck! Die sonoff-mqtt-Firmware werde ich mal ausprobieren, das ist wohl genau das richtige für die kleinen Dinger.
Ich hatte bisher das Problem dass der Zustand vom Schalter/Taster nicht mehr passt wenn man per fheml-mqtt-Kommando schaltet. Man müsste beim Tasten eigentlich den Zustand immer invertieren.

Mal was anderes nebenbei: Passen die sonoffs eigentlich in eine UP-Dose?

Also in eine UP Dose passt so ein Sonoff nicht. Als Alternative Software habe ich noch https://github.com/ImUrlaub/Sonoff gefunden (benötigt dann HTMLmod).

Ich habe meine Sonoff erfolgreich mit der Arduino IDE 1.6.5 und ESP8266 2.1.0-rc2 direkt mit 1M (64k) flashen können.

Nützlich, falls nicht bekannt, die Seite http://tech.scargill.net/itead-slampher-and-sonoff/ (gerade offline?).

Ansonsten sollte alles mögliche auf dem ESP8266 Sonoff laufen: LUA etc. Hat halt nur 1 GPIO Out (Relais), einmal LED zur Kontrolle und einen Taster (GPIO0), aber saubere Stromversorgung und das 220V/8A Relais.

~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

#160
Danke für die umfassenden Infos. LUA wäre natürlich für den Sonoff auch interessant. Aber eigentlich wollte ich dabei sehr minimalistisch bleiben. Es gibt ja nur einen GPIO für das Relais, einen für die LED und den Taster.
Und wenn man sowas eben in die Wand einbaut oder im Schrank sollte das natürlich laaange stabil laufen nach dem Motto: Hey Schatz! Lass den Schalter, nimm die App  8)

Insgesamt ziemlich geiles Zeug!

Noch mehr Infos zu den Sonoffs: http://tech.scargill.net/sonoff-to-mains-block/
Die kleinen Dinger in Funksteckdosen einbasteln. Das erhöht die Zuverlässigkeit denke ich.
--
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!

The-Holgi

Hallo,
ich habe 20x4 Display an einem ESP mit espeasy angeschlossen. Die Daten der lokalen Sensoren werden auch problemlos angezeigt und auch an fhem übertragen.
Gibt es eine Möglichkeit daten vom fhem Server auf dem Display auszugeben?

Gruß Holgi
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

schka17

Zitat von: The-Holgi am 13 April 2016, 20:42:13
Hallo,
ich habe 20x4 Display an einem ESP mit espeasy angeschlossen. Die Daten der lokalen Sensoren werden auch problemlos angezeigt und auch an fhem übertragen.
Gibt es eine Möglichkeit daten vom fhem Server auf dem Display auszugeben?

Gruß Holgi
Ja klar, aus dem kopf müsste die syntax so aussehen: http://ipadresse/control?cmd=lcd,zeile,spalte,text
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

The-Holgi

Danke für den Tipp, so klappt es schonmal. Muß das jetzt nur noch irgendwie in ein notify packen. Sollte doch mit wget... gehen oder ?
Gruß Holgi
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

deluxe41

Hallo Holgi,

Ich steuere mein Display mit DOIF und einem dummy

define ESP8266Unit1 dummy und
define ESPDisplay DOIF([ESP8266Unit1] eq "Display an")({ GetHttpFile("192.168.178.45:80", "/control?cmd=oledcmd,on") })

Den Text lasse ich mir so ähnlich anzeigen...


Gruß


Sent from my iPhone using Tapatalk
Fritzbox 7490 ( USV + Fall Back ), einige HM komponenten,ESPs