AzonInc / ESPHome_tcs_intercom

ESPHome External Component to communicate on a TCS/Koch Intercom Bus
2 stars 0 forks source link

ESPHome Wemos D1 / 8266 #18

Closed lsrs7 closed 5 days ago

lsrs7 commented 1 week ago

Try to build TCS Intercom on Wemos D1, missing file efuse_reg.h.


INFO ESPHome 2024.9.2 INFO Reading configuration /config/esphome/esphome-web-48aa89.yaml... INFO Generating C++ source... INFO Compiling app... Processing tcs (board: esp01_1m; framework: arduino; platform: platformio/espressif8266@4.2.1)

Library Manager: Installing esphome/ESPAsyncTCP-esphome @ 2.0.0 INFO Installing esphome/ESPAsyncTCP-esphome @ 2.0.0 Unpacking [####################################] 100% Library Manager: ESPAsyncTCP-esphome@2.0.0 has been installed! INFO ESPAsyncTCP-esphome@2.0.0 has been installed! Library Manager: Installing esphome/ESPAsyncWebServer-esphome @ 3.2.2 INFO Installing esphome/ESPAsyncWebServer-esphome @ 3.2.2 Unpacking [####################################] 100% Library Manager: ESPAsyncWebServer-esphome@3.2.2 has been installed! INFO ESPAsyncWebServer-esphome@3.2.2 has been installed! Library Manager: Resolving dependencies... INFO Resolving dependencies... HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash Dependency Graph |-- ESPAsyncTCP-esphome @ 2.0.0 |-- ESPAsyncWebServer-esphome @ 3.2.2 |-- DNSServer @ 1.1.1 |-- ESP8266WiFi @ 1.0 |-- ESP8266mDNS @ 1.2 Compiling .pioenvs/tcs/src/esphome/components/api/api_connection.cpp.o Compiling .pioenvs/tcs/src/esphome/components/api/api_frame_helper.cpp.o Compiling .pioenvs/tcs/src/esphome/components/api/api_pb2.cpp.o Compiling .pioenvs/tcs/src/esphome/components/api/api_pb2_service.cpp.o Compiling .pioenvs/tcs/src/esphome/components/api/api_server.cpp.o Compiling .pioenvs/tcs/src/esphome/components/api/list_entities.cpp.o Compiling .pioenvs/tcs/src/esphome/components/api/proto.cpp.o Compiling .pioenvs/tcs/src/esphome/components/api/subscribe_state.cpp.o Compiling .pioenvs/tcs/src/esphome/components/api/user_services.cpp.o Compiling .pioenvs/tcs/src/esphome/components/captive_portal/captive_portal.cpp.o Compiling .pioenvs/tcs/src/esphome/components/esp8266/core.cpp.o Compiling .pioenvs/tcs/src/esphome/components/esp8266/gpio.cpp.o Compiling .pioenvs/tcs/src/esphome/components/esp8266/preferences.cpp.o Compiling .pioenvs/tcs/src/esphome/components/esphome/ota/ota_esphome.cpp.o Compiling .pioenvs/tcs/src/esphome/components/logger/logger.cpp.o Compiling .pioenvs/tcs/src/esphome/components/logger/logger_esp32.cpp.o Compiling .pioenvs/tcs/src/esphome/components/logger/logger_esp8266.cpp.o Compiling .pioenvs/tcs/src/esphome/components/logger/logger_host.cpp.o Compiling .pioenvs/tcs/src/esphome/components/logger/logger_libretiny.cpp.o Compiling .pioenvs/tcs/src/esphome/components/logger/logger_rp2040.cpp.o Compiling .pioenvs/tcs/src/esphome/components/md5/md5.cpp.o Compiling .pioenvs/tcs/src/esphome/components/mdns/mdns_component.cpp.o Compiling .pioenvs/tcs/src/esphome/components/mdns/mdns_esp32.cpp.o Compiling .pioenvs/tcs/src/esphome/components/mdns/mdns_esp8266.cpp.o Compiling .pioenvs/tcs/src/esphome/components/mdns/mdns_host.cpp.o Compiling .pioenvs/tcs/src/esphome/components/mdns/mdns_libretiny.cpp.o Compiling .pioenvs/tcs/src/esphome/components/mdns/mdns_rp2040.cpp.o Compiling .pioenvs/tcs/src/esphome/components/network/util.cpp.o Compiling .pioenvs/tcs/src/esphome/components/ota/ota_backend.cpp.o Compiling .pioenvs/tcs/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o Compiling .pioenvs/tcs/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o Compiling .pioenvs/tcs/src/esphome/components/ota/ota_backend_arduino_libretiny.cpp.o Compiling .pioenvs/tcs/src/esphome/components/ota/ota_backend_arduino_rp2040.cpp.o Compiling .pioenvs/tcs/src/esphome/components/ota/ota_backend_esp_idf.cpp.o Compiling .pioenvs/tcs/src/esphome/components/safe_mode/safe_mode.cpp.o Compiling .pioenvs/tcs/src/esphome/components/socket/bsd_sockets_impl.cpp.o Compiling .pioenvs/tcs/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o Compiling .pioenvs/tcs/src/esphome/components/socket/lwip_sockets_impl.cpp.o Compiling .pioenvs/tcs/src/esphome/components/socket/socket.cpp.o Compiling .pioenvs/tcs/src/esphome/components/tcs_intercom/tcs_intercom.cpp.o src/esphome/components/tcs_intercom/tcs_intercom.cpp:14:10: fatal error: soc/efuse_reg.h: No such file or directory 14 | #include "soc/efuse_reg.h" | ^~~~~ compilation terminated. *** [.pioenvs/tcs/src/esphome/components/tcs_intercom/tcs_intercom.cpp.o] Error 1 ========================= [FAILED] Took 134.86 seconds =========================

AzonInc commented 1 week ago

This repository is no longer maintained.

I added a possible fix on the Doorman repo dev branch. You can find the docs for that component here.

The new component tc_bus works different from this implementation here as it implements the protocol itself. While it's still possible to send raw 16/32 bit hex commands, it's recommended to use the new command builder functionality.

Example config:

external_components:
  - source: github://AzonInc/Doorman@dev
    components: [ tc_bus ]

# TCS Intercom configuration
tc_bus:
  id: my_tc_bus
  rx_pin: GPIO9
  tx_pin: GPIO8
  serial_number: 798906
  bus_command:
    name: "Last Bus Command"
AzonInc commented 6 days ago

Does the tc_bus component compile on 8266?

lsrs7 commented 5 days ago

Yes, but have not tested with connection to the tcs system:

INFO ESPHome 2024.9.2 INFO Reading configuration /config/esphome/esphome-tcs.yaml... INFO Generating C++ source... INFO Compiling app... Processing esphome-tcs (board: esp01_1m; framework: arduino; platform: platformio/espressif8266@4.2.1)

HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash Dependency Graph |-- ESPAsyncTCP-esphome @ 2.0.0 |-- ESPAsyncWebServer-esphome @ 3.2.2 |-- DNSServer @ 1.1.1 |-- ESP8266WiFi @ 1.0 |-- ESP8266mDNS @ 1.2 |-- ArduinoJson @ 6.18.5 |-- Improv @ 1.2.4 Compiling .pioenvs/esphome-tcs/src/esphome/components/api/api_connection.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/api/api_frame_helper.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/api/api_pb2.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/api/api_pb2_service.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/api/api_server.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/api/list_entities.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/api/proto.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/api/subscribe_state.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/api/user_services.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/binary_sensor/automation.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/binary_sensor/binary_sensor.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/binary_sensor/filter.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/captive_portal/captive_portal.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/esp8266/core.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/esp8266/gpio.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/esp8266/preferences.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/esphome/ota/ota_esphome.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/improv_base/improv_base.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/improv_serial/improv_serial_component.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/json/json_util.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/logger/logger.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/logger/logger_esp32.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/logger/logger_esp8266.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/logger/logger_host.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/logger/logger_libretiny.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/logger/logger_rp2040.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/md5/md5.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/mdns/mdns_component.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/mdns/mdns_esp32.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/mdns/mdns_esp8266.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/mdns/mdns_host.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/mdns/mdns_libretiny.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/mdns/mdns_rp2040.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/network/util.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/ota/ota_backend.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/ota/ota_backend_arduino_libretiny.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/ota/ota_backend_arduino_rp2040.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/ota/ota_backend_esp_idf.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/safe_mode/safe_mode.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/socket/bsd_sockets_impl.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/socket/lwip_sockets_impl.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/socket/socket.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/tc_bus/protocol.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/tc_bus/tc_bus.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/text_sensor/filter.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/text_sensor/text_sensor.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/web_server/list_entities.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/web_server/web_server.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/web_server/web_server_v1.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/web_server_base/web_server_base.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/wifi/wifi_component.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/wifi/wifi_component_esp32_arduino.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/wifi/wifi_component_esp8266.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/wifi/wifi_component_libretiny.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/components/wifi/wifi_component_pico_w.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/core/application.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/core/component.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/core/component_iterator.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/core/controller.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/core/entity_base.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/core/helpers.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/core/log.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/core/ring_buffer.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/core/scheduler.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/core/string_ref.cpp.o Compiling .pioenvs/esphome-tcs/src/esphome/core/util.cpp.o Compiling .pioenvs/esphome-tcs/src/main.cpp.o Linking .pioenvs/esphome-tcs/firmware.elf RAM: [==== ] 42.2% (used 34544 bytes from 81920 bytes) Flash: [==== ] 43.4% (used 444033 bytes from 1023984 bytes) Building .pioenvs/esphome-tcs/firmware.bin esp8266_copy_factory_bin([".pioenvs/esphome-tcs/firmware.bin"], [".pioenvs/esphome-tcs/firmware.elf"]) esp8266_copy_ota_bin([".pioenvs/esphome-tcs/firmware.bin"], [".pioenvs/esphome-tcs/firmware.elf"]) ======================== [SUCCESS] Took 317.91 seconds ======================== INFO Successfully compiled program. INFO Connecting to 192.168.0.102 INFO Uploading /data/build/esphome-tcs/.pioenvs/esphome-tcs/firmware.bin (448192 bytes) INFO Compressed to 312977 bytes Uploading: [============================================================] 100% Done...

AzonInc commented 5 days ago

Okay perfect. I will close this for now. Please open a new issue in the Doorman repo if needed :)