[Article] Intégration Pronote : cours, devoirs, notes, etc (archive)

Tu as des exemples dans le fil de discussion. par exemple là: [Article] Intégration Pronote : cours, devoirs, notes, etc - #812 par herveaurel
Une petite recherche et tu vas retomber dessus.

Vu que les absences et les retards lèvent un event comme les notes, c’est assez proche comme syntaxe.

Un exemple des miennes (même principe que dessus, mais je fais aussi un test sur le nom pour notifier uniquement l’enfant concerné parmi nos deux collégiens):

Absences
alias: Pronote - Notification Absence
description: >-
  Notification smartphone parents en cas de nouvelle absence sur le pronote d'un
  enfant. Notification de l'enfant sur son telephone
trigger:
  - platform: event
    event_type: pronote_event
    event_data:
      type: new_absence
condition: []
action:
  - data:
      title: Nouvelle Absence pour {{ trigger.event.data.child_nickname }}
      message: >
        Absence {% if trigger.event.data.data.justified == False %}injustifiée{%
        else %}justifiée{% endif %} le {{
        as_timestamp(trigger.event.data.data.from)|timestamp_custom('%d/%m/%Y')
        }} De {{
        as_timestamp(trigger.event.data.data.from)|timestamp_custom('%H:%M') }}
        à {{
        as_timestamp(trigger.event.data.data.to)|timestamp_custom('%H:%M')}} ({{
        trigger.event.data.data.hours }}) Motif : {{
        trigger.event.data.data.reasons }}
      data:
        clickAction: /lovelace-smartphone/pronote
        url: /lovelace-smartphone/pronote
    action: notify.mobile_app_smartphone_père
  - data:
      title: Nouvelle Absence pour {{ trigger.event.data.child_nickname }}
      message: >
        Absence {% if trigger.event.data.data.justified == False %}injustifiée{%
        else %}justifiée{% endif %} le {{
        as_timestamp(trigger.event.data.data.from)|timestamp_custom('%d/%m/%Y')
        }} De {{
        as_timestamp(trigger.event.data.data.from)|timestamp_custom('%H:%M') }}
        à {{
        as_timestamp(trigger.event.data.data.to)|timestamp_custom('%H:%M')}} ({{
        trigger.event.data.data.hours }}) Motif : {{
        trigger.event.data.data.reasons }}
      data:
        clickAction: /lovelace-smartphone/pronote
        url: /lovelace-smartphone/pronote
    action: notify.mobile_app_smartphone_mère
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ trigger.event.data.child_name == 'xxx Louise' }}"
        sequence:
          - data:
              title: Nouvelle Absence pour {{ trigger.event.data.child_nickname }}
              message: >
                Absence {% if trigger.event.data.data.justified == False
                %}injustifiée{% else %}justifiée{% endif %} le {{
                as_timestamp(trigger.event.data.data.from)|timestamp_custom('%d/%m/%Y')
                }} De {{
                as_timestamp(trigger.event.data.data.from)|timestamp_custom('%H:%M')
                }} à {{
                as_timestamp(trigger.event.data.data.to)|timestamp_custom('%H:%M')}}
                ({{ trigger.event.data.data.hours }}) Motif : {{
                trigger.event.data.data.reasons }}
              data:
                clickAction: /lovelace-smartphone/pronote
                url: /lovelace-smartphone/pronote
            action: notify.mobile_app_smartphone_louise
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ trigger.event.data.child_name == 'xxx Thibault' }}"
        sequence:
          - data:
              title: Nouvelle Absence pour {{ trigger.event.data.child_nickname }}
              message: >
                Absence {% if trigger.event.data.data.justified == False
                %}injustifiée{% else %}justifiée{% endif %} le {{
                as_timestamp(trigger.event.data.data.from)|timestamp_custom('%d/%m/%Y')
                }} De {{
                as_timestamp(trigger.event.data.data.from)|timestamp_custom('%H:%M')
                }} à {{
                as_timestamp(trigger.event.data.data.to)|timestamp_custom('%H:%M')}}
                ({{ trigger.event.data.data.hours }}) Motif : {{
                trigger.event.data.data.reasons }}
              data:
                clickAction: /lovelace-smartphone/pronote
                url: /lovelace-smartphone/pronote
            action: notify.mobile_app_smartphone_thibault
mode: single

Retards
alias: Pronote - notification retard
description: >-
  Notification smartphone parents en cas de nouvelle retard sur le pronote d'un
  enfant. Notification de l'enfant sur son telephone
trigger:
  - platform: event
    event_type: pronote_event
    event_data:
      type: new_delay
condition: []
action:
  - data:
      title: Nouveau retard pour {{ trigger.event.data.child_nickname }}
      message: >
        Retard {% if trigger.event.data.data.justified == False %}injustifié{%
        else %}justifié{% endif %} le {{
        as_timestamp(trigger.event.data.data.date)|timestamp_custom('%d/%m/%Y')
        }} a {{
        as_timestamp(trigger.event.data.data.date)|timestamp_custom('%H:%M') }}
        de {{ trigger.event.data.data.minutes }} minutes. Motif : {{
        trigger.event.data.data.reasons }}
      data:
        clickAction: /lovelace-smartphone/pronote
        url: /lovelace-smartphone/pronote
    action: notify.mobile_app_smartphone_père
  - data:
      title: Nouveau retard pour {{ trigger.event.data.child_nickname }}
      message: >
        Retard {% if trigger.event.data.data.justified == False %}injustifié{%
        else %}justifié{% endif %} le {{
        as_timestamp(trigger.event.data.data.date)|timestamp_custom('%d/%m/%Y')
        }} a {{
        as_timestamp(trigger.event.data.data.date)|timestamp_custom('%H:%M') }}
        de {{ trigger.event.data.data.minutes }} minutes. Motif : {{
        trigger.event.data.data.reasons }}
      data:
        clickAction: /lovelace-smartphone/pronote
        url: /lovelace-smartphone/pronote
    action: notify.mobile_app_smartphone_mère
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ trigger.event.data.child_name == 'XXX Louise' }}"
        sequence:
          - data:
              title: Nouveau retard pour {{ trigger.event.data.child_nickname }}
              message: >
                Retard {% if trigger.event.data.data.justified == False
                %}injustifié{% else %}justifié{% endif %} le {{
                as_timestamp(trigger.event.data.data.date)|timestamp_custom('%d/%m/%Y')
                }} a {{
                as_timestamp(trigger.event.data.data.date)|timestamp_custom('%H:%M')
                }} de {{ trigger.event.data.data.minutes }} minutes. Motif : {{
                trigger.event.data.data.reasons }}
              data:
                clickAction: /lovelace-smartphone/pronote
                url: /lovelace-smartphone/pronote
            action: notify.mobile_app_smartphone_louise
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ trigger.event.data.child_name == 'XXX Thibault' }}"
        sequence:
          - data:
              title: Nouveau retard pour {{ trigger.event.data.child_nickname }}
              message: >
                Retard {% if trigger.event.data.data.justified == False
                %}injustifié{% else %}justifié{% endif %} le {{
                as_timestamp(trigger.event.data.data.date)|timestamp_custom('%d/%m/%Y')
                }} a {{
                as_timestamp(trigger.event.data.data.date)|timestamp_custom('%H:%M')
                }} de {{ trigger.event.data.data.minutes }} minutes. Motif : {{
                trigger.event.data.data.reasons }}
              data:
                clickAction: /lovelace-smartphone/pronote
                url: /lovelace-smartphone/pronote
            action: notify.mobile_app_smartphone_thibault
mode: single

Notes
alias: Pronote - notification nouvelle note
description: >-
  Notification smartphone parents en cas de nouvelle note sur le pronote d'un
  enfant. Notification de l'enfant sur son telephone
trigger:
  - platform: event
    event_type: pronote_event
    event_data:
      type: new_grade
action:
  - data:
      message: >-
        {{ trigger.event.data.data.subject }} : {{
        trigger.event.data.data.grade_out_of }} ({{
        trigger.event.data.data.comment }})
      title: Nouvelle note pour {{ trigger.event.data.child_name }}
      data:
        clickAction: /lovelace-smartphone/pronote
        url: /lovelace-smartphone/pronote
    action: notify.mobile_app_smartphone_père
  - data:
      message: >-
        {{ trigger.event.data.data.subject }} : {{
        trigger.event.data.data.grade_out_of }} ({{
        trigger.event.data.data.comment }})
      title: Nouvelle note pour {{ trigger.event.data.child_name }}
      data:
        clickAction: /lovelace-smartphone/pronote
        url: /lovelace-smartphone/pronote
    action: notify.mobile_app_smartphone_mère
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ trigger.event.data.child_name == 'XXX Louise' }}"
        sequence:
          - data:
              message: >
                {{ trigger.event.data.data.subject }} : {{
                trigger.event.data.data.grade_out_of }} ({{
                trigger.event.data.data.comment }})
              title: Nouvelle note pour {{ trigger.event.data.child_name }}
              data:
                clickAction: /lovelace-smartphone/pronote
                url: /lovelace-smartphone/pronote
            action: notify.mobile_app_smartphone_louise
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ trigger.event.data.child_name == 'XXX Thibault' }}"
        sequence:
          - data:
              message: >
                {{ trigger.event.data.data.subject }} : {{
                trigger.event.data.data.grade_out_of }} ({{
                trigger.event.data.data.comment }})
              title: Nouvelle note pour {{ trigger.event.data.child_name }}
              data:
                clickAction: /lovelace-smartphone/pronote
                url: /lovelace-smartphone/pronote
            action: notify.mobile_app_smartphone_thibault

@delphiki ça vaudrait sans doute le coup de pouvoir créer un espèce de wiki pour partager autour de ce sujet de façon plus structurée que le fil de discussion, pourquoi pas dans le github, (ou sinon des liens vers certains messages clef dans le premier post du fil):