Hello everyone... Like you, I use the superb WeeWX software (thanks again for its designers!) and perhaps the alarm.py extension (or even better, alarm_multi.py).
By slightly modifying alarm.py or alarm_multi.py, it is very easily possible to receive notifications on your GSM mobile phone (The application is available for Android or iPhone on the store). For example, when it rains, when the temperature drops or rises above a certain value, when there is wind with a pre-defined speed, etc. etc you receive an alert on your mobile phone The original extension allows you to send an email, but with ntfy, you can very easily send notifications directly to your phones. Several settings are possible, such as adding an icon, defining a degree of urgency, etc. etc It is also possible to self-host the notification server directly on your computer, which avoids going through the third-party server (more secure). The documentation is available here: https://ntfy.sh/ I leave you a working example in python. Good fun to those who are interested ;-) #!/usr/bin/env python3 # -*- coding: utf-8 -*- import locale from pip._vendor import requests locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8') URL_NOTIFY = "https://ntfy.sh/" ABONNEMENT_NOTIFY = "MYNOTIF_PARAMETER" URL_SERVEUR = "https://meteomillau.pagesperso-orange.fr/" WEBCAM_FILE = "webcam.png" ICON_ALERT = "warning,skull" # Fonction de notification sur téléphone Android ou Iphone via l'application ntfy # titre correspond au titre du message, message au texte du message, icone aux icones de notication rajoutés (voir plus bas), urgence de 1 à 5, # click_ok si vrai renvoie sur une addresse http si click sur la notification et image_ok si vrai renvoie l'image png réduite de la WebCam # En réponse à la procédure notify, le code de retour de la requête put. # Icones : cloud_with_snow, cloud_with_rain, fog, thermometer, sunny, cold_face, hot_face, tornado, warning # En fin d'operation, renvoie "True" et code erreur 0 si tout s'est bien passé, sinon False avec le libellé de l'erreur. def notify (titre,message,icone,urgence,clic_ok,image_ok) : if clic_ok : ADDRESSE_CLIC = URL_SERVEUR else : ADDRESSE_CLIC = None if image_ok : ADDRESSE_IMAGE = URL_SERVEUR + WEBCAM_FILE else : ADDRESSE_IMAGE = None PRIORITY_VALUE = { 1: "min", 2: "low", 3: "default", 4: "high", 5: "urgent" } priorite = PRIORITY_VALUE.get (urgence) headers = { 'Click' : ADDRESSE_CLIC, 'Title' : titre.encode(encoding='utf-8'), 'Attach' : ADDRESSE_IMAGE, 'Priority': priorite, 'Tags': icone, } if priorite != None : try : reponse = requests.put(URL_NOTIFY + ABONNEMENT_NOTIFY, headers=headers, data=message.encode(encoding='utf-8')) status_envoie = (reponse.reason=="OK") erreur = "Notification GSM correctement envoyée" except Exception as e: status_envoie = False erreur = e else : status_envoie = False erreur = "Erreur de notification GSM : niveau d'urgence erroné (0...-> 5)" return (status_envoie,erreur) # ---------------------------------> Début du Programme <------------------------------------- subj = "Alerte météo : TEMPERATURE EXTERIEURE TRES BASSE ( < -5°C ) - **** ! DANGER GEL SEVERE ! ****" status,code_erreur= notify ("Message d'alerte météo",subj,"warning",None,True,True) print (status) print (code_erreur) exit () -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/02bb87e4-7662-44db-ac01-3f8bceaf37a1n%40googlegroups.com.
