ESP32-S3-4848S040 z FW openHASP + integracja HA openHASP

przerobiłem pages.json i na razie będzie z setnymi po przecinku, coć tak szeególowe info nie jest potrzebne


Jeszcze muszę poszukać jak “spolszczyć” datę.

Zakładając, że źródłowa wartość jest stringiem, bo ja nie wiem czym jest, a Ty możesz to sprawdzić…

to najpierw stringa zmieniłbym w liczbę, zaokrąglił i dopiero z powrotem konwersja w string

         "text": '{{ states("sensor.sypialnia_temperature"  | float | round(1) ) }}°C'

edytowano literówkę

Tak to wygląda:

// Funkcja wysyłania danych do MQTT
void sendToMQTT() {
  if ((millis() - mqttLastTime) > mqttInterval) {
    for (int i = 0; i < 4; i++) {
      if (thermometer[i] != -12700 && thermometer[i] != 12700) {
        char topic[64];
        snprintf(topic, sizeof(topic), "%stemperature%d", mqttTopicPrefix, i + 1);
        char payload[16];
        snprintf(payload, sizeof(payload), "%.2f", thermometer[i] / 100.0);
        mqttClient.publish(topic, payload);
      }
    }
    mqttLastTime = millis();
  }
}

wiem, że wystarczy tu zmienić “%.2f” na “%.1f”, ale wolałbym zrobić to już w HA w openhasp.yaml

Jest stringiem, wypróbuj ostatnią wersję konwersji w template.

Sprawdzałem nie wysyła danych

      - obj: "p1b4"  # data
        properties:
          "text": >-
            {%{% set weekdays = ["Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"] %}
            {%% set months = ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"] %}
            {{ weekdays[now().weekday()] + ", " + now().strftime("%-d") + "  " + months[now().month - 1] }}

Zrobiłem tak i działa, ale może jest jakiś prostszy sposób, aby strftime wyświetlał polskie nazwy?

Podszedłem dziś jeszcze raz na spokojnie do tego i znalazłem przyczynę (nawias zamykający odczyt sensora dałeś w złym miejscu.
Tak działa:

          "text": '{{ states("sensor.sypialnia_temperature") | round(1) }}°C'
1 Like

Nie chcę się sprzeczać, ale pokaż mi gdzie ja ten błąd wprowadziłem?

Mój działający pokazałem tu:

a testowany z “with_unit=True” tu:

i tyle :wink:

A to:

to był cytat a Twojego wpisu, który potem edytowałeś :wink:

Faktycznie to był mój błąd, posypuję głowę popiołem.