Neues Modul: ESPEasy [war: ESPEasy ohne MQTT]

Begonnen von dev0, 18 Juli 2016, 11:53:28

Vorheriges Thema - Nächstes Thema

dev0

Zitat von: privat58 am 06 Februar 2017, 20:53:29
Es ist absolut irritierent, wenn man ein "ESPEasy_ESP8266_Relay1:on.* set ESPEasy_ESP8266_Relay1 longpulse 14 0 10" anlegt, um nach einer gewissen Zeit auszuschalten.

Der gezeigte Befehl ist unvollständig, soll das ein Notify sein und was genau ist irritierend?
Wenn Du on-for-timer oder off-for-timer lieber verwenden möchtest, dann kannst Du das mit dem globalem eventMap Atrribut umsetzen. Ist hier im Thread (und in der Command Ref.) beschrieben.

ZitatAlternativ wage ich den leisen Vorschlag, ob man dies mit einem attr-Befehl anpassen könnte.

Was genau soll angepasst werden, ich verstehe es noch nicht.

privat58

Danke für die Antwort erst einmal.
Durch das arduino-Relais, was mit GND geschalten wird ist der Befehl 1=aus und 0=an, das ist irritierend. Die state-Meldung kann ich ja in ESPeasy mit inversed tauschen.
Ist ein notify:define ESPEasy_ESP8266_Relay1 ESPEasy 192.168.0.113 80 espBridge ESP8266_Relay1
attr ESPEasy_ESP8266_Relay1 IODev espBridge
attr ESPEasy_ESP8266_Relay1 Interval 300
attr ESPEasy_ESP8266_Relay1 devStateIcon .*on:rc_GREEN:off .*off:rc_RED:on .*absent:rc_BLUE .*gpio:rc_YELLOW:off
attr ESPEasy_ESP8266_Relay1 eventMap /gpio 14 on:off/gpio 14 off:on/status gpio 14:check/
attr ESPEasy_ESP8266_Relay1 group ESPEasy Device
attr ESPEasy_ESP8266_Relay1 presenceCheck 1
attr ESPEasy_ESP8266_Relay1 readingSwitchText 1
attr ESPEasy_ESP8266_Relay1 room ESPEasy
attr ESPEasy_ESP8266_Relay1 setState 6

# Relay1 Zeitschaltung
define TimerRelay1 notify ESPEasy_ESP8266_Relay1:on.* set ESPEasy_ESP8266_Relay1 longpulse 14 0 10


Es geht nicht allgemein um fhem etc. Es geht um die getauschten ON/OFF-Befehle.
Ich weiß es nicht, aber mit einem globalen eventMap Attribut werden doch bestimmt alle ON/OFF Befehle getauscht. Da ich noch vieles anderes laufen habe wäre dies nicht so gut.
Eventuell gibt es noch mehr Ideen oder muss halt den Konsum ankurbeln und passende Relais holen.

dev0

Zitat von: privat58 am 07 Februar 2017, 10:38:46
Ich weiß es nicht, aber mit einem globalen eventMap Attribut werden doch bestimmt alle ON/OFF Befehle getauscht.

Nein, global heißt in dem Zusammenhang nur, dass sie für jedes FHEM Device zur Verfügung stehen.

thx2k

Hallo

Bin eigentlich eher der stille Leser hier im Forum und hab bisher alles dank der tollen User hier hinbekommen aber im Moment komme ich nicht weiter.

Ich probier mich auch gerade mit den NodeMCU und hab eins mit Firmata zum laufen gebracht und als nächstes ESPEasy probiert.
Der ESP ist geflasht mit der 147er Version und ist mit dem Wlan verbunden und ich hab soweit alles eingestellt.
In FHem hab das ganze so wie im 1.Post beschrieben definiert.
Da ich auch nur Ausgänge schalten möchte, sind natürlich keine Sensoren oder ähnliches angeschlossen also werden auch keine Device's in Fhem angelegt, zumindest denke ich mir das so.....
Also einfach mal zum testen einen  Switch angelegt auf GPIO-16 (D0) und hab dann dort 3,3v angelegt und wollte sehen ob der Input funktioniert....
Naja auf jeden Fall hab ich inzwischen soviel getestet und rumgestellt, dass ich nicht mehr weiß was ich schon alles probiert habe.
Allerdings ist mir irgendwann mal aufgefallen dass ein Switch den ich angelegt hatte in Fhem automatisch eingebunden wurde, allerdings hatte ich den schon wieder im ESP entfernt und weiß auch nicht mehr was ich da alles ausprobiert habe.

Ziel ist auf jeden Fall einen Button anlegen und wenn ich den drücke soll fhem das registrieren und im nächten Schritt wollte ich über einen Ausgang ein Relais schalten per Fhem

So nun mal konkrete Fragen von mir.

Unter Config habe ich FHEM HTTP Ausgewählt, locate Controller steht auf IP.
Was muss jetzt unter IP und vor allem Port stehen. Ich habe es mit der IP vom FHEM Server probiert und dem Port 8083

Dann bei den Devices gibt es eine IDX/Variable, da darf nur nicht 0 drin stehen und es darf vermutlich keine doppelt vergeben werden, ist das so korrekt?

