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
Hallo Wolfgang,
ZitatPort 8083
muss 8383 sein. ->
ZitatESPEasy bridge 8383
Gruß Otto
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
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
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
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
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
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
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?
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
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
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
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
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
Danke Otto!
Jetzt läufts wirklich super.
Danke nochmals.
lg
Wolfgang
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
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
Danke Otto!
Durch lesen zu vieler Dokumente war ich total verwirrt.
lg
Wolfgang