Sisamiwe der ESP ist da, ich weiss aber noch nicht wann ich es schaffe. Warte mal mit Deinem HowTo. Wir richten derzeit ein BLOG zu SHNG ein. Dafür wäre das super geeignet.. Und es schreibt sich viel schneller... (Ein HowTo zum Webservices Plugin gibt es dann dort zur Veröffentlichung. Das habe ich gestern testweise geschrieben)
Ankündigung
Einklappen
Keine Ankündigung bisher.
Einbindung ESP mit ESPEasy-Firmware
Einklappen
X
-
Hallo,
ich habe ein weiteres ESP8266 basierendes Gerät. Es handelt sich um einen H801 LED-Dimmer.
Dafür gibt es auch ein ESPEasyPlug in. Geräte ist geflashed und eingebaut. Es reagiert auch auf die Befehle. So nun und nun geht es wieder darum, wie man die Befehle via WebService Interface von shNG sendet.
So sollen die Befehle aussehen:
- /control?cmd=ON Turn Leds On
- /control?cmd=OFF Turn Leds Off
- /control?cmd=RGB,255,0,0 Set Leds to Red
- /control?cmd=HSV,0,255,255 Set Leds to Red
- /control?cmd=Mode,2 Animate Leds in "Flash" mode
- /control?cmd=Mode,5,400 Animate Leds in "Smooth" mode, with a speed of 400
... und wieder bin ich ratlos.
Hast Du eine Idee?
Kommentar
-
reverse proxy schalten und parameter / url umkonvertieren ;-)
es macht m.E. keinen Sinn allerlei mögliche Aufrufformate zu unterstützen und zu parsen. Wir haben jetzt schon die Möglichkeit für jedes Plugin einen Kontextpfad zu setzen, irgendwann hat man sonst keinen Durchblick mehr
ausserdem steht das ausserhalb der idee hinter dem webservice plugin, einen strukturierten (und zumindest in großen teilen standardisierten) zugriff auf items zu bieten.. du müsstest hinter das oben ja eine genau auf das format bezogene API bauen
Einzige vernünftige Lösung wäre, dass Du dir selbst dazu ein Plugin schreibst und auf der services implementierung des http interfaces aufbaust (das kann man unabh. vom webservices plugin nutzen)
dazu gibts dann demnächst auch mal einen artikel.. ist sowieso erst aber 1.5 dann fester bestandteil (bzw jetzt im DEV)Zuletzt geändert von psilo; 24.03.2018, 18:48.
Kommentar
-
schau dir einfach den code in https://github.com/smarthomeNG/plugi...es/__init__.py an.. im endeffekt kannst du das ähnlich aufbauen und via cherrypy die url und die parameter definieren und abarbeiten.
Kommentar
-
Sisamiwe wenn Du das mit dem ESPEASY was bereits geht schön dokumentieren magst, kannst Du Dich gerne bei https://www.smarthomeng.de/blog anmelden.. Wir schalten dann Rechte frei, mit denen Du einen Artikel schreiben kannst - die Freigabe erfolgt dann durch uns. Du kannst einstellen ob Du mit Nick oder echtem Namen erscheinen magst.
Wäre klasse! Und geht echt flott da was zu schreiben, auch mit Screenshots etc.
Kommentar
-
psilo
Klar kann ich dokumentieren, was geht. Teil 1 zur Installation habe ich hier ja schon geschrieben. Das ziehe ich dann um.
Registrierung ist abgeschlossen. Gleicher Benutzname wie hier. Ich hätte aber auch kein Problem damit, wenn mein richtiger Name auftauchen würden.
Wie geht es weiter? Schaltest Du mich frei?
Danke.
Kommentar
-
Msinn macht Dich zum "Mitarbeiter".. Falls Du ein Beitragsbild brauchst schau mal auf https://www.pexels.com/, die sind lizenz- und referenzfrei verwendbar.
Kommentar
-
Quick-and-Dirty Versuchsaufbau nach einer Woche 'Resturlaub' im schönen Österreich (NodeMCU V3, 3 Sensoren: SHT31, BME280, BMP180). Konnte mir einfach nicht vorstellen, dass es so kompliziert sein muss, die Sache an shNG anzubinden, und bin mal wieder als dummer, pragmatischer Elefant durch den Laden gestapft. Erste Erkenntnis - je Messwert wird immer eine einzelne Übertragung gestartet. Aber hier erstmal der simple Aufbau:
0.png
Benennung des MCU:
1.png
Einbindung der Sensoren:
2.png
Definition, wo die Daten hingehen sollen:
2_1.png
Netzwerk-Protokoll in der plugin.yaml einschalten, wenn noch nicht passiert:
Code:nw: class_name: Network class_path: plugins.network ip: 0.0.0.0 port: 2423 udp: yes udp_acl: '*'
Code:receiver_port_2423: name: "Klimaddaten hier rein und wieder raus" type: str nw: yes nw_udp_listen: 2423 on_update: - eval(value)
Code:receiver_port_2423: name: "UDP Klimaddaten" type: str nw: yes nw_udp_listen: 2423 on_update: - eval(value) wz: klima: SHT31: Temperature: type: num Humidity: type: num BMP180: Temperature: type: num Pressure: type: num BME280: Temperature: type: num Humidity: type: num Pressure: type: num
3.png
Dies ist erst die erste Ausbaustufe und mit Sicherheit noch gaaanz viel optimierbar, aber zu müde dafür heute. Morgen geht's dann weiter.
Enjoy.
/tom
Kommentar
-
Tom Bombadil warum udp und nicht tcp? eigentlich will ich doch keine datenverluste haben?
ps: ein blogartikel wuerde sich anbieten
Kommentar
-
Zitat von psilo Beitrag anzeigenTom Bombadil warum udp und nicht tcp? eigentlich will ich doch keine datenverluste haben?
/tom
Kommentar
-
So, meine Variante mittels C-Code und Arduino IDE ist nun unter https://www.smarthomeng.de/entfernun...nd-smarthomeng dokumentiert.
Ein EasyESP Beispiel folgt die Tage, sofern mir nicht jemand zuvor kommt
Kommentar
-
Msinn
Zitat von psilo Beitrag anzeigenMsinn macht Dich zum "Mitarbeiter".. Falls Du ein Beitragsbild brauchst schau mal auf https://www.pexels.com/, die sind lizenz- und referenzfrei verwendbar.
Bei smarthomeng.de habe ich mich bereits angemeldet.
Dankeschön.
Kommentar
Kommentar