//extern "C" { //#include "user_interface.h" //} // Need for getVcc ADC_MODE(ADC_VCC); ///////////////////// // Domoticz Classe ///////////////////// #include "Domoticz.h" Domoticz domo("192.168.1.3", "81", "Livebox-37cc", "8A6060920A8A86896F770F2C47"); #include "Modules.h" Modules modules; Params * params; #include "ServeurWeb.h" ServeurWeb * serveurWeb; WiFiServer server(80); #include "Octoprint.h" Octoprint octoprint("192.168.1.3", "5000", "B5746ACFF37140D0B5F6FEAAC4413B5C"); #include "Files.h" Files * files; // Convert image to char array http://www.digole.com/tools/PicturetoC_Hex_converter.php Params p; ServeurWeb sw; // domoticz String macID = ""; unsigned long milli; void setup() { Serial.begin(9600); // /* sda scl */ // Wire.pins(SDA, SCL); // Wire.begin(SDA, SCL); // Conversion d'objet en pointeur params = &p; serveurWeb = &sw; serveurWeb->domoticz = &domo; serveurWeb->modules = &modules; serveurWeb->server = &server; serveurWeb->server->begin(); delay(100); domo.initWifi(); macID = domo.generateKey(); domo.getIdFromDomoticz(macID, params); pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, HIGH); // octoprint.connect(); // octoprint.executeJson("/api/printer", "", ""); // octoprint.executeJsonPost("/api/printer/command", "{\"command\": \"M503\"}"); milli = 0; millis(); delay(100); files->init(); delay(100); EEPROM.begin(512); } void loop() { serveurWeb->loop(); // yield(); // files->ftpSrv.handleFTP(); //make sure in loop you call handleFTP()!! // yield(); if (milli == 0 || milli + params->sleepTime * 1000 <= millis() ) { // Avoid WDT reset during long process yield(); milli = millis(); modules.readTemp(); printInfo(); LittleFS.mkdir("/data"); files->listDir("/"); // Serial.println("SSID=" + serveurWeb->eeprom->readString(0)); // Serial.println("Pass=" + serveurWeb->eeprom->readString(20)); // Serial.println("Domo=" + serveurWeb->eeprom->readString(40)); // Serial.println("Port=" + serveurWeb->eeprom->readString(60)); // Test Json domo.readTempDayValues(params->esp8266_id); } } void printInfo() { boolean connected = domo.connect(); Serial.println("Dans printInfo " + connected + ' ' + params->esp8266_id); yield(); // Domoticz format /json.htm?type=command¶m=udevice&idx=IDX&nvalue=0&svalue=TEMP;HUM;HUM_STAT if (connected && params->esp8266_id != "") { Serial.println("Dans set temperature" + String(modules.temp)); //domo.executeJson(); if (modules.temp < 50 && modules.temp > 0) { String svalue = String(modules.temp) + ";" + String(modules.humidity) + ";0"; Serial.println(svalue); domo.executeJson("/json.htm?type=command¶m=udevice&idx=" + params->esp8266_id, svalue, "0"); yield(); domo._client.stop(); yield(); } delay(200); } connected = domo.connect(); if (connected && params->esp8266_id_Vcc != "") { Serial.print(" Envoi tension "); Serial.print(params->esp8266_id_Vcc); Serial.print(" "); yield(); String vcc = domo.readVcc(); Serial.println(vcc); yield(); // domo._client.print("GET /json.htm?type=command¶m=udevice&idx="); domo.executeJson("/json.htm?type=command¶m=udevice&idx=" + params->esp8266_id_Vcc, vcc, "0"); domo._client.stop(); yield(); } }