Giter Club home page Giter Club logo

esphome_c1101's Introduction

Tom here and I'm always keen on improving my (mostly) smart home, Open Source projects and learning new skills/techniques/improving. Much beneficial to my professional career, currently as support engineer, former as senior consultant and later technical team lead. I'm result-driven, committed and will use any and all skills at hand to get things done. (And yes that is a reference to GTD as well).

Personally I have experiences in most Linuces & Unices (UNIX/Linux), most hardware platforms (x86, ARM, etc.) and severall languages (python, PHP, some go and C*).

  • šŸ”­ Iā€™m currently working on github.com/plugwise, reviewing and committing to github.com/home-assistant
  • šŸŒ± Iā€™m always learning more about python, testing code, building pipelines and improving my containerizing skills (mostly including Docker and k8s nowadays)

esphome_c1101's People

Contributors

compatech avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esphome_c1101's Issues

timing countdown

Hi,
This work like a charm, very easy compared to espeasy.
Do you have any thoughts on the countdown ?
I was thinking of a timer in HA. But after the timer finishes in HA it would send a command '
fan low', which seems redundant because the fan is probably already low because of it's own internal timers.
So I think the timer should be on the ESP, when the timer is done it should send the status low to HA, without transmitting the message to the fan.
I thought of using esphome scripts to combine a delay action and a lambda action. But unfortunately I don't have that much experience to figure that out.

Updating speed not working

When i change the speed with the original remote this change will not been seen by esphome, i dont know if this is by design or there something going wrong.

ESP seems to work but fan does not react to commands

Hi,
First of all: thanks for making and posting this software! I was very happy to learn I could control my ventilation through home assistant. Unfortunately, it's not working for me.
I've triple checked the wiring, testing from the pins on the NodeMCUV3 board to the IC pins on the RF chip, and I can't seem to get this working. The software appears to work, I installed it on the ESP and can see the fan control entities in Home Assistant/ESPhome, and they react to commands. However, I have tried many times to pair the controller to my ventilation system and it doesn't seem to do this at all. Is anything missing from the docs that is very basic but an ESPHome newbie like me would overlook? Is there an issue with newer ESPhome versions? Or should I assume the C1101 chip is dead? Is there any way to check that there is successful communication to the C1101? I might be able to borrow a VNA scope from work to check if there are radio signals sent but I'm not sure if that could tell me anything

feature request: report source of last operation

Hi, it would be nice to know what the source is off the last operation. Did it come from HA or did someone press the original button on the wall? I would like to have this to override the HA controlled speed and for that I would like to have a switch. Is that possible?

compile issues. what do I wrong?

I have added somethings to the yaml and tried to compile but run into errors.
but I don't know why.

my yaml is:
`esphome:
name: esp_fan
platform: ESP8266
board: d1_mini_pro
includes:
- itho/c1101.h
libraries:
- https://github.com/CoMPaTech/esphome_itho.git

substitutions:

Modify variables based on your settings

hostname: 'esp_fan'

wifi:
ssid: "Wlan"
password: !secret esphome_password
manual_ip:
static_ip: 192.168.0.66
gateway: 192.168.0.1
subnet: 255.255.255.0

Enable Web

web_server:
port: 80

Enable logging

logger:
level: DEBUG

Enable Home Assistant API

api:
password: !secret esphome_password
ota:
safe_mode: True
password: !secret esphome_password

switch:

  • platform: custom
    lambda: |-
    auto fansendlow = new FanSendLow();
    App.register_component(fansendlow);
    return {fansendlow};
    switches:
    name: "FanSendLow"

  • platform: custom
    lambda: |-
    auto fansendmedium = new FanSendMedium();
    App.register_component(fansendmedium);
    return {fansendmedium};
    switches:
    name: "FanSendMedium"

  • platform: custom
    lambda: |-
    auto fansendhigh = new FanSendHigh();
    App.register_component(fansendhigh);
    return {fansendhigh};
    switches:
    name: "FanSendHigh"

  • platform: custom
    lambda: |-
    auto fansendjoin = new FanSendIthoJoin();
    App.register_component(fansendjoin);
    return {fansendjoin};
    switches:
    name: "FanSendJoin"

Rinse/repeat for the timers

see outstanding question in c1101.h

on multiple switches handling

text_sensor:

  • platform: custom
    lambda: |-
    auto fanrecv = new FanRecv();
    App.register_component(fanrecv);
    return {fanrecv->fanspeed,fanrecv->fantimer};
    text_sensors:
    • name: "FanSpeed"
    • name: "FanTimer"`

