FHEM Forum

Verschiedenes => Bastelecke => ESP Familie => Thema gestartet von: wthiess am 26 Juli 2017, 19:09:15

Titel: NodeMCU Lolin V3 [gelöst]
Beitrag von: wthiess am 26 Juli 2017, 19:09:15
Hallo!

Ich habe einen NodeMCU Lolin V3
Diesen habe ich mit  ESP Easy geflasht.
Unter Hardware habe ich einen DS18b20 angeschlossen. Die Temperatur kann ich im Web-Gui des ESP ablesen (Device). Aber wie bekomme ich die Daten in Fhem.
Unter config habe ich FHEM HTTP eingestellt. Unter Controller IP die Adresse des Raspi. Port 8083.
Fhem:
define ESPBridge ESPEasy bridge 8383
angelegt.
Jetzt sollte nach Anleitung mein Device automatisch angelegt werden.

Bitte um Hilfe

lg

Wolfgang



Titel: Antw:NodeMCU Lolin V3
Beitrag von: Otto123 am 26 Juli 2017, 19:12:10
Hallo Wolfgang,

ZitatPort 8083
muss 8383 sein. ->
ZitatESPEasy bridge 8383

Gruß Otto
Titel: Antw:NodeMCU Lolin V3 [Gelöst]
Beitrag von: wthiess am 26 Juli 2017, 19:57:23
Hallo Otte!
Ja ich hab eh 8383 geschrieben. Hier nur der Fehler.
Im Log hatte ich so was wie "too old" gefunden. Nun habe ich mein Gerät mir einer neueren Firmware geflasht. Auf einmal taucht in Fhem mein erster Sensor auf. So jetzt gehts weiter.

Danke
lg
Wolfgang
Titel: Antw:NodeMCU Lolin V3
Beitrag von: wthiess am 26 Juli 2017, 21:48:23
Hallo!

Jetzt ein weiteres Problem. Ich kapier das nicht. Ich möchte nur einen Port schalten.
Ich hab im NodeMcu eine Device angelegt. Switch input. Mit
set ESPEasy_ESPStiege1_Ledgelb  gpio 15 0 
kann ich schalten. Aber wie bekomme ich einen Schalter in Fhem.
Geht das nur über einen dummy und notify? Ich hab aus dem Forum diverse Ansätze getestet aber ohne erfolg.
Bitte um Hilfe
lg
Wolfgang
Titel: Antw:NodeMCU Lolin V3
Beitrag von: Otto123 am 26 Juli 2017, 21:54:54
Hallo Wolfgang,

so habe ich das letztens versucht, ist noch nicht perfekt aber ein Anfang.
http://heinz-otto.blogspot.de/2017/07/elektrodrachen-und-so.html

Gruß Otto
Titel: Antw:NodeMCU Lolin V3
Beitrag von: wthiess am 26 Juli 2017, 22:32:04
Hallo Otto!

Läuft nicht ich kann ein aber nicht mehr ausschalten.
Hier meine Config.
define ESPBridge ESPEasy bridge 8383
attr ESPBridge authentication 0
attr ESPBridge combineDevices 0
attr ESPBridge group ESPEasy Bridge
attr ESPBridge room ESPEasy

define ESPEasy_ESPStiege1_Temp1 ESPEasy 192.168.25.187 80 ESPBridge ESPStiege1_Temp1
attr ESPEasy_ESPStiege1_Temp1 IODev ESPBridge
attr ESPEasy_ESPStiege1_Temp1 Interval 300
attr ESPEasy_ESPStiege1_Temp1 group ESPEasy Device
attr ESPEasy_ESPStiege1_Temp1 presenceCheck 1
attr ESPEasy_ESPStiege1_Temp1 readingSwitchText 1
attr ESPEasy_ESPStiege1_Temp1 room ESPEasy
attr ESPEasy_ESPStiege1_Temp1 setState 3

