-
Notifications
You must be signed in to change notification settings - Fork 0
/
anleitung.txt
94 lines (71 loc) · 3.51 KB
/
anleitung.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
UPDATE 12.05.2024
(Danke an Gelbwichtel für den Hinweis):
Schritt 5: der Webserver wird nun in main.cpp:627 konfiguriert -> server = new ESP8266WebServer(82);
Schritt 7: den Code für die Alexa-Integration am Ende der Setup() Funktion in main.cpp (ab Zeile 98 einfügen.
Holen der Dateien aus github:
git clone https://github.com/vintlabs/fauxmoESP.git
git clone https://github.com/visualapproach/WiFi-remote-for-Bestway-Lay-Z-SPA.git
Editieren:
1. Visual Studio Code herunterladen und installieren
2. Unter „Erweiterungen“ (Extensions) PlatformIO auswählen und installieren
3. Aus PlatformIO heraus unter WiFi-remote … den Ordner „code“ öffnen.
Folgende Schritte sind auszuführen, um das Original-Projekt mit der Alexa-Funktionalität zu erweitern:
1. Im Ordner „lib“ einen neuen Ordner „fauxmoESP“ anlegen
2. In diesen neuen Ordner die 3 Dateien fauxmoESP.cpp, fauxmoESP.h und templates.h ablegen
3. Datei fauxmESP.cpp, Zeile 30: beim #include die Anführungszeichen durch < und > ersetzen: „#include <fauxmoESP.h>
4. Datei fauxmESP.h, Zeile 75: beim #include die Anführungszeichen durch < und > ersetzen: „#include <templates.h>
5. Datei „main.h“, Zeile 53: Den Port des Webservers von 80 auf 82 legen: ESP8266WebServer server(82);
6. Datei „main.cpp“, ab Zeile 3 folgenden Code einfügen:
/* START CODE Alexa Integration */
#include "fauxmoESP.h"
fauxmoESP fauxmo;
unsigned char devIdWhirlpool;
unsigned char devIdHeizung;
unsigned char devIdTemperatur;
/* END CODE Alexa Integration */
7. Datei „main.cpp“, ungefähr ab Zeile 101 (nach der Zeile bwc.loadCommandQueue()) folgenden Code einfügen:
/* START CODE Alexa Integration */
Serial.print("[ALEXA] Adding devices for Alexa\n");
const char * devWhirlpool = "Whirlpool";
const char * devHeizung = "Heizung";
const char * devTemperatur = "Temperatur";
devIdWhirlpool = fauxmo.addDevice(devWhirlpool);
devIdHeizung = fauxmo.addDevice(devHeizung);
devIdTemperatur = fauxmo.addDevice(devTemperatur);
fauxmo.setPort(80); // required for gen3 devices
fauxmo.enable(true);
fauxmo.onSetState([](unsigned char device_id, const char * device_name, bool state, unsigned char value) {
Serial.printf("[MAIN] Device #%d (%s) state: %s value: %d\n", device_id, device_name, state ? "ON" : "OFF", value);
int64_t val=0;
command_que_item item;
item.xtime = 0;
item.interval = 0;
item.text = "";
if(device_id == devIdWhirlpool) {
val = state ? 1 : 0;
Serial.printf("[ALEXA] Command bubbles %s\n", val==1? "ON" : "OFF");
item.cmd = SETBUBBLES;
item.val = val;
bwc.add_command(item);
}
if(device_id == devIdHeizung) {
val = state ? 1 : 0;
Serial.printf("[ALEXA] Command Heater %s\n", val==1? "ON" : "OFF");
item.cmd = SETHEATER;
item.val = val;
bwc.add_command(item);
}
if(device_id == devIdTemperatur) {
/* Need to convert 0-255 back into original value*/
value = value * 100 / 255;
Serial.printf("[ALEXA] Set temperature to %d\n", (int)value);
item.cmd = SETTARGET;
item.val = value;
bwc.add_command(item);
}
});
/* END CODE Alexa Integration */
8. Datei main.cpp, ungefähr ab Zeile 186 (oberhalb des Kommentars //web socket“), folgenden Code einfügen:
/* START CODE Alexa Integration */
fauxmo.handle();
/* END CODE Alexa Integration */