Ich danke schon mal im Voraus für hoffentlich hilfreiche Antworten.

Otto123

Hi thx2k,
IP Adresse muss die vom FHEM Server sein, das Port ist das Port was man beim define vergibt und nicht das FHEMWEB Port!

Wenn Du also "abgeschrieben" define espBridge ESPEasy bridge 8383 hast dann ist das Port 8383.

Beim Index bin ich nicht sicher, ich vergebe immer einen Anderen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

dev0

Wie Otto schon schrieb müssen ESPEasy Bridge Port und Controller Port in der ESP Config übereinstimmen. Weiterhin muss die Controller IP der IP des FHEM Hosts entsprechen.
Der Index wird in FHEM nicht benötigt, sollte aber > 0 sein, da sonst ESP Devices (teilweise?) keine Daten senden. Laut ESPEasy Doku müssen die Indexe auch unterschiedlich sein.
Beispiele für Deine Relay/Tasterkombination findest Du zB. im Sonoff Wiki.

thx2k

Hallo

Schon mal danke für die Antworten 🙂

Also Port hatte ich natürlich 8383 angegeben, war nur ein Schreibfehler oder vielleicht auch ne Angewohnheit in Verbindung mit Fhem.
Nur legt es eben das Device nicht automatisch an, hab auch schon nen Dummy probiert und da nen Temperatursensur simuliert.
Dass es generell funktioniert hatte ich ja gesehen, da nach Stundenlangem rumtesten ja ein angelegter testswitch definiert war aber ich weiss eben nicht mit welchen Einstellungen 😅
Werd mir aber heute mal das von dir erwähnte Wiki anschauen und komme dann hoffentlich weiter.

Gibt es denn noch ne andere Möglichkeit zu testen ob eine Verbindung zu ESPEasy besteht, initialisieren tut er es mit dem Befehl ja immer, egal ob ESPEasy erreichbar ist oder nicht.

Gruß Christian

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

MichaelO

Vielleicht hab ich was übersehen, aber ggf. gäbe es noch einen Verbesserungsvorschlag für das Modul:

Der ESP wird eingerichtet (IP per DHCP wie wohl üblich), die Devices angelegt, alles läuft. Dann vergibt man für diesen ESP im Router eine fixe IP außerhalb des DHCP-Scopes für den Produktivbetrieb. Nun findet zwischen FHEM und dem ESP keine Kommunikation mehr statt, es werden komischerweise aber auch keine neuen Devices angelegt. Erst wenn in den Devices die Definition geändert und an die neue IP angepasst wird, passt wieder alles.

Es wäre gut, wenn das Modul erkennt, dass sich bei einem Device (IDENT bleibt ja gleich) die IP geändert hat und dies selbst anpasst. Oder kann man das schon wo einstellen und ich hab nur den Parameter übersehen?

Gruß
Michael



majorshark

Gibt es schon. Einfach das Device löschen.
Es wird automatisch neu und mit der richtigen IP angelegt.  ;)
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Wichtel

Und diese "Problematik" mal umgemünzt auf eine klassische dynamische IP vom DHCP: Würde es laufen?
Oder müsste das Device allenthalben, wenn es gerade nicht mehr geht, wieder gelöscht werden?

dev0

Das Moduldesign ist auf statische IPs ausgelegt, das werde ich auch nicht mehr ändern. DHCP Server können auch statische IPs vergeben.
Wenn die IP eines ESPs geändert werden muss, dann kann man sie mit dem defmod Befehl anpassen.

MichaelO

Zitat von: dev0 am 16 Februar 2017, 15:40:17
Das Moduldesign ist auf statische IPs ausgelegt, das werde ich auch nicht mehr ändern. DHCP Server können auch statische IPs vergeben.

Ja, das ist im Prinzip richtig. Ich dachte nur, dass man hier ggf. die Nutzerfreundlichkeit verbessern hätte können. Üblicherweise vergeben DHCP-Server beim erstmaligen Kontakt ja eben eine dynamische IP aus dem eingerichteten Scope. Erst dann kann manuell eine fixe IP an diese MAC-Adresse gebunden werden.

Ist aber ok, man muss es nur wissen.

Gruß
Michael

dev0

Ich habe gerade die Modulversion 0.8.2 auf Github eingecheckt. Das wird die letzte Version sein, die über Github verteilt wird. Zum nächsten Wochende werde ich das Modul ins FHEM svn einchecken. Danach solltet ihr auch das ESPEasy Github Repository aus dem FHEM Update entfernen, wenn ihr es eingebunden habt:

update delete https://raw.githubusercontent.com/ddtlabs/ESPEasy/master/controls_ESPEasy.txt


Sobald das Modul über das normale FHEM Update ausgeliefert wird, werde ich das control file auf Github so anpassen, dass nur noch ein ESPEasy.txt ausgeliefert wird. Erkennt das Modul beim Laden, dass diese Datei vorhanden ist, dann wird eine Warnung ins Log geschrieben.

lewej

Hallo Leute,

hat jemand schon mit diesem espeasy ein Sonoff POW am laufen inkl. Verbrauch Messung?

Grüsse
Lewej