define ESPEasy_ESPStiege1_Ledgelb ESPEasy 192.168.25.187 80 ESPBridge ESPStiege1_Ledgelb
attr ESPEasy_ESPStiege1_Ledgelb IODev ESPBridge
attr ESPEasy_ESPStiege1_Ledgelb Interval 300
attr ESPEasy_ESPStiege1_Ledgelb eventMap /gpio 15 on:on/gpio 15 off:off
attr ESPEasy_ESPStiege1_Ledgelb group ESPEasy Device
attr ESPEasy_ESPStiege1_Ledgelb presenceCheck 1
attr ESPEasy_ESPStiege1_Ledgelb readingSwitchText 1
attr ESPEasy_ESPStiege1_Ledgelb room ESPEasy
attr ESPEasy_ESPStiege1_Ledgelb setState 3
attr ESPEasy_ESPStiege1_Ledgelb stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Switch","")}
attr ESPEasy_ESPStiege1_Ledgelb webCmd :

define ESPEasy_ESPStiege1_Ledrot ESPEasy 192.168.25.187 80 ESPBridge ESPStiege1_Ledrot
attr ESPEasy_ESPStiege1_Ledrot IODev ESPBridge
attr ESPEasy_ESPStiege1_Ledrot Interval 300
attr ESPEasy_ESPStiege1_Ledrot eventMap /gpio 13 on:on/gpio 13 off:off
attr ESPEasy_ESPStiege1_Ledrot group ESPEasy Device
attr ESPEasy_ESPStiege1_Ledrot presenceCheck 1
attr ESPEasy_ESPStiege1_Ledrot readingSwitchText 1
attr ESPEasy_ESPStiege1_Ledrot room ESPEasy
attr ESPEasy_ESPStiege1_Ledrot setState 3
attr ESPEasy_ESPStiege1_Ledrot stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Switch","")}
attr ESPEasy_ESPStiege1_Ledrot webCmd :


Vielleicht siehst du hier was.

lg Wolfgang
Titel: Antw:NodeMCU Lolin V3
Beitrag von: Otto123 am 26 Juli 2017, 22:37:04
Ich bin nicht sicher, aber fehlt da nicht ein /
Zitatattr ESPEasy_ESPStiege1_Ledrot eventMap /gpio 13 on:on/gpio 13 off:off/
Hab es nie ohne probiert.
Siehe auch https://fhem.de/commandref_DE.html#eventMap
Titel: Antw:NodeMCU Lolin V3
Beitrag von: wthiess am 26 Juli 2017, 23:09:00
Hallo Otto!
Ich habebeim Strg-c das / nicht makiert. Aber das wars nicht.
Zitatin der ESPEasy Weboberfläche gpio,12,1
in FHEM set <ESPEasy Device Name> gpio 12 on
Ich muss um es per Hand zu schalten in Fhem auch 0 oder 1 eingeben.
set <ESPEasy Device Name> gpio 12 1

Ich kann einschalten aber nicht ausschalten.
lg
wolfgang

Titel: Antw:NodeMCU Lolin V3
Beitrag von: Otto123 am 26 Juli 2017, 23:24:33
mit der eventmap brauchst Du doch nur set ESPEasy_ESPStiege1_Temp1 on
set ESPEasy_ESPStiege1_Temp1 off
:-[
Das funktioniert nicht?
Und dein attr ESPEasy_ESPStiege1_Ledgelb webCmd :knipst Dir die Schaltflächen im Webfrontend weg - warum hast Du die drin?
Titel: Antw:NodeMCU Lolin V3
Beitrag von: wthiess am 26 Juli 2017, 23:35:52
Hallo Otto!

So jetzt kann ich mit on of ein oder ausschalten. Passt soweit. Aber die Anzeige - Lampe im Fhem bleibt immer ein.
define ESPBridge ESPEasy bridge 8383
attr ESPBridge authentication 0
attr ESPBridge combineDevices 0
attr ESPBridge group ESPEasy Bridge
attr ESPBridge room ESPEasy

define ESPEasy_ESPStiege1_Temp1 ESPEasy 192.168.25.187 80 ESPBridge ESPStiege1_Temp1
attr ESPEasy_ESPStiege1_Temp1 IODev ESPBridge
attr ESPEasy_ESPStiege1_Temp1 Interval 300
attr ESPEasy_ESPStiege1_Temp1 group ESPEasy Device
attr ESPEasy_ESPStiege1_Temp1 presenceCheck 1
attr ESPEasy_ESPStiege1_Temp1 readingSwitchText 1
attr ESPEasy_ESPStiege1_Temp1 room ESPEasy
attr ESPEasy_ESPStiege1_Temp1 setState 3

define ESPEasy_ESPStiege1_Ledgelb ESPEasy 192.168.25.187 80 ESPBridge ESPStiege1_Ledgelb
attr ESPEasy_ESPStiege1_Ledgelb IODev ESPBridge
attr ESPEasy_ESPStiege1_Ledgelb Interval 300
attr ESPEasy_ESPStiege1_Ledgelb eventMap /gpio 15 on:off/gpio 15 off:on/
attr ESPEasy_ESPStiege1_Ledgelb group ESPEasy Device
attr ESPEasy_ESPStiege1_Ledgelb presenceCheck 1
attr ESPEasy_ESPStiege1_Ledgelb readingSwitchText 1
attr ESPEasy_ESPStiege1_Ledgelb room ESPEasy
attr ESPEasy_ESPStiege1_Ledgelb setState 3
attr ESPEasy_ESPStiege1_Ledgelb stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"GPIO15","")}

