def data(): data_e_hora_atuais = datetime.now() diferenca = timedelta(hours=-3) fuso_horario = timezone(diferenca) data_e_hora_sao_paulo = data_e_hora_atuais.astimezone(fuso_horario) data_e_hora_sao_paulo_em_texto = data_e_hora_sao_paulo.strftime("%d/%m/%Y") criaaudio.cria_audio(data_e_hora_sao_paulo_em_texto)
def ultimas_noticias(): site = get("https://news.google.com/rss?hl=pt-BR&gl=BR&ceid=BR:pt-419") noticias = BeautifulSoup(site.text, "html.parser") for item in noticias.findAll( "item")[:5]: # trocando o numero muda quantas noticas passa menssagem = item.title.text criaaudio.cria_audio(menssagem)
def le_umidade(topic): msg = subscribe.simple( "sala1/umi/", hostname="192.168.0.102", port=1883, client_id="ana", auth={ "username": "******", "password": "******" }, ) print("%s %s" % (msg.topic, msg.payload)) msg = str(msg.payload) msg = msg.strip("'") msg = msg.strip("b") msg = msg.strip("'") msg = msg.strip(" ") criaaudio.cria_audio(f"O bunker esta com { msg} porcento de umidade")
def le_temperatura(topic): msg = subscribe.simple( "sala1/temp/", hostname="192.168.0.102", port=1883, client_id="ana", auth={ "username": "******", "password": "******" }, ) print("%s %s" % (msg.topic, msg.payload)) msg = str(msg.payload) msg = msg.strip("'") msg = msg.strip("b") msg = msg.strip(" ") msg = msg.strip("'") criaaudio.cria_audio(f"Esta fazendo { msg} graus no bunker")
def publica_mqtt(topic, payload): publish.single( topic, payload=payload, qos=1, retain=False, hostname="192.168.0.102", port=1883, client_id="ana", auth={ "username": "******", "password": "******" }, ) if payload == "2": mensagem = "Bunker Ligado!" elif payload == "3": mensagem = "Bunker Desligado!" criaaudio.cria_audio(mensagem)
def executa_comandos(trigger): if "notícias" in trigger: fbase.ultimas_noticias() elif "hora" in trigger: fbase.hora() elif "data" in trigger: fbase.data() elif "data" in trigger and "hora" in trigger: fbase.dataehora() elif "toca" in trigger or "toque" in trigger: album = trigger.strip(hotword) fbase.playlist(album) elif "abra" in trigger or "abrir" in trigger or "abre" in trigger: nome = trigger.strip(hotword) fbase.abre_pagina(nome) elif "coronavírus" in trigger or "covid" in trigger: nome = trigger.strip(hotword) fbase.status_covid(nome) elif "tempo" in trigger and "agora" in trigger: fbase.previsao_tempo(tempo=True) elif "temperatura" in trigger and "hoje" in trigger: fbase.previsao_tempo(minimax=True) elif "previsão" in trigger and "tempo" in trigger: fbase.previsao_tempo(todos=True) elif "liga a lâmpada" in trigger or "ativa a lâmpada" in trigger: fbase.publica_mqtt("rele/", "2") elif ("desativa a lâmpada" in trigger or "desliga a lâmpada" in trigger or "apaga a lâmpada" in trigger): fbase.publica_mqtt("rele/", "3") elif "temperatura" in trigger: fbase.le_temperatura("sala1/temp/") elif "umidade" in trigger: fbase.le_umidade("sala1/umi/") elif "parar" in trigger and "execução" in trigger: print("parado Ana") else: menssagem = trigger.strip(hotword) criaaudio.cria_audio(menssagem) print("Comando inválido ", menssagem) responde("comanin")
def status_covid(pedido): if "brasil" in pedido: site = get("https://covid19-brazil-api.now.sh/api/report/v1/brazil") dados = site.json() confirmados = dados["data"]["confirmed"] mortos = dados["data"]["deaths"] suspeitos = dados["data"]["recovered"] # atualizadoem = dados['data']['updated_at'] menssagem = f" Atualmente no Brasil tem {confirmados} casos confirmados, {suspeitos} recuperados e {mortos} mortes confirmadas por covid-19." criaaudio.cria_audio(menssagem) elif "minas gerais" in pedido: site = get( "https://covid19-brazil-api.now.sh/api/report/v1/brazil/uf/mg") dados = site.json() confirmados = dados["cases"] mortos = dados["deaths"] suspeitos = dados["suspects"] recuperados = dados["refuses"] # atualizadoem = dados['datetime'] menssagem = f"Atualmente em Minas-Gerais tem {confirmados} casos confirmados, {suspeitos} suspeitos, {mortos} mortes confirmadas por covid-19, e {recuperados} recuperados" criaaudio.cria_audio(menssagem) elif "estados" in pedido: site = get("https://covid19-brazil-api.now.sh/api/report/v1") dados = site.json() for i in range(0, 25): confirmados = dados["data"][i]["cases"] mortos = dados["data"][i]["deaths"] suspeitos = dados["data"][i]["suspects"] recuperados = dados["data"][i]["refuses"] atualizadoem = dados["data"][i]["datetime"] estado = dados["data"][i]["state"] menssagem = f"{estado} Atualmente tem {confirmados} casos confirmados, {suspeitos} suspeitos e {mortos} mortes confirmadas por covid-19." criaaudio.cria_audio(menssagem)
def previsao_tempo(tempo=False, minimax=False, todos=False): site = get( "https://api.openweathermap.org/data/2.5/weather?q=Guap%C3%A9,mg,br&appid=d489d1a675d0a5e9990e3086d3cbe78b&units=metric&lang=pt" ) clima = site.json() # print(json.dumps(clima, indent=4)) temperatura = clima["main"]["temp"] temperaturamin = clima["main"]["temp_min"] temperaturamax = clima["main"]["temp_max"] umidade = clima["main"]["humidity"] descricao = clima["weather"][0]["description"] if todos: menssagem = f"hoje fara em média {temperatura} graus, com minimas de {temperaturamin} graus e máximas de {temperaturamax}graus, humidade de {umidade}% e {descricao}" criaaudio.cria_audio(menssagem) elif tempo: menssagem = f"No momento fazem {temperatura} graus, a humidade esta em cerca de {umidade}% e {descricao}" criaaudio.cria_audio(menssagem) elif minimax: menssagem = ( f"Minima de {temperaturamin} graus, maxima de {temperaturamax} graus" ) criaaudio.cria_audio(menssagem)