May I please ask to explain why I am getting error in lambda? I try to update text sensor. if I put string as parameter then it compiles fine:
String url = "http://api.openweathermap.org/data/2.5/onecall?lat="+String(id(latitude).state)+"&lon="+String(id(latitude).state)+"&appid=9744aad7b7----d8c0d&exclude=minutely,daily,alerts";
id(last_url).publish_state("test");
but when I put url instead of test I get error:
String url = "http://api.openweathermap.org/data/2.5/onecall?lat="+String(id(latitude).state)+"&lon="+String(id(latitude).state)+"&appid=9744aad7b7----d8c0d&exclude=minutely,daily,alerts";
id(last_url).publish_state(url);
the error:
Documents/blinds-brain-gps.yaml: In lambda function:
Documents/blinds-brain-gps.yaml:271:36: error: no matching function for call to 'esphome::template_::TemplateTextSensor::publish_state(String&)'
In file included from src/esphome/components/mqtt/mqtt_text_sensor.h:7:0,
from src/esphome.h:24,
from src/main.cpp:3:
src/esphome/components/text_sensor/text_sensor.h:25:8: note: candidate: void esphome::text_sensor::TextSensor::publish_state(std::__cxx11::string)
void publish_state(std::string state);
^
src/esphome/components/text_sensor/text_sensor.h:25:8: note: no known conversion for argument 1 from 'String' to 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}'
*** [.pioenvs/blinds-brain-gps/src/main.cpp.o] Error 1
Banging my head to resolve it…