define ESPEasy_ESPStiege1_Ledrot ESPEasy 192.168.25.187 80 ESPBridge ESPStiege1_Ledrot
attr ESPEasy_ESPStiege1_Ledrot IODev ESPBridge
attr ESPEasy_ESPStiege1_Ledrot Interval 300
attr ESPEasy_ESPStiege1_Ledrot eventMap /gpio 13 on:off/gpio 13 off:on/
attr ESPEasy_ESPStiege1_Ledrot group ESPEasy Device
attr ESPEasy_ESPStiege1_Ledrot presenceCheck 1
attr ESPEasy_ESPStiege1_Ledrot readingSwitchText 1
attr ESPEasy_ESPStiege1_Ledrot room ESPEasy
attr ESPEasy_ESPStiege1_Ledrot setState 3
attr ESPEasy_ESPStiege1_Ledrot stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"GPIO13","")}


lg
Wolfgang
Titel: Antw:NodeMCU Lolin V3
Beitrag von: Otto123 am 26 Juli 2017, 23:45:15
Hallo Wolfgang,

dann lies bitte meinen Artikel noch mal in Ruhe. Dort ist alles beschrieben. Du musst den Switch Input im ESPEasy einrichten sonst bekommst Du keine Rückmeldung. Und kontrolliere Deine Definition, Du hast jetzt schon einen Mischung aus Versuchen. Jede Zeile zählt und jeder Buchstabe :)

Gute Nacht
Otto
Titel: Antw:NodeMCU Lolin V3
Beitrag von: wthiess am 27 Juli 2017, 13:20:05
Hallo Otto!

Ich hab nun alles gelöscht Fhem und ESP.
Alles neu angelegt im ESP dann im Fhem definiert.
Nach kurzer Zeit sind dann alle reingekommen und ich hab die eventMap und  stateFormat angelegt. Dann ein devStateIcon hinzugefügt und mit webcmd die on off augeblendet.
Jetzt schauts gut aus. Irgenwo war ein Hund begraben. Aber egal. Danke nochmals für deine Hilfe.

lg
Wolfgang
Titel: Antw:NodeMCU Lolin V3
Beitrag von: wthiess am 27 Juli 2017, 14:24:46
Hallo Otto!

