0
votes

API de contrôle SONOS: Taux de vote et abonnement

Nous contrôlons le Sonos via un petit appareil IOT. Cet appareil sera placé sur les maisons de nos clients. Dans notre système domotique, nous devons connaître la lecture de la lecture + volume des joueurs / groupes. À quel taux de vote pouvons-nous poser ces paramètres?

Nous ne pouvons pas utiliser un serveur Cloud pour gérer les événements d'abonnement. J'ai essayé de mettre un service Web HTTPS dans le périphérique IOT avec un certificat auto-signé, mais cela ne fonctionne pas. Après avoir posté l'abonnement, je reçois une demande dans mon service Web mais que le serveur Sonos de Cloud Sonos débranchit immédiatement. Probablement à cause du certificat est auto-signé - ou peut-il y avoir une autre raison?

Y a-t-il un autre moyen de recevoir des événements d'état? Pendant la découverte dans le but JSON des joueurs, il existe une clé 'WebSocketRL'. La documentation indique "l'URL Secure WebSocket pour le périphérique. Voir Connectez-vous pour plus de détails". Mais je ne trouve pas plus d'informations à ce sujet. Peut-il être utilisé?


0 commentaires

3 Réponses :


0
votes

à quel taux de vote pouvons-nous poser ces paramètres?

envisagez d'utiliser des abonnements au lieu d'interrogation. Voir cette réponse pour plus: https://stackoverflow.com/a/60893119/4902948

Nous ne pouvons pas utiliser un serveur Cloud pour gérer les événements d'abonnement ... Ou peut-il y avoir une autre raison? de
Y a-t-il un autre moyen de [recevoir] les événements d'état?

Vous devez accueillir un service qui répond à un ensemble d'exigences pour recevoir des événements. Voir cette réponse pour plus: https://stackoverflow.com/a/57189717/4902948

Voir aussi Détails sur les informations d'identification et événements API dans Nouvelles fonctionnalités des versions 11.1, 11.2 (S1), et 12.0 (S2) .

peut être utilisé [WebSocketURL ']]?

Ce n'est pas disponible publiquement pour une utilisation.


0 commentaires

0
votes

Il serait beaucoup plus facile d'utiliser les API UPNP (sans papiers mais plus utiles). Vous pouvez simplement vous abonner au point d'extrémité UPNP RenderingControl, puis vous obtiendrez un événement à chaque fois que le volume change. Pour trouver lorsque la piste change, abonnez-vous à Avtransport Endpoint.

Vous pouvez le faire avec un serveur local (c'est ainsi que chaque application Sonos fonctionne après tout) et aucune exigence de certificole spéciale non plus.

Les événements UPNP sont décrits dans la spécification UPNP.


0 commentaires

0
votes

Votre question ne fournit pas de détails sur la langue que vous utilisez, mais si l'appareil est assez puissant pour exécuter un nœud, vous avez un bon changement avec Ma bibliothèque Sonos .

Vous pouvez simplement tirer les informations requises de l'appareil aussi souvent que vous le souhaitez. Ou utilisez le Build-in abonnements d'événement. Si vous utilisez les événements, il installera automatiquement un auditeur HTTP et vous abonner automatiquement à tous les événements que vous écoutez.

Les événements sont instantanés (comme dans 50MS-100MS après que l'événement ait eu lieu sur l'appareil).

Si vous demandez des informations, il est envoyé directement à l'appareil et que l'appareil répondra à la réponse. Tirer plusieurs points de données par seconde n'a jamais été un problème pour moi.

AVERTISSEMENT Comme indiqué ci-dessus, cela utilise l'API UPNP local sans papiers, mais comme leur propre application l'utilise également, je suppose que cela ne changera pas bientôt.


0 commentaires