`ESPHome Dashboard
OTA (Over-The-Air)

memory
espcammore_vert
. Full path: /config/esphome/ESP32.yaml

UPLOAD EDIT SHOW LOGS VALIDATE
memory
esp_boven launchmore_vert
. Full path: /config/esphome/ESP_Boven.yaml

UPLOAD EDIT SHOW LOGS VALIDATE
memory
esp_beneden launchmore_vert
. Full path: /config/esphome/esp_beneden.yaml

UPLOAD EDIT SHOW LOGS VALIDATE
memory
esp_fanmore_vert
. Full path: /config/esphome/esp_fan.yaml

UPLOAD EDIT SHOW LOGS VALIDATE
memory
esp_tracker launchmore_vert
. Full path: /config/esphome/esp_tracker.yaml

UPLOAD EDIT SHOW LOGS VALIDATE
memory
esp_nodemcu0more_vert
. Full path: /config/esphome/nodemcu0.yaml

UPLOAD EDIT SHOW LOGS VALIDATE
Compile esp_fan.yaml
INFO Reading configuration...
INFO Generating C++ source...
INFO Core config or version changed, cleaning build files...
INFO Compiling app...
INFO Running: platformio run -d /config/esphome/esp_fan
Processing esp_fan (framework: arduino; platform: [email protected]; board: d1_mini_pro)

LibraryManager: Installing id=3837 @ 5.13.3
Downloading [####################################] 100%
Unpacking [####################################] 100%
LibraryManager: Installing id=306 @ 1.1.1
Downloading [####################################] 100%
Unpacking [####################################] 100%
LibraryManager: Installing id=305
Downloading [####################################] 100%
Unpacking [####################################] 100%
LibraryManager: Installing id=1826
Downloading [####################################] 100%
Unpacking [####################################] 100%
LibraryManager: Installing id=305 @ 1.2.0
Downloading [####################################] 100%
Unpacking [####################################] 100%
LibraryManager: Installing esphome_itho
git version 2.17.1
Cloning into '/data/esp_fan/.piolibdeps/_tmp_installing-awXAYU-package'...
Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini_pro.html
PLATFORM: Espressif 8266 > WeMos D1 mini Pro
HARDWARE: ESP8266 80MHz 80KB RAM (16MB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 31 compatible libraries
Scanning dependencies...
Dependency Graph
|-- 5.13.3
|-- 1.1.1
| |-- 1.2.2
| | |-- 1.0
| |-- 1.0
| |-- 1.0
| |-- 5.13.3
|-- 1.0
|--
| |-- 1.0
|-- 1.2.0
| |-- 1.0
|-- <esphome_itho> #a863ef0
| |-- 1.0
|-- 1.0
|-- 1.2.2
| |-- 1.0
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/api/api_message.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/api/api_server.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/api/basic_messages.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/api/command_messages.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/api/list_entities.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/api/service_call_message.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/api/subscribe_logs.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/api/subscribe_state.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/api/user_services.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/api/util.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/binary_sensor/automation.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/binary_sensor/binary_sensor.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/binary_sensor/filter.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/custom/switch/custom_switch.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/custom/text_sensor/custom_text_sensor.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/json/json_util.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/logger/logger.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/ota/ota_component.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/status/status_binary_sensor.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/switch/automation.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/switch/switch.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/text_sensor/text_sensor.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/web_server/web_server.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/wifi/wifi_component.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/wifi/wifi_component_esp32.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/components/wifi/wifi_component_esp8266.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/core/application.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/core/component.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/core/controller.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/core/esphal.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/core/helpers.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/core/log.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/core/preferences.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/esphome/core/util.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/src/main.cpp.o
Generating LD script /data/esp_fan/.pioenvs/esp_fan/ld/eagle.app.v6.common.ld
In file included from /data/esp_fan/.piolibdeps/esphome_itho/IthoCC1101.h:10:0,
from src/c1101.h:2,
from src/main.cpp:21:
/data/esp_fan/.piolibdeps/esphome_itho/IthoPacket.h:15:2: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
In file included from src/c1101.h:2:0,
from src/main.cpp:21:
/data/esp_fan/.piolibdeps/esphome_itho/IthoCC1101.h:68:1: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
Archiving /data/esp_fan/.pioenvs/esp_fan/lib39a/libArduinoJson-esphomelib_ID3837.a
In file included from src/main.cpp:21:0:
src/c1101.h: In function 'void ITHOcheck()':
src/c1101.h:172:12: warning: enumeration value 'IthoStandby' not handled in switch [-Wswitch]
switch (cmd) {
^
src/c1101.h:172:12: warning: enumeration value 'DucoStandby' not handled in switch [-Wswitch]
src/c1101.h:172:12: warning: enumeration value 'DucoLow' not handled in switch [-Wswitch]
src/c1101.h:172:12: warning: enumeration value 'DucoMedium' not handled in switch [-Wswitch]
src/c1101.h:172:12: warning: enumeration value 'DucoHigh' not handled in switch [-Wswitch]
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/BearSSLHelpers.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/CertStoreBearSSL.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/ESP8266WiFi.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/ESP8266WiFiAP.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/ESP8266WiFiMulti.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/ESP8266WiFiSTA.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/ESP8266WiFiScan.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/WiFiClient.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/WiFiClientSecureAxTLS.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/WiFiServer.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/WiFiServerSecureAxTLS.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libd05/ESP8266WiFi/WiFiUdp.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib79f/ESPAsyncTCP_ID305/AsyncPrinter.cpp.o
Archiving /data/esp_fan/.pioenvs/esp_fan/libd05/libESP8266WiFi.a
Compiling /data/esp_fan/.pioenvs/esp_fan/lib79f/ESPAsyncTCP_ID305/ESPAsyncTCP.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib79f/ESPAsyncTCP_ID305/ESPAsyncTCPbuffer.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib79f/ESPAsyncTCP_ID305/SyncClient.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib79f/ESPAsyncTCP_ID305/tcp_axtls.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libb36/Hash/Hash.cpp.o
Archiving /data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a
Compiling /data/esp_fan/.pioenvs/esp_fan/libb36/Hash/sha1/sha1.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib2f4/ESP Async WebServer_ID306/AsyncEventSource.cpp.o
Archiving /data/esp_fan/.pioenvs/esp_fan/libb36/libHash.a
Compiling /data/esp_fan/.pioenvs/esp_fan/lib2f4/ESP Async WebServer_ID306/AsyncWebSocket.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib2f4/ESP Async WebServer_ID306/SPIFFSEditor.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib2f4/ESP Async WebServer_ID306/WebAuthentication.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib2f4/ESP Async WebServer_ID306/WebHandlers.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib2f4/ESP Async WebServer_ID306/WebRequest.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib2f4/ESP Async WebServer_ID306/WebResponses.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib2f4/ESP Async WebServer_ID306/WebServer.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib3f7/ESP8266mDNS/ESP8266mDNS.cpp.o
Archiving /data/esp_fan/.pioenvs/esp_fan/lib2f4/libESP Async WebServer_ID306.a
Archiving /data/esp_fan/.pioenvs/esp_fan/lib3f7/libESP8266mDNS.a
Compiling /data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected]/AsyncPrinter.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected]/ESPAsyncTCP.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected]/ESPAsyncTCPbuffer.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected]/SyncClient.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected]/tcp_axtls.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/libf2c/SPI/SPI.cpp.o
Archiving /data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected]
Compiling /data/esp_fan/.pioenvs/esp_fan/libe31/esphome_itho/CC1101.cpp.o
Archiving /data/esp_fan/.pioenvs/esp_fan/libf2c/libSPI.a
Compiling /data/esp_fan/.pioenvs/esp_fan/libe31/esphome_itho/IthoCC1101.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/lib40a/Ticker/Ticker.cpp.o
Archiving /data/esp_fan/.pioenvs/esp_fan/lib40a/libTicker.a
In file included from /data/esp_fan/.piolibdeps/esphome_itho/IthoCC1101.h:10:0,
from /data/esp_fan/.piolibdeps/esphome_itho/IthoCC1101.cpp:5:
/data/esp_fan/.piolibdeps/esphome_itho/IthoPacket.h:15:2: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
In file included from /data/esp_fan/.piolibdeps/esphome_itho/IthoCC1101.cpp:5:0:
/data/esp_fan/.piolibdeps/esphome_itho/IthoCC1101.h:68:1: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
Archiving /data/esp_fan/.pioenvs/esp_fan/libe31/libesphome_itho.a
Archiving /data/esp_fan/.pioenvs/esp_fan/libFrameworkArduinoVariant.a
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/Esp-version.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/Esp.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/FS.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/FunctionalInterrupt.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/HardwareSerial.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/IPAddress.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/MD5Builder.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/Print.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/Schedule.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/ScheduledFunctions.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/Stream.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/StreamString.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/Tone.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/Updater.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/WMath.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/WString.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/abi.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/base64.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/cbuf.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/cont.S.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/cont_util.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_eboot_command.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_flash_utils.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_i2s.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_main.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_noniso.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_phy.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_postmortem.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_si2c.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_sigma_delta.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_timer.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_waveform.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_wiring.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_wiring_analog.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_wiring_digital.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_wiring_pulse.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_wiring_pwm.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/core_esp8266_wiring_shift.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/debug.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/gdb_hooks.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/heap.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/libb64/cdecode.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/libb64/cencode.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/libc_replacements.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/pgmspace.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/sntp-lwip2.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/spiffs/spiffs_cache.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/spiffs/spiffs_check.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/spiffs/spiffs_gc.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/spiffs/spiffs_hydrogen.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/spiffs/spiffs_nucleus.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/spiffs_api.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/spiffs_hal.cpp.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/time.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/uart.c.o
Compiling /data/esp_fan/.pioenvs/esp_fan/FrameworkArduino/umm_malloc/umm_malloc.c.o
Archiving /data/esp_fan/.pioenvs/esp_fan/libFrameworkArduino.a
Linking /data/esp_fan/.pioenvs/esp_fan/firmware.elf
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::_s_recv(void*, tcp_pcb*, pbuf*, long)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7_s_recvEPvP7tcp_pcbP4pbufl+0x4): multiple definition of AsyncClient::_s_recv(void*, tcp_pcb*, pbuf*, long)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7_s_recvEPvP7tcp_pcbP4pbufl+0x10): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::_s_sent(void*, tcp_pcb*, unsigned short)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7_s_sentEPvP7tcp_pcbt+0x4): multiple definition of AsyncClient::_s_sent(void*, tcp_pcb*, unsigned short)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7_s_sentEPvP7tcp_pcbt+0x10): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::_s_error(void*, long)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient8_s_errorEPvl+0x4): multiple definition of AsyncClient::_s_error(void*, long)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient8_s_errorEPvl+0xc): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::_s_poll(void*, tcp_pcb*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7_s_pollEPvP7tcp_pcb+0x4): multiple definition of AsyncClient::_s_poll(void*, tcp_pcb*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7_s_pollEPvP7tcp_pcb+0x10): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::AsyncClient(tcp_pcb*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClientC2EP7tcp_pcb+0x30): multiple definition of AsyncClient::AsyncClient(tcp_pcb*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClientC2EP7tcp_pcb+0x48): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::AsyncClient(tcp_pcb*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClientC2EP7tcp_pcb+0x30): multiple definition of AsyncClient::AsyncClient(tcp_pcb*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClientC2EP7tcp_pcb+0x48): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::_s_connected(void*, void*, long)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12_s_connectedEPvS0_l+0x4): multiple definition of AsyncClient::_s_connected(void*, void*, long)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12_s_connectedEPvS0_l+0x10): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::connect(IPAddress, unsigned short)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7connectE9IPAddresst+0x18): multiple definition of AsyncClient::connect(IPAddress, unsigned short)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7connectE9IPAddresst+0x1c): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::_s_dns_found(char const*, ip_addr const*, void*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12_s_dns_foundEPKcPK7ip_addrPv+0x4): multiple definition of AsyncClient::_s_dns_found(char const*, ip_addr const*, void*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12_s_dns_foundEPKcPK7ip_addrPv+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::connect(char const*, unsigned short)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7connectEPKct+0x10): multiple definition of AsyncClient::connect(char const*, unsigned short)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7connectEPKct+0x10): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::operator==(AsyncClient const&)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClienteqERKS_+0x0): multiple definition of AsyncClient::operator==(AsyncClient const&)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text.ZN11AsyncClienteqERKS+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::abort()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5abortEv+0x4): multiple definition of AsyncClient::abort()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5abortEv+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::free()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient4freeEv+0x4): multiple definition of AsyncClient::free()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient4freeEv+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::send()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient4sendEv+0x8): multiple definition of AsyncClient::send()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient4sendEv+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::ack(unsigned int)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient3ackEj+0x4): multiple definition of AsyncClient::ack(unsigned int)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient3ackEj+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::operator+=(AsyncClient const&)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClientpLERKS_+0x0): multiple definition of AsyncClient::operator+=(AsyncClient const&)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text.ZN11AsyncClientpLERKS+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::setRxTimeout(unsigned int)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12setRxTimeoutEj+0x0): multiple definition of AsyncClient::setRxTimeout(unsigned int)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12setRxTimeoutEj+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::getRxTimeout()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12getRxTimeoutEv+0x0): multiple definition of AsyncClient::getRxTimeout()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12getRxTimeoutEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::getAckTimeout()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient13getAckTimeoutEv+0x0): multiple definition of AsyncClient::getAckTimeout()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient13getAckTimeoutEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::setAckTimeout(unsigned int)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient13setAckTimeoutEj+0x0): multiple definition of AsyncClient::setAckTimeout(unsigned int)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient13setAckTimeoutEj+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::setNoDelay(bool)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient10setNoDelayEb+0x0): multiple definition of AsyncClient::setNoDelay(bool)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient10setNoDelayEb+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::getNoDelay()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient10getNoDelayEv+0x0): multiple definition of AsyncClient::getNoDelay()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient10getNoDelayEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::getMss()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient6getMssEv+0x0): multiple definition of AsyncClient::getMss()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient6getMssEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::getRemoteAddress()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient16getRemoteAddressEv+0x0): multiple definition of AsyncClient::getRemoteAddress()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient16getRemoteAddressEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::getRemotePort()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient13getRemotePortEv+0x0): multiple definition of AsyncClient::getRemotePort()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient13getRemotePortEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::getLocalAddress()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient15getLocalAddressEv+0x0): multiple definition of AsyncClient::getLocalAddress()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient15getLocalAddressEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::getLocalPort()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12getLocalPortEv+0x0): multiple definition of AsyncClient::getLocalPort()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12getLocalPortEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::remoteIP()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient8remoteIPEv+0x8): multiple definition of AsyncClient::remoteIP()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient8remoteIPEv+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::remotePort()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient10remotePortEv+0x4): multiple definition of AsyncClient::remotePort()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient10remotePortEv+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::localIP()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7localIPEv+0x8): multiple definition of AsyncClient::localIP()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7localIPEv+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::localPort()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient9localPortEv+0x4): multiple definition of AsyncClient::localPort()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient9localPortEv+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::state()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5stateEv+0x0): multiple definition of AsyncClient::state()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5stateEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::connected()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient9connectedEv+0x0): multiple definition of AsyncClient::connected()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient9connectedEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::connecting()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient10connectingEv+0x0): multiple definition of AsyncClient::connecting()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient10connectingEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::disconnecting()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient13disconnectingEv+0x0): multiple definition of AsyncClient::disconnecting()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient13disconnectingEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::disconnected()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12disconnectedEv+0x0): multiple definition of AsyncClient::disconnected()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12disconnectedEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::freeable()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient8freeableEv+0x4): multiple definition of AsyncClient::freeable()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient8freeableEv+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::space()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5spaceEv+0x0): multiple definition of AsyncClient::space()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5spaceEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::add(char const*, unsigned int, unsigned char)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient3addEPKcjh+0x8): multiple definition of AsyncClient::add(char const*, unsigned int, unsigned char)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient3addEPKcjh+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::write(char const*, unsigned int, unsigned char)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5writeEPKcjh+0x8): multiple definition of AsyncClient::write(char const*, unsigned int, unsigned char)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5writeEPKcjh+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::write(char const*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5writeEPKc+0x8): multiple definition of AsyncClient::write(char const*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5writeEPKc+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::canSend()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7canSendEv+0x4): multiple definition of AsyncClient::canSend()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient7canSendEv+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::ackPacket(pbuf*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient9ackPacketEP4pbuf+0x8): multiple definition of AsyncClient::ackPacket(pbuf*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient9ackPacketEP4pbuf+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::stateToString()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient13stateToStringEv+0xc): multiple definition of AsyncClient::stateToString()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient13stateToStringEv+0xc): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::AsyncServer(IPAddress, unsigned short)': ESPAsyncTCP.cpp:(.text._ZN11AsyncServerC2E9IPAddresst+0x4): multiple definition of AsyncServer::AsyncServer(IPAddress, unsigned short)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServerC2E9IPAddresst+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::AsyncServer(IPAddress, unsigned short)': ESPAsyncTCP.cpp:(.text._ZN11AsyncServerC2E9IPAddresst+0x4): multiple definition of AsyncServer::AsyncServer(IPAddress, unsigned short)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServerC2E9IPAddresst+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::AsyncServer(unsigned short)': ESPAsyncTCP.cpp:(.text._ZN11AsyncServerC2Et+0x4): multiple definition of AsyncServer::AsyncServer(unsigned short)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServerC2Et+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::AsyncServer(unsigned short)': ESPAsyncTCP.cpp:(.text._ZN11AsyncServerC2Et+0x4): multiple definition of AsyncServer::AsyncServer(unsigned short)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServerC2Et+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::_s_accept(void*, tcp_pcb*, long)': ESPAsyncTCP.cpp:(.text._ZN11AsyncServer9_s_acceptEPvP7tcp_pcbl+0x4): multiple definition of AsyncServer::_s_accept(void*, tcp_pcb*, long)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServer9_s_acceptEPvP7tcp_pcbl+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::begin()': ESPAsyncTCP.cpp:(.text._ZN11AsyncServer5beginEv+0x1c): multiple definition of AsyncServer::begin()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServer5beginEv+0x20): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::end()': ESPAsyncTCP.cpp:(.text._ZN11AsyncServer3endEv+0x10): multiple definition of AsyncServer::end()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServer3endEv+0x10): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::~AsyncServer()': ESPAsyncTCP.cpp:(.text._ZN11AsyncServerD2Ev+0x8): multiple definition of AsyncServer::~AsyncServer()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServerD2Ev+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::~AsyncServer()': ESPAsyncTCP.cpp:(.text._ZN11AsyncServerD2Ev+0x8): multiple definition of AsyncServer::~AsyncServer()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServerD2Ev+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::setNoDelay(bool)': ESPAsyncTCP.cpp:(.text._ZN11AsyncServer10setNoDelayEb+0x0): multiple definition of AsyncServer::setNoDelay(bool)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServer10setNoDelayEb+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::getNoDelay()': ESPAsyncTCP.cpp:(.text._ZN11AsyncServer10getNoDelayEv+0x0): multiple definition of AsyncServer::getNoDelay()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServer10getNoDelayEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::status()': ESPAsyncTCP.cpp:(.text._ZN11AsyncServer6statusEv+0x0): multiple definition of AsyncServer::status()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServer6statusEv+0x0): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::_close()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient6_closeEv+0x20): multiple definition of AsyncClient::_close()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient6_closeEv+0x10): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::~AsyncClient()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClientD2Ev+0x24): multiple definition of AsyncClient::~AsyncClient()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClientD2Ev+0x28): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::~AsyncClient()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClientD2Ev+0x24): multiple definition of AsyncClient::~AsyncClient()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClientD2Ev+0x28): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::operator=(AsyncClient const&)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClientaSERKS_+0x30): multiple definition of AsyncClient::operator=(AsyncClient const&)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text.ZN11AsyncClientaSERKS+0x34): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::close(bool)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5closeEb+0x8): multiple definition of AsyncClient::close(bool)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5closeEb+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::stop()': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient4stopEv+0x4): multiple definition of AsyncClient::stop()'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient4stopEv+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::_accept(tcp_pcb*, long)': ESPAsyncTCP.cpp:(.text._ZN11AsyncServer7_acceptEP7tcp_pcbl+0x14): multiple definition of AsyncServer::_accept(tcp_pcb*, long)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncServer7_acceptEP7tcp_pcbl+0x24): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::_error(long)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient6_errorEl+0x18): multiple definition of AsyncClient::_error(long)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient6_errorEl+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::_dns_found(ip_addr const*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient10_dns_foundEPK7ip_addr+0xc): multiple definition of AsyncClient::_dns_found(ip_addr const*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text._ZN11AsyncClient10_dns_foundEPK7ip_addr+0xc): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::onConnect(std::function<void (void*, AsyncClient*)>, void*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient9onConnectESt8functionIFvPvPS_EES1_+0x4): multiple definition of AsyncClient::onConnect(std::function<void (void*, AsyncClient*)>, void*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text.ZN11AsyncClient9onConnectESt8functionIFvPvPS_EES1+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::onDisconnect(std::function<void (void*, AsyncClient*)>, void*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient12onDisconnectESt8functionIFvPvPS_EES1_+0x4): multiple definition of AsyncClient::onDisconnect(std::function<void (void*, AsyncClient*)>, void*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text.ZN11AsyncClient12onDisconnectESt8functionIFvPvPS_EES1+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::onPoll(std::function<void (void*, AsyncClient*)>, void*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient6onPollESt8functionIFvPvPS_EES1_+0x4): multiple definition of AsyncClient::onPoll(std::function<void (void*, AsyncClient*)>, void*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text.ZN11AsyncClient6onPollESt8functionIFvPvPS_EES1+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncServer::onClient(std::function<void (void*, AsyncClient*)>, void*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncServer8onClientESt8functionIFvPvP11AsyncClientEES1_+0x4): multiple definition of AsyncServer::onClient(std::function<void (void*, AsyncClient*)>, void*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text.ZN11AsyncServer8onClientESt8functionIFvPvP11AsyncClientEES1+0x4): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::onAck(std::function<void (void*, AsyncClient*, unsigned int, unsigned int)>, void*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient5onAckESt8functionIFvPvPS_jjEES1_+0x8): multiple definition of AsyncClient::onAck(std::function<void (void*, AsyncClient*, unsigned int, unsigned int)>, void*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text.ZN11AsyncClient5onAckESt8functionIFvPvPS_jjEES1+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::onData(std::function<void (void*, AsyncClient*, void*, unsigned int)>, void*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient6onDataESt8functionIFvPvPS_S1_jEES1_+0x8): multiple definition of AsyncClient::onData(std::function<void (void*, AsyncClient*, void*, unsigned int)>, void*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text.ZN11AsyncClient6onDataESt8functionIFvPvPS_S1_jEES1+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::onPacket(std::function<void (void*, AsyncClient*, pbuf*)>, void*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient8onPacketESt8functionIFvPvPS_P4pbufEES1_+0x8): multiple definition of AsyncClient::onPacket(std::function<void (void*, AsyncClient*, pbuf*)>, void*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text.ZN11AsyncClient8onPacketESt8functionIFvPvPS_P4pbufEES1+0x8): first defined here
/data/esp_fan/.pioenvs/esp_fan/lib7e6/[email protected](ESPAsyncTCP.cpp.o): In function AsyncClient::onTimeout(std::function<void (void*, AsyncClient*, unsigned int)>, void*)': ESPAsyncTCP.cpp:(.text._ZN11AsyncClient9onTimeoutESt8functionIFvPvPS_jEES1_+0x8): multiple definition of AsyncClient::onTimeout(std::function<void (void*, AsyncClient*, unsigned int)>, void*)'
/data/esp_fan/.pioenvs/esp_fan/lib79f/libESPAsyncTCP_ID305.a(ESPAsyncTCP.cpp.o):ESPAsyncTCP.cpp:(.text.ZN11AsyncClient9onTimeoutESt8functionIFvPvPS_jEES1+0x8): first defined here
collect2: error: ld returned 1 exit status
*** [/data/esp_fan/.pioenvs/esp_fan/firmware.elf] Error 1
========================== [ERROR] Took 47.25 seconds ==========================
help_outline
Ā© 2019 Copyright ESPHome, Made with MaterializeESPHome 1.13.6 Documentation`

