3#if defined(USE_ESP_IDF) && defined(USE_SENDSPIN_METADATA) && defined(USE_SENSOR)
5#include <sendspin/metadata_role.h>
16 LOG_SENSOR(
"",
"Track Progress",
this);
17 LOG_UPDATE_INTERVAL(
this);
23 this->
parent_->add_metadata_update_callback([
this](
const sendspin::ServerMetadataStateObject &metadata) {
24 if (!metadata.progress.has_value()) {
34 const auto &progress = metadata.progress.value();
35 if (progress.playback_speed == 0) {
64 LOG_SENSOR(
"",
"Track Duration",
this);
67 LOG_SENSOR(
"",
"Year",
this);
70 LOG_SENSOR(
"",
"Track",
this);
78 if (metadata.progress.has_value())
79 return metadata.progress.value().track_duration;
82 if (metadata.year.has_value())
83 return metadata.year.value();
86 if (metadata.track.has_value())
87 return metadata.track.value();
96 this->
parent_->add_metadata_update_callback([
this](
const sendspin::ServerMetadataStateObject &metadata) {
109 if (current != value && !(std::isnan(current) && std::isnan(value))) {
void dump_config() override
void publish_state(float state)
Publish a new state to the front-end.
float get_raw_state() const
Get the last state received by publish_state(), before any filters were applied.
ESPHOME_LOG_TAG(TAG, "sendspin.image")