Nun nach Test vor Ort muss ich feststellen das on und off vertauscht sind.
Wo kann ich am besten ansetzen? Im ESP oder im Fhem. Ich hab nun einfach die Icons ausgetauscht, dann passts optisch aber intern ist immer off on und umgekehrt.
define ESPBridge ESPEasy bridge 8383
attr ESPBridge authentication 0
attr ESPBridge combineDevices 0
attr ESPBridge group ESPEasy Bridge
attr ESPBridge room ESPEasy
define ESPEasy_ESPStiege1_Gelb ESPEasy 192.168.25.187 80 ESPBridge ESPStiege1_Gelb
attr ESPEasy_ESPStiege1_Gelb IODev ESPBridge
attr ESPEasy_ESPStiege1_Gelb Interval 300
attr ESPEasy_ESPStiege1_Gelb devStateIcon on:ios-on-green:off off:ios-off:on absent:10px-kreis-rot:statusRequest .*:ios-NACK:check
attr ESPEasy_ESPStiege1_Gelb eventMap /gpio 15 on:on/gpio 15 off:off/
attr ESPEasy_ESPStiege1_Gelb group ESPEasy Device
attr ESPEasy_ESPStiege1_Gelb presenceCheck 1
attr ESPEasy_ESPStiege1_Gelb readingSwitchText 1
attr ESPEasy_ESPStiege1_Gelb room ESPEasy
attr ESPEasy_ESPStiege1_Gelb setState 3
attr ESPEasy_ESPStiege1_Gelb stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Switch","")}
attr ESPEasy_ESPStiege1_Gelb webCmd :
define ESPEasy_ESPStiege1_Rot ESPEasy 192.168.25.187 80 ESPBridge ESPStiege1_Rot
attr ESPEasy_ESPStiege1_Rot IODev ESPBridge
attr ESPEasy_ESPStiege1_Rot Interval 300
attr ESPEasy_ESPStiege1_Rot devStateIcon on:ios-on-green:off off:ios-off:on absent:10px-kreis-rot:statusRequest .*:ios-NACK:check
attr ESPEasy_ESPStiege1_Rot eventMap /gpio 13 on:on/gpio 13 off:off/
attr ESPEasy_ESPStiege1_Rot group ESPEasy Device
attr ESPEasy_ESPStiege1_Rot presenceCheck 1
attr ESPEasy_ESPStiege1_Rot readingSwitchText 1
attr ESPEasy_ESPStiege1_Rot room ESPEasy
attr ESPEasy_ESPStiege1_Rot setState 3
attr ESPEasy_ESPStiege1_Rot stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Switch","")}
attr ESPEasy_ESPStiege1_Rot webCmd :
define ESPEasy_ESPStiege1_Temp1 ESPEasy 192.168.25.187 80 ESPBridge ESPStiege1_Temp1
attr ESPEasy_ESPStiege1_Temp1 IODev ESPBridge
attr ESPEasy_ESPStiege1_Temp1 Interval 300
attr ESPEasy_ESPStiege1_Temp1 group ESPEasy Device
attr ESPEasy_ESPStiege1_Temp1 presenceCheck 1
attr ESPEasy_ESPStiege1_Temp1 readingSwitchText 1
attr ESPEasy_ESPStiege1_Temp1 room ESPEasy
attr ESPEasy_ESPStiege1_Temp1 setState 3


lg
Wolfgang
Titel: Antw:NodeMCU Lolin V3
Beitrag von: Otto123 am 27 Juli 2017, 14:29:31
Hallo,

wie hast Du denn die LED angeschlossen?

on liefert am GPIO Ausgang Plus Pegel off liefert Masse (minus)

Hier sagst Du in FHEM was on und off macht -> attr ESPEasy_ESPStiege1_Gelb eventMap /gpio 15 on:on/gpio 15 off:off/
Das kannst Du einfach umdrehen:
attr ESPEasy_ESPStiege1_Gelb eventMap /gpio 15 on:off/gpio 15 off:on/


Gruß Otto
Titel: Antw:NodeMCU Lolin V3
Beitrag von: wthiess am 27 Juli 2017, 16:33:12
Danke Otto!

Jetzt läufts wirklich super.
Danke nochmals.

lg
Wolfgang

Titel: Antw:NodeMCU Lolin V3
Beitrag von: wthiess am 27 Juli 2017, 19:59:03
Hallo Otto!

Jetzt hab ich doch noch eine Frage. Ich möchte einen Taster am ESP anschließen. Diesen habe ich Als Switch (Push Button Active Low + Internal PullUp) festgelegt. Wenn ich den Taster kurz drücke bekomme ich ein on. Nach nochmaligen drücken bekomme ich ein off. Gibt es keine echte Tasterfunktion. Muss ich hier eine notify oder so machen um es wieder auszuschalten.

Bitte um Hilfe

lg
Wolfgang
Titel: Antw:NodeMCU Lolin V3
Beitrag von: Otto123 am 27 Juli 2017, 21:06:32
Hi,

die Hilfe sagt Dir viel -> https://www.letscontrolit.com/wiki/index.php/Switch  8)
Normal Switch wäre das was Du willst.

Gruß Otto
Titel: Antw:NodeMCU Lolin V3
Beitrag von: wthiess am 27 Juli 2017, 21:14:34
Danke Otto!

Durch lesen zu vieler Dokumente war ich total verwirrt.

lg
Wolfgang