Compiling error

Good morning. Good to read you rewrote the itho fancontrol. i was trying to find a solution and here it is.
only thin, i get a compiling error.

''
Compiling /data/fancontrol/.pioenvs/fancontrol/libd10/esphome_itho/CC1101.cpp.o
In file included from /data/fancontrol/.piolibdeps/fancontrol/esphome_itho/CC1101.cpp:5:
/data/fancontrol/.piolibdeps/fancontrol/esphome_itho/CC1101.h:10:10: fatal error: SPI.h: No such file or directory



10 | #include <SPI.h>
| ^~~~~~~
compilation terminated.
*** [/data/fancontrol/.pioenvs/fancontrol/libd10/esphome_itho/CC1101.cpp.o] Error 1
========================= [FAILED] Took 325.43 seconds =========================
''

Unknown state & how to pair?

I'm trying to use your esphome solution, which would be awesome if it works. However, until now my logs look like this:

[08:22:58][D][text_sensor:015]: 'FanSpeed': Sending state 'Low' [08:22:58][D][text_sensor:015]: 'FanTimer': Sending state '0' [08:23:10][D][switch:021]: 'FanSendMedium' Turning ON. [08:23:10][D][switch:045]: 'FanSendMedium': Sending state OFF [08:23:13][D][text_sensor:015]: 'FanSpeed': Sending state 'Medium' [08:23:13][D][text_sensor:015]: 'FanTimer': Sending state '0' [08:23:23][D][custom:161]: Unknown state [08:23:28][D][text_sensor:015]: 'FanSpeed': Sending state 'Medium' [08:23:28][D][text_sensor:015]: 'FanTimer': Sending state '0' [08:23:41][D][custom:161]: Unknown state [08:23:43][D][text_sensor:015]: 'FanSpeed': Sending state 'Medium' [08:23:43][D][text_sensor:015]: 'FanTimer': Sending state '0' [08:23:58][D][text_sensor:015]: 'FanSpeed': Sending state 'Medium' [08:23:58][D][text_sensor:015]: 'FanTimer': Sending state '0' [08:24:13][D][text_sensor:015]: 'FanSpeed': Sending state 'Medium' [08:24:13][D][text_sensor:015]: 'FanTimer': Sending state '0' [08:24:28][D][text_sensor:015]: 'FanSpeed': Sending state 'Medium' [08:24:28][D][text_sensor:015]: 'FanTimer': Sending state '0'

