Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
protocole_json [2011/01/17 17:59]
admin
protocole_json [2011/01/17 18:31]
admin
Line 179: Line 179:
 ==== get_state ==== ==== get_state ====
  
-Cette commande permet de récupérer l’état d'une ou plusieurs entrée/sorties. Les paramètres comprennent les ID des entrées/sorties, tels qu'on le trouve dans [[protocole_tcp|le protocole TCP]].+Cette commande permet de récupérer l’état d'une ou plusieurs entrée/sorties ainsi que l'états des zones de musique. Les paramètres comprennent les ID des entrées/sorties, tels qu'on le trouve dans [[protocole_tcp|le protocole TCP]].
  
 === Exemple === === Exemple ===
Line 189: Line 189:
       "action": "get_state",       "action": "get_state",
       "inputs": ["input_0"],       "inputs": ["input_0"],
-      "outputs": ["output_0", "output_1"]+      "outputs": ["output_0", "output_1"], 
 +      "audio_players": ["0"]
   }   }
  
Line 201: Line 202:
         "output_1": "stop 0"         "output_1": "stop 0"
     }     }
 +    "audio_players": [
 +        {
 +            "coverart": "1",
 +            "current_track": "83",
 +            "status": "playing",
 +            "duration": "262",
 +            "artist": "Hint",
 +            "album": "Shapes 09:01",
 +            "title": "School Bell",
 +            "volume": "31",
 +            "time": "86.09"
 +        }
 +    ]
 } }
  
 La réponse contient la liste des entrées/sorties demandée avec les états. La réponse contient la liste des entrées/sorties demandée avec les états.
  
 +==== set_state ====
 +
 +Cette commande permet de changer l’état d'une ou plusieurs entrée/sorties. Les paramètres comprennent les ID des entrées/sorties, tels qu'on le trouve dans [[protocole_tcp|le protocole TCP]].
 +
 +=== Exemple ===
 +
 +Données JSON à envoyer:
 +  {
 +      "cn_user": "mail@example.com",
 +      "cn_pass": "the_password",
 +      "action": "set_state",
 +      "type": "output",
 +      "id": "output_0",
 +      "value": "true"
 +  }
 +
 +Réponse:
 +  {
 +      "success": true,
 +      "cn_user": "mail@example.com"
 +  }
 +
 +De la même manière on peut force la valeur d'une entrée avec
 +  "type": "input"
 +  
 +On peut également donner des commandes à une zoner de musique. Les commandes sont les même que celle du [[protocole_tcp|protocole TCP]].
 +
 +=== Exemple ===
 +
 +Données JSON à envoyer:
 +  {
 +      "cn_user": "mail@example.com",
 +      "cn_pass": "the_password",
 +      "action": "set_state",
 +      "type": "audio",
 +      "player_id": "0",
 +      "value": "volume 75"
 +  }
 +
 +Ou encore donner des commandes à une caméra motorisé. Les commandes sont les même que celle du [[protocole_tcp|protocole TCP]].
 +
 +=== Exemple ===
 +
 +Données JSON à envoyer:
 +  {
 +      "cn_user": "mail@example.com",
 +      "cn_pass": "the_password",
 +      "action": "set_state",
 +      "type": "camera",
 +      "camera_id": "0",
 +      "camera_action": "move",
 +      "value": "left"
 +  }
 +
 +==== get_playlist ====
 +
 +Cette commande permet de récupérer la playliste courante d'une zone de musique.
 +
 +=== Exemple ===
 +
 +Données JSON à envoyer:
 +  {
 +      "cn_user": "mail@example.com",
 +      "cn_pass": "the_password",
 +      "action": "get_playlist",
 +      "player_id": "0"
 +  }
 +
 +Réponse:
 +{
 +    "count": "5",
 +    "current_track": "1",
 +    "items": [
 +        {
 +            "item": "0",
 +            "artist": "Boss Of Nova",
 +            "album": "Blah",
 +            "title": "History"
 +        },
 +        {
 +            "item": "1",
 +            "title": "Gaëtan Roussel - Inside / Outside",
 +            "artist": "Rock moderne"
 +        },
 +        {
 +            "item": "2",
 +            "artist": "Radio Nova"
 +        },
 +        {
 +            "item": "3",
 +            "artist": "Radio Paradise"
 +        },
 +        {
 +            "item": "4",
 +            "artist": "NRJ 88.2 (Français)"
 +        }
 +    ]
 +}
 +
 +La réponse contient la liste des pistes avec les informations complémentaire si elles sont diponibles (artiste, album, titre, ...).