Seite 2 von 2
Re: REST API - Ich blick's nicht
Verfasst: Do 9. Dez 2021, 10:32
von azrael783
@carsten_h Check mal deine Sensoren. Du solltest zwei "Eiswarnung" Sensoren haben. Einen der die Antwart des Rest-Calls enthält und einen der die Icons entsprechend anzeigt.
Re: REST API - Ich blick's nicht
Verfasst: Do 9. Dez 2021, 10:44
von carsten_h
Friedi hat geschrieben: ↑Do 9. Dez 2021, 10:25
Der Binary Sensor benötigt in diesem Fall auf jeden Fall als Grundlage den Rest-Sensor (siehe
viewtopic.php?p=727#p727). Ohne den hat er ja keinen Wert ...
Ja klar, den habe ich ja auch definiert und normal angezeigt wird ja vorne auch die Schneeflocke, nur eben nicht als badge.
Also zusammengefasst. Das hier steht für den REST Sensor drin:
Code: Alles auswählen
# Sensor für Eiswarner
- platform: rest
scan_interval: 7200
name: eiswarnung_text
resource: !secret eiswarnung_url
json_attributes:
- success
- message
- callsLeft
- callsDailyLimit
- callsResetInSeconds
- result
value_template: "{{ value_json.result.forecastText }}"
Dies hier steht für den binary Sensor drin:
Code: Alles auswählen
- platform: template
sensors:
eiswarnung:
friendly_name: Eiswarnung
value_template: >-
{{state_attr('sensor.eiswarnung_text', 'result')['forecastId'] == 1 or state_attr('sensor.eiswarnung_text', 'result')['forecastId'] == 2 }}
icon_template: >-
{% if state_attr('sensor.eiswarnung_text', 'result')['forecastId'] == 0 %}
mdi:snowflake-off
{% elif state_attr('sensor.eiswarnung_text', 'result')['forecastId'] == 1 %}
mdi:snowflake-alert
{% elif state_attr('sensor.eiswarnung_text', 'result')['forecastId'] == 2 %}
mdi:snowflake
{%- else %}
mdi:help-box
{% endif %}
Mit diesem Eintrag in der ui-lovelace.yaml:
erhalte ich das hier:
- Bildschirmfoto 2021-12-09 um 09.13.31.png (5.57 KiB) 330 mal betrachtet
mit diesem Eintrag:
Code: Alles auswählen
cards:
- type: entities
state_color: true
entities:
- sensor.eiswarnung
erhalte ich das hier:
- Bildschirmfoto 2021-12-09 um 10.57.03.png (6.09 KiB) 330 mal betrachtet
Warum ist bei mir das Icon nicht in dem Badge zu sehen, sondern der Text false?
Re: REST API - Ich blick's nicht
Verfasst: Do 9. Dez 2021, 11:08
von azrael783
Ich kann es gerade nicht nachvollziehen, da ich den Template Sensor nicht erstellt bekomme.
Re: REST API - Ich blick's nicht
Verfasst: Do 9. Dez 2021, 15:21
von Osorkon
carsten_h hat geschrieben: ↑Do 9. Dez 2021, 10:44
Warum ist bei mir das Icon nicht in dem Badge zu sehen, sondern der Text false?
Das kann ich Dir sagen.
Da Du an der Stelle keinen
binary_sensor sondern einen sensor erstellt hast.
Der gleiche code. Links als Binary Sensoer. Rechts als sensor.
- eiswarnung.PNG (3.89 KiB) 320 mal betrachtet
Gruß
Osorkon
Re: REST API - Ich blick's nicht
Verfasst: Do 9. Dez 2021, 15:55
von carsten_h
Osorkon hat geschrieben: ↑Do 9. Dez 2021, 15:21Da Du an der Stelle keinen
binary_sensor sondern einen sensor erstellt hast.
Jetzt wo Du es schreibst.
Patsch vor die Stirn.
Geht!
Danke!
Re: REST API - Ich blick's nicht
Verfasst: Do 9. Dez 2021, 16:10
von Friedi
carsten_h hat geschrieben: ↑Do 9. Dez 2021, 15:55
Jetzt wo Du es schreibst.
Patsch vor die Stirn.
Geht!
Danke!
Hab’s auch nicht gesehen
Re: REST API - Ich blick's nicht
Verfasst: Fr 10. Dez 2021, 09:42
von azrael783
@Osorkon aus deinem Code geht leider nicht hervor, dass es ein binary_sensor ist, da nicht klar ist wo du den Code eingefügt hast und unter "-platform: template" "
sensor" steht. Das deutet für mich auf einen normalen Sensor hin. Wahrscheinlich hat das auch dazu geführt, dass ich diesen Teil nicht in meiner "sensor.yaml" Datei einfügen konnte.
Hier mal meine Lösung als binary_sensor:
Code: Alles auswählen
# configuration.yaml
template:
- binary_sensor:
- name: Eiswarnung
state: >
{{state_attr('sensor.eiswarnung_restcall', 'result')['forecastId'] == 1 or state_attr('sensor.eiswarnung_restcall', 'result')['forecastId'] == 2 }}
icon: >
{% if state_attr('sensor.eiswarnung_restcall', 'result')['forecastId'] == 0 %}
mdi:snowflake-off
{% elif state_attr('sensor.eiswarnung_restcall', 'result')['forecastId'] == 1 %}
mdi:snowflake-alert
{% elif state_attr('sensor.eiswarnung_restcall', 'result')['forecastId'] == 2 %}
mdi:snowflake
{%- else %}
mdi:help-box
{% endif %}
Den Sensor, der den Restcall macht, habe ich "eiswarnung_restcall" genannt, um Überschneidungen bei den Namen zu vermeiden.
Re: REST API - Ich blick's nicht
Verfasst: Fr 10. Dez 2021, 09:46
von Friedi
azrael783 hat geschrieben: ↑Fr 10. Dez 2021, 09:42
@Osorkon aus deinem Code geht leider nicht hervor, dass es ein binary_sensor ist, da nicht klar ist wo du den Code eingefügt hast und unter "-platform: template" "
sensor" steht. Das deutet für mich auf einen normalen Sensor hin.
Naja, er schrieb ja, dass es ein binary_sensor ist. Wahrscheinlich hat er ihn, wie ich auch, ausgelagert in einer binary_sensors.yaml.