Blockly

From SynoZwave - OpenZwave sur votre Synology
Jump to: navigation, search
Il est possible que tout les types de périphériques ne soient pas encore supporté correctement. Si tel est le cas, Veuillez nous contacter par email afin d'y remédier.

Contents

Qu'est ce que blockly ?

Blockly permet de générer n'importe quel language de programmation à partir d'une interface graphique contenant différents objets (Blocks).

Il est possible d'imbriquer ces blocks entre eux pour générer une application +/- complexe.

SynoZwave et Blockly

Un nouveau package a été développé indépendemment de SynoZwave et est installable via le centre de paquets.

Pour le moment, il est possible de spécifier quand le script blockly peut être appelé afin de permettre une cohabitation en attendant que Blockly soit prêt à 100%.

L'idéal est de ne définir votre scène que via Blockly pour éviter les incohérences.

Blockly synozwave.png

Présentation de l'interface de blockly

Blockly interface.png

Sur la gauche vous avez le menu contenant les différents blocks

  • SynoZwave
Contient tout les objets créer spécialement pour SynoZwave (Heure, jour actuel, PushingBox, etc)
Il est obligatoire de toujours débuter une scène avec le block scène.
  • SynoZwave Devices
Contient tous les périphériques SynoZwave. Il est possible que certains types de périphériques n'ont pas encore été implémenté. Si tel est le cas, contactez nous.
  • SynoZwave Virtual Devices
Contient tous les périphériques virtuels.Il est possible que certains types de périphériques n'ont pas encore été implémenté. Si tel est le cas, contactez nous.
  • Control
Contient les controls tels que les tests (IF), les boucles (FOR), etc
  • Logic
Contient les opérateurs logiques pouvant être utilisés avec les controls (AND, EQUAL, TRUE/FALSE, null, etc)
  • Text
Contient tout ce qui concerne les textes (uppercase, texte, etc)
  • Variables
Il est possible de déterminé des variables. Une variable existe par défaut : EVENT. Elle peut être utilisée pour déclencher certaines actions suivant une détection.

Il vous suffit ensuite de faire du drag/drop des éléments du menu vers l'élément central.

N'oubliez pas de sauver votre scène

Exemples

  • Déclenchement d'une action suivant un Event

Blockly event.png

Le but de la scène est d'ajouter une ligne dans le log lorsqu'il y a une détection.

Pour ce faire, on ajoute le block scène.

Pour ne pas appeler la scène n'importe quand, nous devons nous assurer que la détection concerne bien le périphérique souhaité. On ajoute donc un block "IF". Dans le test, nous ajoutons le block logic "AND".

Nous allons nous assurer que l'event passé au script(Variables > Event) correspond bien à l'event de détection du périphérique (SynoZwave Devices > Votre périphérique).

Il est important de toujours spécifier un "SINON SI". 
Si vous spécifiez uniquement un "SINON", il est possible que ce bout de code soit appelé tout les minutes.
  • Activer/Désactiver le wifi à des heures spécifiques

Blockly wifi.png

Le but de la scène est de désactiver le wifi pendant la nuit (22h -> 5h30) et la journée (07h30 -> 17h00), de l'activer le matin (05h30 ->07h00), le mercredi, samedi et dimanche.

Dans ce cas, il s'agit d'une succession de tests pour connaitre l'heure actuelle et en fonction effectuer des actions.

Le test le "plus compliqué" concerne l'arrêt ou non du wifi à 07h30 car certains jours de la semaine, il n'est pas nécessaire de le couper.

On vérifie donc s'il est bien 07h30. Si oui, on s'assure également que le jour n'est pas mercredi, samedi ou dimanche. Autrement dit, le lundi/mardi/jeudi/vendredi je coupe le wifi lorsqu'il est 07h30.

  • Tester le status d'une prise

Binary switch.PNG

Pour tester le statut d'une prise ou tout autre propriété, il faut utiliser du texte.

Dans la version 0.0.017, il y a un block True/False propre à SynoZwave afin de ne plus devoir entrer du texte
Personal tools
Namespaces

Variants
Actions
Navigation