I suspect that I first need to join the Itho fan, but how do I do that?

How add ITHO remotes

Hi There,

Great script and love the way how it is created.
I have 2 remotes using in Kitchen and Bathroom:

Device-ID:65:99:96:55:96:a9:9a:56 - Keuken - 42,c,51
Device-ID:6a:59:6a:55:96:a9:9a:56 - Badkamer - 3c,c,51

The first is old ID and after the name its the new ID. Tried other esphome scripts but my Wemos freeze when put GD02 on D1 pin. On pin D0 it work, when put wire on D1 is saw those 2 new ID's in log. But Wemos is very unstable and freeze within seconds.

So how can I add those remotes into your scripts?

In other scripts they all use this:

  on_boot:
    then:
      - lambda: |-
          Idlist[0]={"3c,c,51","Badkamer"};
          Idlist[1]={"42,c,51","Toilet"};
          Idlist[2]={"ID3","ID3"};
          Mydeviceid="Homeassistant"; 
          rf.setDeviceID(10,87,81); //ID for sending: 10,87,81 was used in old library
          id(swfan_low).turn_on(); //This ensures fan is at low-speed at boot

Pinout on Wemos D1 Mini is different

Hi,

The pinout on on a Wemos D1 mini is for GPIO 4 different then what is listed in the Wiring Schema. In the Wiring schema GPIO4 is listed as D1. But on a Wemos D1 mini and NodeMCU kit, D2 is GPIO4. Maybe, you could make a note those fifferences?

6 - GDO2 04=D2 Pin 2 Programmable output

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    šŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. šŸ“ŠšŸ“ˆšŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ā¤ļø Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.