JonasJoKuJonas / homeassistant-WebUntis

Custom component to access data from Web Untis in Home Assistant
https://community.home-assistant.io/t/webuntis-timetable-in-ha/568273
MIT License
48 stars 11 forks source link

Unterrichtsausfall bei gemischten Klassen #152

Open RealJustMe opened 5 days ago

RealJustMe commented 5 days ago

Hallo, bei meinem Kind an der Schule sind in den meisten Fächern die Klassen gemischt und wenn für unsere Klasse das Fach ausfällt, wird dieses Fach nicht als gecancelt angegeben (was ja auch logisch ist). In der Info fehlt aber die eigene Klasse (821): "klassen": [{"name": "800", "long_name": "WP8"}, {"name": "811", "long_name": "811 Ma"}, {"name": "812", "long_name": "812 Regel"}, {"name": "813", "long_name": "813 Mu"}, {"name": "822", "long_name": "822 jap-bili"}, {"name": "823", "long_name": "823 Regel"}, {"name": "824", "long_name": "824 Regel"}] Vergleich mit einer Stunde, wo sie dabei sind: "klassen": [{"name": "800", "long_name": "WP8"}, {"name": "811", "long_name": "811 Ma"}, {"name": "812", "long_name": "812 Regel"}, {"name": "813", "long_name": "813 Mu"}, {"name": "821", "long_name": "821 bili"}, {"name": "822", "long_name": "822 jap-bili"}, {"name": "823", "long_name": "823 Regel"}, {"name": "824", "long_name": "824 Regel"}]

Vielleicht könnte man zur Prüfung auch die Klassen mit einbeziehen, ob diese an dem Fach teilnehmen.

JonasJoKuJonas commented 5 days ago

Normalerweise sollten diese Stunden gar nicht angezeigt werden. Über welche Option hast du denn die Integration eingerichtet?

RealJustMe commented 5 days ago

In der Untis App werden die auch als ganz normale Stunden angezeigt, nur dass entweder die Klasse durchgestrichen ist oder sie im Falle einer Ersatzstunde gar nicht aufgeführt ist. Eingerichtet habe ich das über "Persönlich"

So sieht es in der App aus. Der Unterricht findet statt, nur eben ohne unsere Klasse: untis

sagresbier commented 3 days ago

Hallo zusammen, ich muss auch nach Klasse filtern. Zur Info: In den Rohdaten stehen die Zeiten mit Zeitzone +00. Daher muss ich das ersetzen. Im zweiten Teil filtere ich nach Klasse '07b'. Hier mein code:

type: markdown
content: >-
  {% if states.input_boolean.sommerzeit -%}
    {% set offset = '+02' %}
  {%- else -%}
    {% set offset = '+01' %}
  {%- endif %}

  <ha-alert alert-type="success">{{ "Nico hat am " +
  strptime(states("sensor.n_today_school_start").replace('+00',
  offset), '%Y-%m-%dT%H:%M:%S%z') | as_timestamp | timestamp_custom('%d.%m.%Y')
  }}

  {{- " von " +
  strptime(states("sensor.n_today_school_start").replace('+00:',
  offset), '%Y-%m-%dT%H:%M:%S%z') | as_timestamp | timestamp_custom('%H:%M') }}

  {{- " bis "
  +strptime(states("sensor.n_today_school_end").replace('+00:',
  offset), '%Y-%m-%dT%H:%M:%S%z') | as_timestamp | timestamp_custom('%H:%M') }}

  {{- " Unterricht." }}

  </ha-alert>

  <ha-alert title="{{ "Stundenplan für " +
  strptime(states("sensor.n_next_lesson_to_wake_up").replace('+00',
  offset), '%Y-%m-%dT%H:%M:%S%z') | as_timestamp | timestamp_custom('%d.%m.%Y')
  }}">

  {% set lessons = state_attr("sensor.n_next_lesson_to_wake_up",
  "day") | from_json %} 

  {%- for lesson in lessons | sort(attribute='start') |
  selectattr('klassen.0.name', 'eq', '07b') -%}
    {{ strptime(lesson.start.replace('+00:', offset), '%Y-%m-%d %H:%M:%S%z') | as_timestamp | timestamp_custom('%H:%M') }}
    {{- " - " +strptime(lesson.end.replace('+00:', offset), '%Y-%m-%d %H:%M:%S%z') | as_timestamp | timestamp_custom('%H:%M') }}
    {{- ": " + lesson.subjects.0.long_name }}
  <br>

  {%- endfor %}

  </ha-alert>
title: Schule`
JonasJoKuJonas commented 3 days ago

@RealJustMe dann ist das von dem untis Administrator flasch eingetragen. Ich füge dann noch eine filter für Klassen hinzu 😉