Skip to content

Instantly share code, notes, and snippets.

@chytreg
Last active September 28, 2022 22:19
Show Gist options
  • Save chytreg/31fb06a72bb1c964c631f1241af4951b to your computer and use it in GitHub Desktop.
Save chytreg/31fb06a72bb1c964c631f1241af4951b to your computer and use it in GitHub Desktop.
esphome compile mysensors.yaml
// CHANGE THESE TO SUIT YOUR GATEWAY
#define MY_RADIO_RF24
#define MY_RF24_CE_PIN D0
#define MY_RF24_CS_PIN D4
#define MY_GATEWAY_SERIAL
#define MY_MQTT_PUBLISH_TOPIC_PREFIX "mysensors_rx"
#define MY_MQTT_SUBSCRIBE_TOPIC_PREFIX "mysensors_tx"
#include <MySensors.h>
// Function prototypes
void MySensorsCustomReceive(const MyMessage &message) __attribute__((weak));
bool protocolMQTTParse(MyMessage &message, const char *topic, const char *payload, unsigned int length);
const char *TAG = "mysensors";
class MySensorsGatewayShim : public Component, public CustomMQTTDevice
{
public:
void setup() override
{
this->subscribe(MY_MQTT_SUBSCRIBE_TOPIC_PREFIX "/#", &MySensorsGatewayShim::Publish2MySensorsNetwork);
}
/**
* Publish incoming messages on MY_MQTT_SUBSCRIBE_TOPIC_PREFIX to the MySensors network
*/
void Publish2MySensorsNetwork(const std::string &topic, const std::string &payload)
{
ESP_LOGD(TAG, "Incoming to send to MySensors Network - Topic: %s, Payload: %s", topic.c_str(), payload.c_str());
MyMessage msg;
protocolMQTT2MyMessage(msg, const_cast<char*>(topic.c_str()), reinterpret_cast<uint8_t*>(const_cast<char*>(payload.c_str())), payload.length());
transportRouteMessage(msg);
}
};
/*
* Allows the gateway to send MySensors compatible MQTT topics/payloads
* And custom topics/payloads for esphomelib compatibility
*/
void receive(const MyMessage &_message)
{
MyMessage message = _message;
ESP_LOGD(TAG, "RF24Packet - Sender: %u, Sensor: %u, Command: %u, Type: %u; Payload: %s", message.sender, message.sensor, mGetCommand(message), message.type, message.getString(_convBuffer));
// Default MySensors node handling
char _buf[MAX_PAYLOAD * 2 + 1];
const auto topic = protocolMyMessage2MQTT(MY_MQTT_PUBLISH_TOPIC_PREFIX, message);
const auto msg = message.getString(_buf);
const auto retain = mGetCommand(message) == C_SET ||
(mGetCommand(message) == C_INTERNAL && message.type == I_BATTERY_LEVEL);
ESP_LOGD(TAG, "Incoming to send to MQTT Network - Topic: %s, Payload: %s", topic, message.getString(_convBuffer));
mqtt::global_mqtt_client->publish(topic, msg, strlen(msg), 0, retain);
}
// Auto generated code by esphome
// ========== AUTO GENERATED INCLUDE BLOCK BEGIN ===========
#include "esphome.h"
using namespace esphome;
using std::isnan;
using std::min;
using std::max;
logger::Logger *logger_logger;
wifi::WiFiComponent *wifi_wificomponent;
mdns::MDNSComponent *mdns_mdnscomponent;
ota::OTAComponent *ota_otacomponent;
mqtt::MQTTClientComponent *mqtt_mqttclientcomponent;
using namespace mqtt;
api::APIServer *api_apiserver;
using namespace api;
using namespace json;
preferences::IntervalSyncer *preferences_intervalsyncer;
const uint8_t ESPHOME_ESP8266_GPIO_INITIAL_MODE[16] = {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255};
const uint8_t ESPHOME_ESP8266_GPIO_INITIAL_LEVEL[16] = {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255};
#define yield() esphome::yield()
#define millis() esphome::millis()
#define micros() esphome::micros()
#define delay(x) esphome::delay(x)
#define delayMicroseconds(x) esphome::delayMicroseconds(x)
#include "ESPHomeMySensorsGatewayShim.h"
// ========== AUTO GENERATED INCLUDE BLOCK END ==========="
void setup() {
// ========== AUTO GENERATED CODE BEGIN ===========
// esp8266:
// board: d1_mini
// framework:
// version: 3.0.2
// source: ~3.30002.0
// platform_version: platformio/espressif8266 @ 3.2.0
// restore_from_flash: false
// early_pin_init: true
// board_flash_mode: dout
esphome::esp8266::setup_preferences();
// esphome:
// name: mysensors
// includes:
// - ../ESPHomeMySensorsGatewayShim.h
// libraries:
// - EEPROM
// - SPI
// - MySensors=https:github.com/mysensors/MySensors#development
// build_path: .esphome/build/mysensors
// platformio_options: {}
// name_add_mac_suffix: false
App.pre_setup("mysensors", __DATE__ ", " __TIME__, false);
// logger:
// level: DEBUG
// id: logger_logger
// baud_rate: 115200
// tx_buffer_size: 512
// deassert_rts_dtr: false
// hardware_uart: UART0
// logs: {}
// esp8266_store_log_strings_in_flash: true
logger_logger = new logger::Logger(115200, 512, logger::UART_SELECTION_UART0);
logger_logger->pre_setup();
logger_logger->set_component_source("logger");
App.register_component(logger_logger);
// wifi:
// id: wifi_wificomponent
// domain: .local
// reboot_timeout: 15min
// power_save_mode: NONE
// fast_connect: false
// output_power: 20.0
// networks:
// - ssid: !secret 'wifi_ssid'
// password: !secret 'wifi_password'
// id: wifi_wifiap
// priority: 0.0
// use_address: mysensors.local
wifi_wificomponent = new wifi::WiFiComponent();
wifi_wificomponent->set_use_address("mysensors.local");
wifi::WiFiAP wifi_wifiap = wifi::WiFiAP();
wifi_wifiap.set_ssid("Kotikarium");
wifi_wifiap.set_password("koticzek86");
wifi_wifiap.set_priority(0.0f);
wifi_wificomponent->add_sta(wifi_wifiap);
wifi_wificomponent->set_reboot_timeout(900000);
wifi_wificomponent->set_power_save_mode(wifi::WIFI_POWER_SAVE_NONE);
wifi_wificomponent->set_fast_connect(false);
wifi_wificomponent->set_output_power(20.0f);
wifi_wificomponent->set_component_source("wifi");
App.register_component(wifi_wificomponent);
// mdns:
// id: mdns_mdnscomponent
// disabled: false
mdns_mdnscomponent = new mdns::MDNSComponent();
mdns_mdnscomponent->set_component_source("mdns");
App.register_component(mdns_mdnscomponent);
// ota:
// id: ota_otacomponent
// safe_mode: true
// port: 8266
// reboot_timeout: 5min
// num_attempts: 10
ota_otacomponent = new ota::OTAComponent();
ota_otacomponent->set_port(8266);
ota_otacomponent->set_component_source("ota");
App.register_component(ota_otacomponent);
if (ota_otacomponent->should_enter_safe_mode(10, 300000)) return;
// mqtt:
// broker: mosquitto.lan
// username: mosquitto
// password: mosquitto
// id: mqtt_mqttclientcomponent
// port: 1883
// discovery: true
// discovery_retain: true
// discovery_prefix: homeassistant
// discovery_unique_id_generator: legacy
// discovery_object_id_generator: none
// use_abbreviations: true
// topic_prefix: mysensors
// keepalive: 15s
// reboot_timeout: 15min
// birth_message:
// topic: mysensors/status
// payload: online
// qos: 0
// retain: true
// will_message:
// topic: mysensors/status
// payload: offline
// qos: 0
// retain: true
// shutdown_message:
// topic: mysensors/status
// payload: offline
// qos: 0
// retain: true
// log_topic:
// topic: mysensors/debug
// qos: 0
// retain: true
mqtt_mqttclientcomponent = new mqtt::MQTTClientComponent();
mqtt_mqttclientcomponent->set_component_source("mqtt");
App.register_component(mqtt_mqttclientcomponent);
mqtt_mqttclientcomponent->set_broker_address("mosquitto.lan");
mqtt_mqttclientcomponent->set_broker_port(1883);
mqtt_mqttclientcomponent->set_username("mosquitto");
mqtt_mqttclientcomponent->set_password("mosquitto");
mqtt_mqttclientcomponent->set_discovery_info("homeassistant", mqtt::MQTT_LEGACY_UNIQUE_ID_GENERATOR, mqtt::MQTT_NONE_OBJECT_ID_GENERATOR, true);
mqtt_mqttclientcomponent->set_topic_prefix("mysensors");
mqtt_mqttclientcomponent->set_birth_message(mqtt::MQTTMessage{
.topic = "mysensors/status",
.payload = "online",
.qos = 0,
.retain = true,
});
mqtt_mqttclientcomponent->set_last_will(mqtt::MQTTMessage{
.topic = "mysensors/status",
.payload = "offline",
.qos = 0,
.retain = true,
});
mqtt_mqttclientcomponent->set_shutdown_message(mqtt::MQTTMessage{
.topic = "mysensors/status",
.payload = "offline",
.qos = 0,
.retain = true,
});
mqtt_mqttclientcomponent->set_log_message_template(mqtt::MQTTMessage{
.topic = "mysensors/debug",
.payload = "",
.qos = 0,
.retain = true,
});
mqtt_mqttclientcomponent->set_keep_alive(15);
mqtt_mqttclientcomponent->set_reboot_timeout(900000);
// api:
// id: api_apiserver
// port: 6053
// password: ''
// reboot_timeout: 15min
api_apiserver = new api::APIServer();
api_apiserver->set_component_source("api");
App.register_component(api_apiserver);
api_apiserver->set_port(6053);
api_apiserver->set_password("");
api_apiserver->set_reboot_timeout(900000);
// json:
// {}
// preferences:
// id: preferences_intervalsyncer
// flash_write_interval: 60s
preferences_intervalsyncer = new preferences::IntervalSyncer();
preferences_intervalsyncer->set_write_interval(60000);
preferences_intervalsyncer->set_component_source("preferences");
App.register_component(preferences_intervalsyncer);
// custom_component:
// lambda: !lambda |-
// auto MSGS = new MySensorsGatewayShim();
// return { MSGS };
// id: custom_component_customcomponentconstructor
custom_component::CustomComponentConstructor custom_component_customcomponentconstructor = custom_component::CustomComponentConstructor([=]() -> std::vector<Component *> {
#line 37 "mysensors.yaml"
auto MSGS = new MySensorsGatewayShim();
return { MSGS };
});
// network:
// {}
// socket:
// implementation: lwip_tcp
// =========== AUTO GENERATED CODE END ============
App.setup();
}
void loop() {
App.loop();
}
esphome:
name: mysensors
includes:
- ../ESPHomeMySensorsGatewayShim.h
libraries:
- EEPROM
- SPI
# does not compile, macro "yield" passed 1 arguments, but takes just 0
# - MySensors=https://github.com/mysensors/MySensors#development
# works!!!
- MySensors=https://github.com/d-a-v/MySensors#76f2545e7f9693af9ce8e0539b81dda93620beea
# fatal error: hal/architecture/ESP8266/MyMainESP8266.cpp: No such file or directory
# - MySensors=https://github.com/d-a-v/MySensors#9b5c60b0be00c7ed9db77e48250252f252447940
esp8266:
# framework:
# version: 3.0.2
# platform_version: 3.2.0
board: d1_mini
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
mqtt:
broker: mosquitto.lan
username: mosquitto
password: mosquitto
logger:
level: debug
api:
ota:
custom_component:
- lambda: |-
auto MSGS = new MySensorsGatewayShim();
return { MSGS };
❯ esphome compile mysensors.yaml
INFO Reading configuration mysensors.yaml...
INFO Generating C++ source...
INFO Compiling app...
*******************************************************************************************************************************************************************************************
Obsolete PIO Core v6.0.2 is used (previous was 6.1.4)
Please remove multiple PIO Cores from a system:
https://docs.platformio.org/en/latest/core/installation/troubleshooting.html
*******************************************************************************************************************************************************************************************
Processing mysensors (board: d1_mini; framework: arduino; platform: platformio/espressif8266 @ 3.2.0)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Removing unused dependencies...
Library Manager: Removing MySensors @ 2.4.0-alpha+sha.093afa0
INFO Removing MySensors @ 2.4.0-alpha+sha.093afa0
Library Manager: MySensors@2.4.0-alpha+sha.093afa0 has been removed!
INFO MySensors@2.4.0-alpha+sha.093afa0 has been removed!
Library Manager: Installing git+https://github.com/d-a-v/MySensors#76f2545e7f9693af9ce8e0539b81dda93620beea
INFO Installing git+https://github.com/d-a-v/MySensors#76f2545e7f9693af9ce8e0539b81dda93620beea
git version 2.32.1 (Apple Git-133)
Cloning into '/Users/chytreg/.platformio/.cache/tmp/pkg-installing-oyrn14cx'...
remote: Enumerating objects: 18354, done.
remote: Counting objects: 100% (194/194), done.
remote: Compressing objects: 100% (157/157), done.
remote: Total 18354 (delta 72), reused 84 (delta 37), pack-reused 18160
Receiving objects: 100% (18354/18354), 28.77 MiB | 2.87 MiB/s, done.
Resolving deltas: 100% (11147/11147), done.
HEAD is now at 76f2545e Merge branch 'development' into noCoreRedefinition
Library Manager: MySensors@2.4.0-alpha+sha.76f2545e has been installed!
INFO MySensors@2.4.0-alpha+sha.76f2545e has been installed!
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
Dependency Graph
|-- EEPROM @ 1.0
|-- SPI @ 1.0
|-- MySensors @ 2.4.0-alpha+sha.76f2545e
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- AsyncMqttClient-esphome @ 0.8.6
| |-- ESPAsyncTCP-esphome @ 1.2.3
|-- ArduinoJson @ 6.18.5
Compiling .pioenvs/mysensors/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/api_frame_helper.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/api_pb2.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/api_pb2_service.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/api_server.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/list_entities.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/proto.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/subscribe_state.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/user_services.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/esp8266/core.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/esp8266/gpio.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/esp8266/preferences.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/json/json_util.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/logger/logger.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/md5/md5.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mdns/mdns_component.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mdns/mdns_esp32_arduino.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mdns/mdns_esp8266.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mdns/mdns_esp_idf.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/custom_mqtt_device.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_backend_idf.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_button.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_client.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_climate.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_component.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_cover.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_fan.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_light.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_lock.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_number.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_select.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_sensor.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_switch.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/network/util.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/ota/ota_component.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/socket/socket.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/wifi/wifi_component.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/wifi/wifi_component_esp32_arduino.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/wifi/wifi_component_esp8266.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/application.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/color.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/component.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/component_iterator.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/controller.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/entity_base.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/helpers.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/log.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/scheduler.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/util.cpp.o
Compiling .pioenvs/mysensors/src/main.cpp.o
Generating LD script .pioenvs/mysensors/ld/local.eagle.app.v6.common.ld
Compiling .pioenvs/mysensors/libc02/EEPROM/EEPROM.cpp.o
Compiling .pioenvs/mysensors/lib071/SPI/SPI.cpp.o
Compiling .pioenvs/mysensors/libf4d/MySensors/MyASM.S.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/BearSSLHelpers.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/CertStoreBearSSL.cpp.o
Archiving .pioenvs/mysensors/libf4d/libMySensors.a
Indexing .pioenvs/mysensors/libf4d/libMySensors.a
Archiving .pioenvs/mysensors/libc02/libEEPROM.a
Indexing .pioenvs/mysensors/libc02/libEEPROM.a
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFi.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFiAP.cpp.o
Archiving .pioenvs/mysensors/lib071/libSPI.a
Indexing .pioenvs/mysensors/lib071/libSPI.a
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFiMulti.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFiSTA.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFiScan.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/WiFiClient.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/WiFiServer.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/WiFiUdp.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o
Compiling .pioenvs/mysensors/lib6ea/ESP8266mDNS/ESP8266mDNS.cpp.o
Compiling .pioenvs/mysensors/lib6ea/ESP8266mDNS/LEAmDNS.cpp.o
Compiling .pioenvs/mysensors/lib6ea/ESP8266mDNS/LEAmDNS_Control.cpp.o
Compiling .pioenvs/mysensors/lib6ea/ESP8266mDNS/LEAmDNS_Helpers.cpp.o
Compiling .pioenvs/mysensors/lib6ea/ESP8266mDNS/LEAmDNS_Structs.cpp.o
Compiling .pioenvs/mysensors/lib6ea/ESP8266mDNS/LEAmDNS_Transfer.cpp.o
Compiling .pioenvs/mysensors/libfa7/ESPAsyncTCP-esphome/AsyncPrinter.cpp.o
Archiving .pioenvs/mysensors/libac2/libESP8266WiFi.a
Indexing .pioenvs/mysensors/libac2/libESP8266WiFi.a
Compiling .pioenvs/mysensors/libfa7/ESPAsyncTCP-esphome/ESPAsyncTCP.cpp.o
Compiling .pioenvs/mysensors/libfa7/ESPAsyncTCP-esphome/ESPAsyncTCPbuffer.cpp.o
Compiling .pioenvs/mysensors/libfa7/ESPAsyncTCP-esphome/SyncClient.cpp.o
Compiling .pioenvs/mysensors/libfa7/ESPAsyncTCP-esphome/tcp_axtls.c.o
Compiling .pioenvs/mysensors/lib164/AsyncMqttClient-esphome/AsyncMqttClient.cpp.o
Compiling .pioenvs/mysensors/lib164/AsyncMqttClient-esphome/AsyncMqttClient/Packets/ConnAckPacket.cpp.o
Compiling .pioenvs/mysensors/lib164/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PingRespPacket.cpp.o
Compiling .pioenvs/mysensors/lib164/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubAckPacket.cpp.o
Compiling .pioenvs/mysensors/lib164/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubCompPacket.cpp.o
Compiling .pioenvs/mysensors/lib164/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRecPacket.cpp.o
Archiving .pioenvs/mysensors/lib6ea/libESP8266mDNS.a
Indexing .pioenvs/mysensors/lib6ea/libESP8266mDNS.a
Compiling .pioenvs/mysensors/lib164/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRelPacket.cpp.o
Compiling .pioenvs/mysensors/lib164/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PublishPacket.cpp.o
Compiling .pioenvs/mysensors/lib164/AsyncMqttClient-esphome/AsyncMqttClient/Packets/SubAckPacket.cpp.o
Archiving .pioenvs/mysensors/libfa7/libESPAsyncTCP-esphome.a
Indexing .pioenvs/mysensors/libfa7/libESPAsyncTCP-esphome.a
Compiling .pioenvs/mysensors/lib164/AsyncMqttClient-esphome/AsyncMqttClient/Packets/UnsubAckPacket.cpp.o
Archiving .pioenvs/mysensors/libFrameworkArduinoVariant.a
Compiling .pioenvs/mysensors/FrameworkArduino/Crypto.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/Esp-frag.cpp.o
Indexing .pioenvs/mysensors/libFrameworkArduinoVariant.a
Compiling .pioenvs/mysensors/FrameworkArduino/Esp-version.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/Esp.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/FS.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/FSnoop.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/FunctionalInterrupt.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/IPAddress.cpp.o
Archiving .pioenvs/mysensors/lib164/libAsyncMqttClient-esphome.a
Indexing .pioenvs/mysensors/lib164/libAsyncMqttClient-esphome.a
Compiling .pioenvs/mysensors/FrameworkArduino/LwipDhcpServer-NonOS.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/LwipDhcpServer.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/LwipIntf.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/LwipIntfCB.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/MD5Builder.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/Print.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/Schedule.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/StackThunk.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/Stream.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/StreamSend.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/Tone.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/TypeConversion.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/Updater.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/WMath.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/WString.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/abi.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/aes_unwrap.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/base64.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/cbuf.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/cont.S.o
Compiling .pioenvs/mysensors/FrameworkArduino/cont_util.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_eboot_command.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_features.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_flash_quirks.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_flash_utils.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_i2s.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_main.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_non32xfer.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_noniso.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_phy.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_postmortem.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_si2c.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_sigma_delta.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_spi_utils.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_timer.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_vm.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_waveform_phase.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_waveform_pwm.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_wiring.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_wiring_analog.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_wiring_digital.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/core_esp8266_wiring_shift.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/crc32.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/debug.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/exc-c-wrapper-handler.S.o
Compiling .pioenvs/mysensors/FrameworkArduino/exc-sethandler.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/flash_hal.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/gdb_hooks.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/heap.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/hwdt_app_entry.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/libb64/cdecode.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/libb64/cencode.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/libc_replacements.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/mmu_iram.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/reboot_uart_dwnld.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/spiffs/spiffs_cache.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/spiffs/spiffs_check.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/spiffs/spiffs_gc.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/spiffs_api.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/sqrt32.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/stdlib_noniso.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/time.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/uart.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/umm_malloc/umm_info.c.o
Compiling .pioenvs/mysensors/FrameworkArduino/umm_malloc/umm_integrity.c.o
Compiling .pioenvs/mysensors/FrameworkArduino/umm_malloc/umm_local.c.o
Compiling .pioenvs/mysensors/FrameworkArduino/umm_malloc/umm_malloc.cpp.o
Compiling .pioenvs/mysensors/FrameworkArduino/umm_malloc/umm_poison.c.o
Archiving .pioenvs/mysensors/libFrameworkArduino.a
Indexing .pioenvs/mysensors/libFrameworkArduino.a
Linking .pioenvs/mysensors/firmware.elf
RAM: [==== ] 38.1% (used 31172 bytes from 81920 bytes)
Flash: [==== ] 36.0% (used 375605 bytes from 1044464 bytes)
Building .pioenvs/mysensors/firmware.bin
esp8266_copy_factory_bin([".pioenvs/mysensors/firmware.bin"], [".pioenvs/mysensors/firmware.elf"])
============================================================================== [SUCCESS] Took 34.80 seconds ==============================================================================
INFO Successfully compiled program.
esphome compile mysensors.yaml
INFO Reading configuration mysensors.yaml...
INFO Generating C++ source...
INFO Compiling app...
*******************************************************************************************************************************************************************************************
Obsolete PIO Core v6.0.2 is used (previous was 6.1.4)
Please remove multiple PIO Cores from a system:
https://docs.platformio.org/en/latest/core/installation/troubleshooting.html
*******************************************************************************************************************************************************************************************
Processing mysensors (board: d1_mini; framework: arduino; platform: platformio/espressif8266 @ 3.2.0)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Library Manager: Installing git+https://github.com/mysensors/MySensors#development
INFO Installing git+https://github.com/mysensors/MySensors#development
git version 2.32.1 (Apple Git-133)
Cloning into '/Users/chytreg/.platformio/.cache/tmp/pkg-installing-v4o4yldk'...
remote: Enumerating objects: 657, done.
remote: Counting objects: 100% (657/657), done.
remote: Compressing objects: 100% (529/529), done.
remote: Total 657 (delta 112), reused 395 (delta 75), pack-reused 0
Receiving objects: 100% (657/657), 10.18 MiB | 8.99 MiB/s, done.
Resolving deltas: 100% (112/112), done.
Library Manager: MySensors@2.4.0-alpha+sha.093afa0 has been installed!
INFO MySensors@2.4.0-alpha+sha.093afa0 has been installed!
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
Dependency Graph
|-- EEPROM @ 1.0
|-- SPI @ 1.0
|-- MySensors @ 2.4.0-alpha+sha.093afa0
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- AsyncMqttClient-esphome @ 0.8.6
| |-- ESPAsyncTCP-esphome @ 1.2.3
|-- ArduinoJson @ 6.18.5
Compiling .pioenvs/mysensors/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/api_frame_helper.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/api_pb2.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/api_pb2_service.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/api_server.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/list_entities.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/proto.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/subscribe_state.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/api/user_services.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/esp8266/core.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/esp8266/gpio.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/esp8266/preferences.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/json/json_util.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/logger/logger.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/md5/md5.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mdns/mdns_component.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mdns/mdns_esp32_arduino.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mdns/mdns_esp8266.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mdns/mdns_esp_idf.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/custom_mqtt_device.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_backend_idf.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_button.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_client.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_climate.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_component.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_cover.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_fan.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_light.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_lock.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_number.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_select.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_sensor.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_switch.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/network/util.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/ota/ota_component.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/socket/socket.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/wifi/wifi_component.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/wifi/wifi_component_esp32_arduino.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/wifi/wifi_component_esp8266.cpp.o
Compiling .pioenvs/mysensors/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/application.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/color.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/component.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/component_iterator.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/controller.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/entity_base.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/helpers.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/log.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/scheduler.cpp.o
Compiling .pioenvs/mysensors/src/esphome/core/util.cpp.o
Compiling .pioenvs/mysensors/src/main.cpp.o
Generating LD script .pioenvs/mysensors/ld/local.eagle.app.v6.common.ld
Compiling .pioenvs/mysensors/libc02/EEPROM/EEPROM.cpp.o
In file included from .piolibdeps/mysensors/MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp:41,
from .piolibdeps/mysensors/MySensors/MySensors.h:453,
from src/ESPHomeMySensorsGatewayShim.h:9,
from src/main.cpp:25:
/Users/chytreg/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/core_esp8266_main.cpp:141:27: error: macro "yield" passed 1 arguments, but takes just 0
141 | extern "C" void yield(void) __attribute__ ((weak, alias("__yield")));
| ^
src/main.cpp:20: note: macro "yield" defined here
20 | #define yield() esphome::yield()
|
Compiling .pioenvs/mysensors/lib071/SPI/SPI.cpp.o
Compiling .pioenvs/mysensors/libf4d/MySensors/MyASM.S.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/BearSSLHelpers.cpp.o
Archiving .pioenvs/mysensors/libf4d/libMySensors.a
Indexing .pioenvs/mysensors/libf4d/libMySensors.a
Archiving .pioenvs/mysensors/libc02/libEEPROM.a
Indexing .pioenvs/mysensors/libc02/libEEPROM.a
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/CertStoreBearSSL.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFi.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFiAP.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o
In file included from .piolibdeps/mysensors/MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp:41,
from .piolibdeps/mysensors/MySensors/MySensors.h:453,
from src/ESPHomeMySensorsGatewayShim.h:9,
from src/main.cpp:25:
/Users/chytreg/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/core_esp8266_main.cpp:141:17: error: variable or field 'yield' declared void
141 | extern "C" void yield(void) __attribute__ ((weak, alias("__yield")));
| ^~~~~
Archiving .pioenvs/mysensors/lib071/libSPI.a
Indexing .pioenvs/mysensors/lib071/libSPI.a
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFiMulti.cpp.o
Compiling .pioenvs/mysensors/libac2/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o
*** [.pioenvs/mysensors/src/main.cpp.o] Error 1
=============================================================================== [FAILED] Took 12.18 seconds ===============================================================================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment