megabubu Posté(e) le 16 janvier 2018 Signaler Posté(e) le 16 janvier 2018 Salut à tous, je suis équipé d une chromecast, même 2 chromecast et j aimerais bien piloter ses 2 équipement avec ce notre box préféré. Je suis pas doué en mua et voici ce que j ai pu trouver sur le net: #!/usr/bin/env python import pychromecast import time import requests import logging import sys import daemon # Delay between each search for new chromecasts delay = 60 # Values needed to connect to Fibaro HC2 hostname = "<FIBARO HOSTNAME>" username = "<FIBARO USERNAME>" password = "<FIBARO PASSWORD>" logger = None class DeviceStatusUpdater: def __init__(self, device): self.device = device self.thumbnail = "" self.sendDeviceStatus() self.device.media_controller.register_status_listener(self) def new_media_status(self, status): self.sendDeviceStatus() def addDeviceInfo(self, topic, payload): logger.info("%s info: %s - %s", str(self.device.name), topic, payload) return {topic: payload} def sendDeviceStatus(self): deviceInfo = {} deviceInfo.update(self.addDeviceInfo("name", self.device.name)) deviceInfo.update(self.addDeviceInfo("host", self.device.host)) if len(str(self.device.app_display_name)): deviceInfo.update(self.addDeviceInfo("app", self.device.app_display_name)) else: deviceInfo.update(self.addDeviceInfo("app", "None")) if self.device.media_controller is not None: if self.device.media_controller.status is not None: if self.device.media_controller.status.player_state in [pychromecast.controllers.media.MEDIA_PLAYER_STATE_PLAYING, pychromecast.controllers.media.MEDIA_PLAYER_STATE_BUFFERING]: deviceInfo.update(self.addDeviceInfo("is_playing", "True")) else: deviceInfo.update(self.addDeviceInfo("is_playing", "False")) deviceInfo.update(self.addDeviceInfo("title", self.device.media_controller.status.title)) deviceInfo.update(self.addDeviceInfo("series_title", self.device.media_controller.status.series_title)) logger.info("Updating cc_%s with play status %s" % (deviceInfo['name'].replace(' ', '_'), deviceInfo['is_playing'])) hc2Url = 'http://%s/api/globalVariables/cc_%s' % (hostname, deviceInfo['name'].replace(' ', '_')) hc2Data = '{"value":"%s","invokeScenes":true}' % deviceInfo['is_playing'] logger.debug(hc2Url) logger.debug(hc2Data) req = requests.put(hc2Url, data=hc2Data, auth=(username, password)) if req.status_code is not 200: logger.error("HC2 connection status code is %d" % req.status_code) def chromecast_loop(): global logger myDevices = [] while True: ccNames = [o.device.name for o in myDevices] devices = pychromecast.get_chromecasts(tries=3) for device in devices: logger.info("Discovered device: %s (%s) - %s", device.device.friendly_name, device.host, device.model_name) if device.device.friendly_name not in ccNames: logger.info("%s is not in myDevices", device.device.friendly_name) myDevices.append(DeviceStatusUpdater(device)) else: logger.debug("Disconnecting unused socket") device.disconnect() newCcNames = [o.device.friendly_name for o in devices] for device in myDevices: if device.device.name not in newCcNames: logger.info("%s no longer exists!", device.device.name) try: device.disconnect() myDevices.remove(device) except: logger.info("Exception caught") logger.debug("Sleeping for %d seconds...", delay) time.sleep(delay) def run(): global logger fh = logging.FileHandler("./cc2hc2.log") formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') fh.setFormatter(formatter) logger = logging.getLogger('cc2hc2') logger.setLevel(logging.INFO) logger.addHandler(fh) context = daemon.DaemonContext( files_preserve = [ fh.stream, ], ) with context: chromecast_loop() if __name__ == "__main__": run() quelqu un pourrait il m expliquer ou quelqu un aurait il un VD pour contrôler chromecast? Merci d avance et bonne journée. PS: c est mon anniversaire today
OJC Posté(e) le 16 janvier 2018 Signaler Posté(e) le 16 janvier 2018 Salut, ça, c'est un script écrit en python qui met à jour une variable globale et déclenche l'exécution des scènes l'utilisant comme trigger. En gros, ça fonctionne dans le sens Chromecast => HC2, pas HC2 => Chromecast. Il faut trouver l'API du Chromecast, après tu pourras sans pb le piloter depuis le HC2. 1
jojo Posté(e) le 16 janvier 2018 Signaler Posté(e) le 16 janvier 2018 Estes-vous informé ce ceci : Le Chromecast provoque des problèmes dans les réseaux wifi moi qui voulais en acheter un, je suis refroidi ...
megabubu Posté(e) le 16 janvier 2018 Auteur Signaler Posté(e) le 16 janvier 2018 Moi j ai 2 chromecast , et pas de soucis :-)
megabubu Posté(e) le 16 janvier 2018 Auteur Signaler Posté(e) le 16 janvier 2018 (modifié) Salut, j’ai trouvé ça sur le net pour l api chromecast: https://www.developpez.net/forums/d1678141/webmasters-developpement-web/javascript-ajax-typescript-dart/javascript/api-chromecast-google/ édit: ou ça https://www.npmjs.com/package/chromecast-api Modifié le 16 janvier 2018 par megabubu
Lazer Posté(e) le 16 janvier 2018 Signaler Posté(e) le 16 janvier 2018 Il y a 7 heures, jojo a dit : Estes-vous informé ce ceci : Le Chromecast provoque des problèmes dans les réseaux wifi moi qui voulais en acheter un, je suis refroidi ... Tu vois pourquoi je suis un fervent défenseur du réseau Ethernet câblé. Le Wi-Fi c'est pratique, mais arrive toujours un moment où ça sature... Sinon, abandonner le Wi-Fi grand public, et passer sur du pro (Ubiquiti.....etc... ou Cisco) Le bug Chromecast ne se produit que lorsque le Chromecast reste en veille trop longtemps. Google va le corriger je pense.
megabubu Posté(e) le 17 janvier 2018 Auteur Signaler Posté(e) le 17 janvier 2018 Ok je ne savais pas. J avais jamais remarqué cela. Sinon côté API, on peut contrôler la chromecast avec Fibaro?
MasterBT Posté(e) le 19 juillet 2018 Signaler Posté(e) le 19 juillet 2018 Je sors la pelle et je re ouvre ce topic sur le chromecast, je l'utilisais plus depuis que j'ai une apple Tv qui me donne entière satisfaction mais depuis qq jour j'ai un google home mini pour tester car les commandes vocal via Sarah, ca n'a jamais pris.. et donc je regarde pour piloter la domotique via google assistant pour que ca soit plus WAF et à 30 / 45€, tu peut en coller un peu partout. Par contre l'audio dans la maison est tjs centralisé et relié à Sarah. Elle fait tjs bien le taff pour la musique et le TTS multi room, mais voila les GHM ca a pas un son de ouff et la maison est déja équipié. Donc je voudrais au lieu de relier un Chromecast audio sur l'ampli de Sarah, faire tourner un soft qui émule un récepteur chromecast sur Windows. Chose que je fais déja ac airplay et ca marche nikel. Le but: Ok google, je veux écouter ma musique préférée sur Sarah -> musique dans toute la maison. Et ca sans acheter une chromecast audio + de quoi le relier au même niveau de l'UC de Sarah. Je cherche donc un petit soft comme ca mais impossible de trouver, pourtant c'est pas bien sorcier. avant chrome remplissait cette tache via une extention mais mnt c'est en natif mais en émetteur seulement. Je sais pas si j'ai étais clair en fait
Messages recommandés