EasyESP Rule schalten + Parameter übergeben

Begonnen von MonsterDesKrümels, 13 Juli 2019, 23:40:47

Vorheriges Thema - Nächstes Thema

MonsterDesKrümels

Hallo zusammen,

nach langem Mitlesen habe ich nun auch einmal eine Frage.

Zum jetzigen Stand:
Ein ESP mit ESPeasy per Wlan im Netzwerk vorhanden. An diesem wird ein Ventil geschaltet. Das schalten erfolgt durch eine Rule im ESP, welche durch eine URL gestartet wird.
Der ESP meldet seinen eigenen Status und den Status des Ventils an die FHEM Zentrale. Diese Werte werden auch erfolgreich in FHEM empfangen.
FHEM läuft auf einem RasperryPi mit CUL Stick älteren Datums.

Die Frage:
Ich möchte das Ventil über die URL, also über die Rule im ESP, schalten.
Dies ist sehr einfach möglich über ein dummy schalter und ein notify.
Hier frage ich mich, ob dies direkt in dem ESP Device in FHEM eleganter gelöst werden kann oder nicht.

Weiterhin frage ich mich, wie ein Parameterfeld zu dem Schalter hinzugefügt werden kann, sodass wenn der Schalter betätigt wird, der eingegebene (oder aus einer Liste ausgewählter) Parameter mit übergeben wird.
Hier denke ich auch einen Schritt weiter, und frage mich, wie dieses Parameterfeld in TabletUI angezeigt werden kann.
Die Krönung wäre nun, noch weitere Logik mit einzubauen, wie z.B. dass der Button zwei mal betätigt werden muss.

Freue mich auf eure Tipps.


Beste grüße

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MonsterDesKrümels

Guten Morgen,

Vielen Dank für deine Rückmeldung.

Die URL zur Steuerung sieht wie folgt aus:
192.168.0.17/control?cmd=event,control_beet_tulpen_01_on=PARAMETER

Parameter wird in Sekunden angegeben und gibt die Dauer an.

Das device Beet_tulpen_01 ist in den Screenshots zu sehen.

Freue mich auf deine Rückmeldung.


Grüße (https://uploads.tapatalk-cdn.com/20190714/41389378779c999ac633ee25bf8eaac1.jpg)(https://uploads.tapatalk-cdn.com/20190714/cdda7b3cb7fa5c79eeff819241724ed8.jpg)

Gesendet von meinem MHA-L29 mit Tapatalk


MonsterDesKrümels

Und die config in fhem...


define ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 ESPEasy 192.168.0.17 80 espBridge ESP_Easy_Garage_Beet_Tulpen_01 attr ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 IODev espBridge attr ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 Interval 300 attr ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 event-on-change-reading .* attr ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 group ESPEasy Device attr ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 presenceCheck 1 attr ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 readingSwitchText 1 attr ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 room ESPEasy attr ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 setState 3 define espBridge ESPEasy bridge 8383 attr espBridge authentication 0 attr espBridge combineDevices 0 attr espBridge group ESPEasy Bridge attr espBridge room ESPEasy setstate ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 Sta: off setstate ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 2019-07-14 08:49:55 State off setstate ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 2019-07-14 08:45:59 presence present setstate ESPEasy_ESP_Easy_Garage_Beet_Tulpen_01 2019-07-14 08:49:55 state Sta: off setstate espBridge initialized setstate espBridge 2019-07-13 21:17:23 state initialized

Gesendet von meinem MHA-L29 mit Tapatalk


Gisbert

Hallo du Monster des Krümels, ;)

vorab, Definitionen kann man in Code Tags (siehe oben die Rautetaste #).

In ESPEasy auf einem ESP8266 kannst du bei einem Relais einen Switch input - Switch definieren, ich nehme an, dass du das gemacht hast.

Der ESP8266 muss ja irgendwoher einen Schaltbefehl bekommen, per http (wie du es machst) oder per MQTT, ausschließlich im ESP8266 kann das kaum laufen.

Bei mir sehen die Schaltbefehle so aus, Auszug z.B.:
defmod Spitzboden.Lueftung DOIF ([Spitzboden.Ventilator:Ventilator.Spitzboden.Info] <= 2) \
("wget -qO /dev/null http://192.168.2.55/control?cmd=GPIO,12,1&")


Sinnvoll können dann Schaltbefehle direkt im ESP8266 sein, wenn es um zeitkritische Vorgänge geht, z.B. wenn ein Ausschaltbefehl wenige Sekunden oder Zehntelsekunden nach dem Einschaltbefehl erfolgen soll. In diesem Fall würde ich sowohl den Einschalt- als auch den Ausschaltbefehl in den rules abbilden und nur diesen Prozess von Fhem aus starten.

Soweit ich verstanden hab, ist ESPEasy (auf dem ESP8266) weniger gut für rules geeignet. Dafür ist Tasmota besser geeignet; ich setze es z.B. für Rollladensteuerungen ein. Ein Beispiel kann ich gerne liefern.

Noch ein Tipp am Rande: in der Kürze liegt die Würze. Den Namen des Devices würde ich drastisch einkürzen, wie wäre es z.B. mit GarageBeetTulpen01? Alle Infos sind vorhanden, es blebt lesbar, und die Bildschirmbreite reicht aus, und für
Mitlesende ist es auch einfacher.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome