Catalogue des blocs
Messages depuis 0.1.48
Nouvelle catégorie Messages, trois blocs DE/EN/FR. Configuration, clés et envoi.
Depuis 0.1.50, également Signal · CallMeBot avec sa propre sélection de profil. Configurer l’application Signal.
| Bloc | Image | Fonction |
|---|---|---|
WhatsApp · CallMeBotugso_callmebot_action | ![]() | Profil, texte/Jinja et journal. Envoi MQTT via l’application UGSo CallMeBot Whatsapp. Clés conservées dans le backend. |
Signal · CallMeBotugso_callmebot_signal_action | ![]() | Profil, texte/Jinja et journal. Envoi MQTT via l’application UGSo CallMeBot Signal. Clés conservées dans le backend. |
Intégration WhatsAppugso_whatsapp_action | ![]() | whatsapp.send_message avec number ou target, ou notify.whatsapp. Destinataire sans +, message et compte facultatif. Configurer le jeton une fois dans HA. |
Fonctions depuis 0.1.47
Le catalogue actuel contient 169 types de blocs. Paramètres, export et limites.
| Bloc | Image | Fonction |
|---|---|---|
Définir une fonction d’actionprocedures_defnoreturn | ![]() | Suite d’actions HA réutilisable ; jusqu’à huit paramètres via l’engrenage. Définition à côté de l’automatisation. |
Appeler une fonction d’actionprocedures_callnoreturn | ![]() | Appel dynamique avec entrées d’argument. Export en groupe HA avec ses propres variables de paramètre. |
Valeur de retour conditionnelleugso_function_result | ![]() | Si / valeur / sinon ; seule la branche choisie est évaluée dans HA. Sans suite d’actions. |
Depuis 0.1.45, la boîte à outils ne contient plus de doublons : nombre dans Mathématiques, texte dans Texte, couleur dans Couleur et groupe ET/OU/NON dans Logique. Valeurs contient uniquement le pourcentage. Les 163 types et projets existants restent pris en charge.
0.1.44 · 163 types. Tous les types ont été vérifiés pour les champs de sélection HA appropriés. Les images montrent les vrais blocs Blockly en français. Les variantes des menus déroulants ne sont pas des types supplémentaires. Les IDs techniques restent identiques en DE/EN/FR. Les textes et entités d’exemple gardent leurs valeurs d’origine. Sélection HA.
Déclencheurs orange, conditions violettes, valeurs vertes, actions bleues avec le thème UGSo Standard. Les autres palettes adaptent les couleurs. Usage et import · Paquets personnalisés.
Système
| Bloc | Image | Fonction |
|---|---|---|
Journal … message …ugso_log_action | ![]() | Écrit dans le journal système HA à l’exécution. La configuration HA peut filtrer info/debug. |
Script HA … …ugso_script_action | ![]() | Appeler et attendre reprend après la fin du script. Transmettre les paramètres via l’action HA générique. |
Actualiser l’entité …ugso_update_action | ![]() | Demande l’actualisation de l’entité dans HA. Prise en charge selon l’intégration ; ne définit pas un état. |
Assistant … … …ugso_helper_action | ![]() | Actions adaptées au type d’assistant. Rechercher une entité ou saisir son ID. |
Valeurs
| Bloc | Image | Fonction |
|---|---|---|
Pourcentageugso_percent | ![]() | Curseur de 0 à 100, valeur numérique en pourcentage. |
Date et heure
| Bloc | Image | Fonction |
|---|---|---|
Date du jour … …ugso_date_condition | ![]() | Compare la date du jour, année comprise, dans le fuseau HA. Ne déclenche pas une automatisation. |
L’heure actuelle est … …ugso_time_compare | ![]() | Comparer l’heure locale HA ; intervalle avec début inclus et fin exclue, même à travers minuit. Condition, pas déclencheur. |
L’heure actuelle … est … …ugso_time_compare_input | ![]() | Comparer une heure raccordée. Décocher l’heure actuelle affiche une entrée de date à comparer. |
Heure actuelle comme dateugso_time_now | ![]() | Date HA avec fuseau horaire, pour les calculs ou le formatage. |
Date calculée …ugso_time_boundary | ![]() | Début du jour, du jour suivant, de la semaine (lundi), du mois ou de l’année dans le fuseau HA. |
Prochain événement solaire … décalage (minutes) …ugso_time_sun | ![]() | Prochain événement de sun.sun en heure locale HA, éventuellement demain. Une valeur absente provoque une erreur de modèle. |
Calculer la date … … … …ugso_time_shift | ![]() | Ajouter ou soustraire une durée à une date ; millisecondes, secondes, minutes, heures ou jours. Nombre fini requis. |
Date … au format …ugso_time_format | ![]() | Texte formaté ou temps Unix pour l’affichage ou les variables. Utiliser la date pour les calculs. |
Conversion
| Bloc | Image | Fonction |
|---|---|---|
Convertir en nombre …ugso_convert_number | ![]() | HA float() : nombre décimal complet, sans préfixe parseFloat ni valeur de secours implicite. Pour comparaisons, variables et calculs de dates, pas pour un seuil fixe de déclencheur. |
Convertir en booléen …ugso_convert_boolean | ![]() | HA bool() : true/false, on/off, yes/no, 1/0. Une valeur non reconnue provoque une erreur de modèle. |
Convertir en texte …ugso_convert_string | ![]() | Représentation textuelle Jinja, sans sérialisation JSON. Les booléens deviennent True/False. |
Type de …ugso_convert_type | ![]() | HA typeof() : noms de types Python, str, int, float, bool, dict, list ou NoneType. HA 2023.4 ou ultérieur. |
Convertir en date/heure … entrée …ugso_convert_datetime | ![]() | Préférer un texte ISO avec Z ou décalage de fuseau explicite. Choisir l’unité Unix. Résultat en heure locale HA ; une entrée invalide provoque une erreur de modèle. |
Date/heure … vers …ugso_convert_date_format | ![]() | Le format détermine le raccord : date, nombre à l’exécution ou texte. Format personnalisé Python strftime. |
Durée … entrée … vers …ugso_convert_duration | ![]() | Durée numérique, en millisecondes par défaut comme dans ioBroker. Fractions de seconde tronquées. Heures/minutes peuvent dépasser 24/60 ; signe conservé. |
JSON vers valeur …ugso_convert_from_json | ![]() | HA from_json : objet, liste ou valeur simple. JSON invalide : erreur, sans objet vide de secours. |
Valeur vers JSON … indenter …ugso_convert_to_json | ![]() | HA to_json avec indentation facultative. Convertir les dates en texte ISO ou nombre Unix auparavant. |
Délais
| Bloc | Image | Fonction |
|---|---|---|
Pause … …ugso_pause | ![]() | Délai natif HA. L’entrée doit fournir un nombre, vérifié à l’exécution. Les millisecondes ne garantissent pas une précision temps réel. |
Attendre que … pendant au plus … … continuer après expiration …ugso_wait | ![]() | HA wait_template avec expiration. Sans coche : arrêt de cette exécution à l’expiration. Utiliser des conditions liées aux entités ; l’heure seule ne rafraîchit pas continuellement le modèle. |
Arrêter cette exécution … comme erreur …ugso_stop | ![]() | Arrête l’exécution HA actuelle, y compris les boucles englobantes. Ne supprime pas un temporisateur nommé ioBroker. |
Objet
| Bloc | Image | Fonction |
|---|---|---|
Nouvel objet …ugso_object_new | ![]() | Dictionnaire local à attributs nommés. Ajouter des entrées avec l’engrenage ou +/−. Ce n’est ni une entité HA ni un point de données ioBroker. |
Attribut … de l’objet …ugso_object_get | ![]() | Lit une clé du dictionnaire, y compris keys/items. Clé absente : null ; type d’objet invalide : erreur de modèle HA. |
L’objet … possède l’attribut …ugso_object_has | ![]() | Vérifier la présence d’une clé dans un dictionnaire, y compris une clé dont la valeur est null. |
Attributs de l’objet …ugso_object_keys | ![]() | Liste des clés du dictionnaire, pour parcourir les éléments ou produire du JSON. |
Définir l’attribut … de la variable … à …ugso_object_set | ![]() | Affecte à cette variable HA un nouveau dictionnaire avec la clé modifiée. Initialiser la variable comme objet. Les autres variables et attributs HA restent inchangés. |
Supprimer l’attribut … de la variable …ugso_object_remove | ![]() | Affecte un nouveau dictionnaire sans cette clé. Une clé absente laisse le contenu inchangé. La variable doit déjà contenir un objet. |
Déclencheurs
| Bloc | Image | Fonction |
|---|---|---|
Quand … atteint l’état …ugso_state_trigger | ![]() | Réagit à un changement d’état. |
Quand … franchit … …ugso_numeric_trigger | ![]() | Démarre au franchissement d’un seuil, pas continuellement tant que la condition reste vraie. |
Quand il est …ugso_time_trigger | ![]() | Déclencher l’automatisation à une heure fixe au format HH:mm:ss. |
Au …ugso_sun_trigger | ![]() | Déclencher au lever ou au coucher du soleil, selon Home Assistant. |
Quand Home Assistant démarreugso_start_trigger | ![]() | Déclencher au démarrage de Home Assistant. |
Conditions
| Bloc | Image | Fonction |
|---|---|---|
… est …ugso_state_condition | ![]() | Vérifier si l’entité possède l’état indiqué. Les valeurs on/off restent les IDs HA. |
… est … …ugso_numeric_condition | ![]() | Comparer l’état numérique d’une entité avec une borne fixe, au-dessus ou en dessous. |
Actions
| Bloc | Image | Fonction |
|---|---|---|
Allumer / éteindre / basculerugso_switch_action | ![]() | Action du domaine de l’entité choisie. Vérifier sa disponibilité dans HA. |
Action HA … cible … données (JSON) …ugso_service_action | ![]() | Cible facultative. Données sous forme d’objet JSON ; l’intégration doit être présente dans HA. |
Attendre … secondesugso_delay_action | ![]() | Attendre un nombre de secondes via une action delay native HA. |
Si … faire …ugso_if_action | ![]() | Branche if native HA avec actions, sinon si et sinon. Engrenage et +/− pour étendre les branches. |
Lampe … couleur … luminosité … %ugso_colour_action | ![]() | Action light.turn_on avec couleur RGB et brightness_pct. Lampe compatible et luminosité 0–100 requises. |
Logique
| Bloc | Image | Fonction |
|---|---|---|
Groupe de conditionsugso_logic_condition | ![]() | Groupe ET, OU ou NON extensible jusqu’à 100 conditions. Engrenage ou +/− pour modifier les entrées. |
Comparaisonugso_compare | ![]() | Compare deux valeurs HA. Nombres et textes ont des types différents ; convertir explicitement les valeurs de capteurs dans les modèles. |
ET / OU compactugso_binary_logic | ![]() | Combiner deux booléens avec ET/OU ; groupe natif HA ou expression Jinja selon l’usage. |
NON …ugso_not | ![]() | Nier une condition : groupe not natif HA ou expression not Jinja lorsqu’utilisé comme valeur. |
Vrai / fauxugso_boolean | ![]() | Constante vrai/faux, pour conditions et variables. L’export conserve le type booléen YAML. |
aucune valeur (null)ugso_null | ![]() | YAML null ou Jinja none, ni zéro ni faux. |
Si … alors valeur … sinon valeur …ugso_ternary | ![]() | Renvoie une valeur, pas une suite d’actions. HA évalue l’expression Jinja pour variables, messages de journal ou comparaisons. |
Intervalle numériqueugso_logic_range | ![]() | Tester un nombre entre deux bornes, avec comparaisons strictes ou inclusives indépendantes. |
Si … est … utiliser …ugso_logic_default | ![]() | Le mode null conserve 0, false et le texte vide. Le mode vide remplace aussi les valeurs fausses, listes/objets vides inclus. Règles Python/Jinja différentes de JavaScript. |
Selon la valeur … …ugso_case | ![]() | Exécute uniquement la première branche correspondante, sinon la branche par défaut. HA choose natif, sans passage aux cas suivants de JavaScript. |
Boucles
| Bloc | Image | Fonction |
|---|---|---|
Répéter … fois faire …ugso_repeat | ![]() | HA repeat.count natif. repeat.index commence à 1. Le nombre de répétitions doit être un entier positif. |
Répéter … … faire …ugso_repeat_while | ![]() | Tant que vérifie avant chaque tour ; jusqu’à vérifie après et exécute au moins un tour. Ajouter une pause pour éviter une boucle infinie intensive. Aucun intervalle en arrière-plan. |
Pour chaque élément de … faire …ugso_foreach | ![]() | HA repeat.for_each. Élément : {{ repeat.item }}, indice : {{ repeat.index }}. L’entrée doit être une liste. |
Compter … de … à … par pas de … faire …ugso_for_range | ![]() | Bornes entières fixes, fin inclusive si atteinte par les pas. Sens automatique, pas absolu >0, au plus 10000 tours. HA repeat.for_each affecte une variable à chaque tour. |
Pour chaque valeur … de la liste … faire …ugso_foreach_variable | ![]() | HA repeat.for_each affecte repeat.item à la variable avant le corps. Éviter de réutiliser la même variable dans des boucles imbriquées. |
Mathématiques
| Bloc | Image | Fonction |
|---|---|---|
Nombreugso_number | ![]() | Nombre fixe éditable. Utilisable pour valeurs et seuils de déclencheurs numériques. |
Calcul arithmétiqueugso_math_arithmetic | ![]() | Addition, soustraction, multiplication, division ou puissance de nombres. Aucune conversion automatique des textes/booléens. |
Fonction numériqueugso_math_single | ![]() | Racine carrée, valeur absolue, négation, logarithmes et exponentielles. Valeurs invalides : erreur de modèle. |
Trigonométrieugso_math_trig | ![]() | Angles en degrés ; fonctions inverses en degrés. HA utilise des radians en interne. |
Constanteugso_math_constant | ![]() | Constantes mathématiques finies. L’infini n’est pas proposé comme valeur numérique exportable. |
… est …ugso_math_property | ![]() | Vérifie les propriétés d’un nombre. Diviseur visible uniquement pour la divisibilité ; zéro est invalide. |
… … à … décimalesugso_math_round | ![]() | Arrondit à 0–10 décimales. HA/Jinja arrondit les égalités vers le pair ; supérieur/inférieur suit ceil/floor. |
… de la liste …ugso_math_list | ![]() | Statistiques d’une liste numérique ; élément aléatoire de tout type. Somme vide : 0 ; autres résultats vides : null. |
Reste de … ÷ …ugso_math_modulo | ![]() | Modulo Jinja. Avec un dividende négatif, le signe suit le diviseur et peut différer de JavaScript. |
Limiter … entre … et …ugso_math_clamp | ![]() | Limite un nombre. Les bornes inversées sont d’abord triées. |
Entier aléatoire entre … et …ugso_math_random_int | ![]() | Bornes entières inclusives, au plus 10000 valeurs possibles. Bornes inversées autorisées. |
Nombre aléatoire de 0 à moins de 1ugso_math_random_fraction | ![]() | Pas de 0,00001, nouvelle valeur à chaque évaluation. Aléatoire non cryptographique. |
Angle atan2 y … x … en degrésugso_math_atan2 | ![]() | Angle sur quatre quadrants du standard Blockly, en complément des captures ioBroker. |
Texte
| Bloc | Image | Fonction |
|---|---|---|
Texte …ugso_text | ![]() | Texte multiligne éditable ; contenu conservé exactement sans traduction automatique. |
Saut de ligne …ugso_text_newline | ![]() | Un véritable saut de ligne pour assembler du texte. |
Créer du texte avec …ugso_text_join | ![]() | Assemble 0–100 valeurs en texte. Engrenage et +/− modifient le nombre d’entrées. |
Ajouter le texte … à la variable …ugso_text_append | ![]() | Affecte un nouveau texte à une variable textuelle déjà initialisée. N’écrit pas dans une entité HA. |
Longueur du texte …ugso_text_length | ![]() | Nombre de points de code Unicode, pas d’unités UTF-16 JavaScript. |
Le texte … est videugso_text_empty | ![]() | Vérifie si la longueur du texte est zéro. |
Le texte … contient …ugso_text_contains | ![]() | Recherche un sous-texte en respectant la casse. |
Dans le texte … trouver la … occurrence de …ugso_text_index | ![]() | Position à partir de 1 en points de code Unicode ; résultat absent : 0. |
Dans le texte … prendre le caractère … à …ugso_text_char | ![]() | Position à partir de 1 depuis début/fin, premier/dernier/aléatoire. Hors limites : texte vide. |
Sous-texte de … de … à … inclusugso_text_slice | ![]() | Bornes inclusives à partir de 1 depuis le début. Bornes invalides/inversées : texte vide. |
Texte … en …ugso_text_case | ![]() | Convertit le texte Unicode en majuscules, minuscules ou casse de titre. |
Retirer les espaces … du texte …ugso_text_trim | ![]() | Retire les espaces extérieurs, tabulations et sauts de ligne compris. |
Compter … dans le texte …ugso_text_count | ![]() | Compte les occurrences sans chevauchement ; recherche vide : 0. |
Remplacer … par … dans le texte …ugso_text_replace | ![]() | Remplace toutes les occurrences littérales, sans regex. Recherche vide : texte inchangé. |
Inverser le texte …ugso_text_reverse | ![]() | Opération standard Blockly supplémentaire. Inverse les points de code Unicode, pas les graphèmes composés. |
Listes
| Bloc | Image | Fonction |
|---|---|---|
Liste …ugso_list_new | ![]() | Créer une liste de 0–100 valeurs ; l’engrenage ou +/− modifie le nombre d’entrées. |
Longueur de la liste …ugso_list_length | ![]() | Nombre d’éléments, utilisable comme nombre à l’exécution. L’entrée doit être une liste. |
La liste … est videugso_list_empty | ![]() | Vérifie la longueur d’une liste, pas une valeur fausse générale de JavaScript. |
Liste avec … copies de …ugso_list_repeat | ![]() | Nouvelle liste avec 0–10000 répétitions d’une valeur. |
Dans la liste … trouver la … occurrence de …ugso_list_index | ![]() | Position à partir de 1, absent : 0. Égalité HA/Python, pas égalité de référence JavaScript. |
Dans la liste … prendre l’élément … à …ugso_list_get | ![]() | Position à partir de 1 depuis début/fin, premier/dernier/aléatoire. Hors limites ou liste vide : null. |
Dans la variable … … à … la valeur …ugso_list_set | ![]() | Affecte une nouvelle liste avec valeur remplacée/insérée. Indice à partir de 1 ; insertion autorisée à longueur+1. Indice invalide : liste inchangée. |
Retirer la position … de la variable liste …ugso_list_remove | ![]() | Affecte une nouvelle liste sans cet élément. Indice à partir de 1 ; indice invalide : liste inchangée. |
Sous-liste de … de … à … inclusugso_list_slice | ![]() | Copie une plage inclusive à partir de 1 depuis le début. Bornes invalides/inversées : liste vide. |
… valeur … séparateur …ugso_list_split | ![]() | Découpe le texte selon un séparateur littéral ou assemble une liste. Séparateur vide : caractères Unicode. |
Trier la liste … … …ugso_list_sort | ![]() | Nouvelle liste triée ; original inchangé. Mode numérique : nombres requis ; mode texte : éléments convertis en texte. |
Inverser la liste …ugso_list_reverse | ![]() | Nouvelle liste dans l’ordre inverse ; original inchangé. |
Couleur
| Bloc | Image | Fonction |
|---|---|---|
Couleur …ugso_colour | ![]() | Sélectionner une couleur ; conversion en liste de canaux RGB pour HA. |
Couleur aléatoireugso_colour_random | ![]() | Nouvelle liste RGB de trois canaux aléatoires de 0 à 255 à chaque évaluation. |
Couleur rouge … % vert … % bleu … %ugso_colour_rgb | ![]() | Pourcentages RGB limités à 0–100, convertis en 0–255 et arrondis à la moitié supérieure. |
Mélanger la couleur … avec … part de la couleur 2 …ugso_colour_blend | ![]() | Mélange RGB linéaire. Part 0 = première couleur, 1 = seconde. Sans correction gamma ; résultat : liste RGB. |
Variables
| Bloc | Image | Fonction |
|---|---|---|
Augmenter … de …ugso_variable_change | ![]() | Ajoute à une variable numérique déjà initialisée. Pas négatif : diminution. Valeurs non définies, textes, booléens et null ne sont pas automatiquement convertis. |
Définir … à …ugso_variable_set | ![]() | Définit ou modifie une variable HA pour cette exécution. Affecter avant de lire. |
Variable …ugso_variable_get | ![]() | Produit {{ nom_variable }} pour un modèle HA. Ce n’est pas un assistant enregistré durablement. |
Modèles
| Bloc | Image | Fonction |
|---|---|---|
Modèle …ugso_template | ![]() | Modèle Jinja comprenant {{ ... }} ou {% ... %}. Évalué uniquement dans Home Assistant. |
Le modèle est vrai …ugso_template_condition | ![]() | HA évalue ce modèle Jinja comme condition. Ne déclenche pas une automatisation. |
Autres blocs
| Bloc | Image | Fonction |
|---|---|---|
Automatisation … Quand … Seulement si … Alors …ugso_automation | ![]() | Automatisation native Home Assistant. Nom et mode au-dessus de l’espace de travail. |
Fonctions Blockly originales
| Bloc | Image | Fonction |
|---|---|---|
Définir une fonction de valeurprocedures_defreturn | ![]() | Éditeur Blockly original ; jusqu’à 8 paramètres ASCII via l’engrenage. Retour requis, sans actions ni récursion. Développement en Jinja à l’export. |
Appeler une fonction de valeurprocedures_callreturn | ![]() | Appel disponible dynamiquement dans Fonctions. Les entrées suivent les paramètres ; définition unique et tous les arguments requis. |
Lire une variable ou un paramètrevariables_get | ![]() | Accès original Blockly, notamment dans les fonctions. Lit le paramètre local si présent, sinon une variable HA. |
Plugins originaux
Ces plugins fournissent des champs ou commandes, sans être des types de blocs supplémentaires. Licence Apache-2.0, paquets intégrés localement.
| Plugin | Usage | Source originale |
|---|---|---|
| toolbox-search | Rechercher les blocs disponibles ; catégorie en fin de menu. | Dépôt original |
| field-slider | Champ curseur numérique. | Dépôt original |
| field-date | Sélecteur de date. | Dépôt original |
| field-colour | Sélecteur de couleur. | Dépôt original |
| field-multilineinput | Texte et modèles multilignes. | Dépôt original |
| field-dependent-dropdown | Choix d’action adapté au domaine de l’assistant. | Dépôt original |
| theme-dark | Palette sombre. | Dépôt original |
| theme-modern | Palette Modern. | Dépôt original |
| theme-tritanopia | Palette adaptée à la tritanopie. | Dépôt original |
| zoom-to-fit | Ajuster les blocs à la vue. | Dépôt original |
| workspace-search | Chercher les blocs déjà placés, Ctrl/Cmd+F. | Dépôt original |
IDs des déclencheurs et cibles multiples
Depuis 0.1.28 : États en liste JSON, par exemple ["1_single","1_double"] ; IDs facultatifs dans tous les déclencheurs standard ; Déclenché par ID comme condition native (ID individuel ou liste JSON). Les actions HA génériques acceptent Cibles en liste JSON, des métadonnées facultatives et conservent explicitement les données vides. Les automatisations à quatre boutons et quatre branches choose sont entièrement importables.
La sortie Automatisation individuelle · Éditeur HA omet l’id principal. Les IDs des déclencheurs restent présents. Les projets et la sortie liste automations.yaml conservent l’ID existant de l’automatisation.
Depuis 0.1.50, également Signal · CallMeBot avec sa propre sélection de profil. Configurer l’application Signal.
| Block | Image | Description |
|---|---|---|
Déclenché par IDugso_trigger_condition | ![]() | condition: trigger · id |
Home Assistant: Trigger IDs · Trigger condition
Pompes de piscine, événements et heures multiples
Depuis 0.1.30 : activer Heures en liste JSON pour plusieurs heures fixes, par exemple ["10:00:00","13:00:00","19:00:00"]. Tout changement omet to ; Entités en liste JSON surveille plusieurs entités. Sans to, HA réagit aussi aux changements d’attributs. Les événements acceptent par exemple timer.finished avec un filtre de données JSON facultatif. Les conditions horaires natives conservent before/after : heures fixes, après inclusif et avant exclusif, même à travers minuit. Des bornes identiques couvrent toute la journée. Assistants horaires, modèles horaires et filtres de jours restent hors de l’import pris en charge. L’automatisation complète conserve le modèle multiligne du minuteur et les branches choose imbriquées.
| Block | Image | Description |
|---|---|---|
Déclencheur événementugso_event_trigger | ![]() | trigger: event · event_type · event_data |
Condition horaire HA nativeugso_native_time_condition | ![]() | condition: time · before · after |
Home Assistant: triggers · Time condition
Température modifiée
Depuis 0.1.31, le nouveau bloc prend en charge temperature.changed natif. Cible (JSON) : entity_id texte ou liste. Seuil (JSON) : type any, above, below, between ou outside. any exige seulement type ; above/below exigent value, between/outside value_min et value_max. Nombres : number et unit_of_measurement (°C/°F). Références : entity (sensor, number ou input_number). ID facultatif. Depuis 0.1.39, cibles zone, appareil, étage et étiquette prises en charge. Les topics MQTT, qos/retain/evaluate_payload et contenus JSON/Jinja multilignes restent présents.
| Block | Image | Description |
|---|---|---|
Température modifiéeugso_temperature_trigger | ![]() | temperature.changed |
Home Assistant: temperature.changed
Calendriers et variables de réponse
0.1.32: calendar.event_started / calendar.event_ended. Cible : objet JSON avec entity_id en texte ou liste. Options facultatives : offset avec jours, heures, minutes et secondes combinés ou HH:MM:SS ; offset_type vaut before ou after. Décalage nul, options absentes et ID de déclencheur facultatif sont conservés.
Le champ Variable de réponse (facultative) du bloc Action HA génère response_variable, par exemple termine pour calendar.get_events. Vide, il omet ce champ du YAML. L’automation complète de jours fériés/vacances conserve les deux calendriers, le démarrage HA, les variables zeitpunkt/termin_aktiv, les modèles Jinja multilignes, choose/default et le mode queued. Home Assistant traite les calendriers et les modèles.
| Bloc | Image | Fonction |
|---|---|---|
Début/fin d’un événement calendrierugso_calendar_trigger | ![]() | calendar.event_started / calendar.event_ended |
Home Assistant: calendar.event_started · calendar.event_ended · calendar.get_events
Déclencheurs numériques avec durée de maintien
Depuis 0.1.33, le déclencheur numérique accepte plusieurs entités : activer Entités en liste JSON et saisir par exemple ["sensor.temp_1","sensor.temp_2"]. Sans cette case, l’entité unique reste active. Durée de maintien (JSON) avec activée génère le champ facultatif for : par exemple {"hours":0,"minutes":1,"seconds":0}, 60 ou "00:01:00". Les unités days/hours/minutes/seconds/milliseconds combinées, les zéros et les modèles de sortie HA sont conservés. Décocher omet for. Toujours exactement un seuil numérique fixe (above ou below) ; les IDs et branches choose sont conservés.
Home Assistant déclenche après le franchissement du seuil lorsque la valeur reste de ce côté du seuil pendant toute la durée. Un redémarrage HA ou le rechargement des automations réinitialise le maintien en cours. Home Assistant: numeric_state.
Plusieurs variables dans une action
Depuis 0.1.34, le menu Variables propose Définir les variables (JSON). L’objet JSON contient 1–100 noms de variables avec texte, modèle HA, nombre, booléen ou null. Plusieurs entrées restent une seule action native variables, avec leur ordre. Les affectations uniques conservent le bloc existant. Depuis 0.1.39, listes/objets et variables au niveau automation sont pris en charge ; voir HA avancé et Jinja. Modifier noms et modèles directement dans le JSON ; le dialogue de renommage Blockly ne modifie pas ce texte JSON libre. Les noms importés sont également enregistrés dans Blockly.
L’exemple de minuterie conserve h/m, les deux entités surveillées, la condition et le mode restart. Les conditions absentes deviennent une liste vide.
| Bloc | Image | Fonction |
|---|---|---|
Définir les variables (JSON)ugso_variables_action | ![]() | Variables avec champs individuels ; listes et objets en JSON, nouveaux noms dans les options supplémentaires. |
Délai en texte ou modèle
Depuis 0.1.35, Blocks importe les textes natifs delay dans le nouveau bloc sous Délais. Exemples : 00:00:02, 01:30 (une heure et 30 minutes), 00:00:00.250 ou un modèle de sortie HA. La durée reste un texte dans le YAML et le projet sauvegardé. L’exécution HA attend avant de poursuivre les actions suivantes. Les blocs existants en secondes et unités restent disponibles. Cette extension concerne delay, pas le délai maximal du bloc attendre-jusqu’à.
L’exemple de réinitialisation désactive d’abord timer_reset, attend deux secondes puis désactive les deux cibles. L’ID input_boolean.timer_runing est conservé exactement comme fourni.
| Bloc | Image | Fonction |
|---|---|---|
Attendre durée en texte / modèleugso_delay_text | ![]() | Texte de durée delay natif / modèle HA. |
Noms d’action HA dynamiques
Depuis 0.1.36, le premier champ du bloc Action HA accepte un nom d’action fixe ou un modèle Jinja. Il est éditable sur plusieurs lignes. Exemples : input_boolean.turn_on, input_boolean.turn_ suivi d’une expression Jinja ou un modèle if/else complet. Cible, données, métadonnées et variable de réponse conservent leurs champs existants. Modèles et sauts de ligne sont conservés à l’import, dans le projet et à l’export YAML.
L’exemple Shelly conserve le préfixe input_boolean.turn_ avec la lecture de l’état et les branches choose imbriquées. Home Assistant évalue le nom à l’exécution ; il doit alors produire un service disponible. Blocks vérifie les noms fixes et délimiteurs de modèle, pas la syntaxe Jinja ni le résultat à l’exécution. Les cibles restent des IDs fixes ; les modèles pour un objet data complet ne font pas partie de cette extension.
Home Assistant: choosing the action with a template
Déclencheur de motif horaire
Depuis 0.1.37, Déclencheurs propose un bloc natif time_pattern. Le champ JSON accepte par exemple {"seconds":"/30"} pour les secondes 0 et 30 de chaque minute. Clés facultatives : hours, minutes, seconds ; au moins une est requise. Valeurs fixes : heures 0–23, minutes/secondes 0–59, nombres ou textes sans zéro initial. * correspond à toute valeur, /n aux valeurs divisibles par n (n > 0 dans la plage du champ). Les unités omises et les types nombre/texte restent inchangés ; Home Assistant applique ses valeurs par défaut lors de l’exécution. Un ID de déclencheur facultatif est disponible.
L’automatisation LCD avec quatre actions input_text.set_value et mode: restart conserve ses modèles Jinja, formatage, découpage, remplissage et sauts de ligne après import, rechargement et export. Home Assistant exécute les modèles et le planning.
| Block | Type |
|---|---|
![]() | ugso_time_pattern_trigger |
Entités cibles dynamiques
Depuis 0.1.39, Cible dans le bloc générique Action HA accepte un ID fixe ou un modèle HA, par exemple {{ ziel_tv }}. Le dialogue de sélection propose un champ multiligne. La liste JSON des cibles peut mélanger IDs fixes et modèles. Jinja est conservé et évalué par Home Assistant lors de l’exécution. Les cibles dynamiques importées utilisent le bloc générique, car les blocs spécialisés ne peuvent pas déterminer leur domaine de façon fiable.
L’automatisation TV de la chambre avec variable multiligne du mode été, horaires 21:30 et 00:30 et deux branches choose est vérifiée. Modèles de cible, texte de variable et conditions horaires restent inchangés après import, rechargement et export. Les champs d’entité des déclencheurs et conditions exigent toujours des IDs fixes.
Home Assistant: templates in action targets.
HA avancé et Jinja depuis 0.1.39
| Bloc | Image | Fonction |
|---|---|---|
HA stateugso_ha_state_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA numeric_stateugso_ha_numeric_state_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA timeugso_ha_time_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA sunugso_ha_sun_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA homeassistantugso_ha_homeassistant_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA mqttugso_ha_mqtt_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA templateugso_ha_template_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA webhookugso_ha_webhook_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA zoneugso_ha_zone_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA deviceugso_ha_device_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA tagugso_ha_tag_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA conversationugso_ha_conversation_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA geo_locationugso_ha_geo_location_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA calendarugso_ha_calendar_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
HA eventugso_ha_event_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
Déclencheur HA (avancé)ugso_ha_trigger | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
Condition HA (avancée)ugso_ha_condition | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
Étape HA (avancée)ugso_ha_action | ![]() | Champs HA nommés et options JSON supplémentaires. Structure vérifiée ; vérifier intégration et exécution dans HA. |
Action HA type de cible cible données options d’étapeugso_target_action | ![]() | Champs HA avancés ou Jinja original. Structure prise en charge vérifiée ; vérifier intégration et exécution dans HA. |
Intégration HA cible options activéesugso_integration_trigger | ![]() | Champs HA avancés ou Jinja original. Structure prise en charge vérifiée ; vérifier intégration et exécution dans HA. |
Groupe d’actionsugso_sequence | ![]() | Champs HA avancés ou Jinja original. Structure prise en charge vérifiée ; vérifier intégration et exécution dans HA. |
Parallèle branche 1 branche 2ugso_parallel | ![]() | Champs HA avancés ou Jinja original. Structure prise en charge vérifiée ; vérifier intégration et exécution dans HA. |
Attendre un déclencheur optionsugso_wait_trigger | ![]() | Champs HA avancés ou Jinja original. Structure prise en charge vérifiée ; vérifier intégration et exécution dans HA. |
Continuer seulement siugso_condition_step | ![]() | Champs HA avancés ou Jinja original. Structure prise en charge vérifiée ; vérifier intégration et exécution dans HA. |
Émettre un événement donnéesugso_fire_event | ![]() | Champs HA avancés ou Jinja original. Structure prise en charge vérifiée ; vérifier intégration et exécution dans HA. |
Réponse Assistugso_assist_response | ![]() | Champs HA avancés ou Jinja original. Structure prise en charge vérifiée ; vérifier intégration et exécution dans HA. |
Activer la scèneugso_scene | ![]() | Champs HA avancés ou Jinja original. Structure prise en charge vérifiée ; vérifier intégration et exécution dans HA. |
Jinja (expérimental)ugso_jinja_value | ![]() | Champs HA avancés ou Jinja original. Structure prise en charge vérifiée ; vérifier intégration et exécution dans HA. |
Condition Jinja (expérimentale)ugso_jinja_condition | ![]() | Champs HA avancés ou Jinja original. Structure prise en charge vérifiée ; vérifier intégration et exécution dans HA. |
Structures Jinja (expérimental)
15 nouveaux types depuis 0.1.41. Les blocs valeur/condition extérieurs relient les parties imbriquées à HA. Expressions Jinja et parties du modèle ont des connexions typées distinctes. Import, édition et limites.
| Bloc | Image | Fonction |
|---|---|---|
Jinja composéugso_jinja_composed_value | ![]() | Bloc valeur extérieur : modèle complet, original conservé jusqu’à modification. |
Condition Jinja composéeugso_jinja_composed_condition | ![]() | Bloc booléen extérieur pour une condition de modèle HA. |
Entité fonctionugso_jinja_entity | ![]() | Rechercher une entité et choisir states/state_attr/is_state/is_state_attr ; relier les arguments. |
Filtre arguments valeurugso_jinja_filter | ![]() | Choisir un filtre ; relier 0–3 arguments positionnels et une expression Jinja. |
Littéral (Jinja)ugso_jinja_literal | ![]() | Nombre, chaîne entre guillemets, true/false ou none en syntaxe Jinja. |
Variable Jinjaugso_jinja_variable | ![]() | Nom simple de variable Jinja en texte ; sans renommage automatique Blockly. |
Maintenant (Jinja)ugso_jinja_now | ![]() | Générer now() ; Home Assistant fournit l’heure lors de l’évaluation. |
Expressionugso_jinja_binary | ![]() | Calculer, comparer ou combiner deux expressions Jinja avec and/or. |
Expressionugso_jinja_unary | ![]() | Appliquer not, un signe négatif ou positif à une expression Jinja. |
Valeur si sinonugso_jinja_select | ![]() | Choisir une valeur : yes if test else no. Trois entrées obligatoires. |
Afficherugso_jinja_output | ![]() | Afficher une expression comme {{ ... }} dans un modèle. |
Texte Jinjaugso_jinja_text | ![]() | Texte littéral, espaces compris ; ne pas insérer de délimiteurs Jinja. |
Parties du modèle puisugso_jinja_join | ![]() | Relier deux parties de modèle dans l’ordre affiché. |
Si texte sinonugso_jinja_if | ![]() | if/else avec condition et parties texte/sortie imbriquées. |
Pour dans texte si videugso_jinja_for | ![]() | Boucle for simple : variable, expression, contenu et cas vide facultatif. |









































































































































































