From e7b57addb178cda987c99be7675d835e323b98f3 Mon Sep 17 00:00:00 2001 From: Gianpiero Date: Sun, 26 Feb 2023 16:34:53 +0100 Subject: [PATCH 01/12] Update gh_manager.yaml --- apps/notifier/gh_manager.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/notifier/gh_manager.yaml b/apps/notifier/gh_manager.yaml index 11aa094..42b52eb 100755 --- a/apps/notifier/gh_manager.yaml +++ b/apps/notifier/gh_manager.yaml @@ -1,6 +1,8 @@ GH_Manager: module: gh_manager class: GH_Manager + + #log_level: DEBUG gh_service: tts.google ytube_player: media_player.ytube_music_player From d6b14d1b873d55d678a424d67e5ffae2ddabe995 Mon Sep 17 00:00:00 2001 From: Gianpiero Date: Sun, 9 Apr 2023 22:01:53 +0200 Subject: [PATCH 02/12] Update gh_manager.py --- apps/notifier/gh_manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/notifier/gh_manager.py b/apps/notifier/gh_manager.py index 3bbc3db..ae97ac3 100755 --- a/apps/notifier/gh_manager.py +++ b/apps/notifier/gh_manager.py @@ -19,6 +19,7 @@ SUB_TTS = [("[\*\-\[\]_\(\)\{\~\|\}\s]+"," ")] SUB_VOICE = [ # ("[.]{2,}", "."), + ("[\U00010000-\U0010ffff]", ""), # strip emoji ("[\?\.\!,]+(?=[\?\.\!,])", ""), # Exclude duplicate ("(\s+\.|\s+\.\s+|[\.])(?! )(?![^{]*})(?![^\d.]*\d)", ". "), ("&", " and "), # escape From 57c0f7968a3b0929e2911278d5dbebd356586a18 Mon Sep 17 00:00:00 2001 From: Gianpiero Date: Sun, 9 Apr 2023 22:06:13 +0200 Subject: [PATCH 03/12] beta 9/04/2023 --- apps/notifier/notification_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/notifier/notification_manager.py b/apps/notifier/notification_manager.py index 8d6dd9d..5541f06 100755 --- a/apps/notifier/notification_manager.py +++ b/apps/notifier/notification_manager.py @@ -88,6 +88,8 @@ def send_notify(self, data, notify_name, assistant_name: str): extra_data = {} if isinstance(telegram, dict): extra_data = telegram + if link !="": + messaggio = ("{} {}".format(messaggio,link)) if caption == "": caption = ("{}\n{}".format(titolo,messaggio)) if image != "" and image.find("http") != -1: @@ -103,8 +105,6 @@ def send_notify(self, data, notify_name, assistant_name: str): #self.log("[EXTRA-DATA]: {}".format(extra_data), ascii_encode = False) if str(html).lower() not in ["true","on","yes","1"]: messaggio = messaggio.replace("_","\_") - if link !="": - messaggio = ("{} {}".format(messaggio,link)) if image != "": self.call_service(item, message = "", data = extra_data) elif extra_data: From 64ea1a1c2ab968a84c3de3d833e9f6f027e42bb8 Mon Sep 17 00:00:00 2001 From: Gianpiero Date: Sun, 9 Apr 2023 22:59:07 +0200 Subject: [PATCH 04/12] beta april 9 --- apps/notifier/helpermodule.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/apps/notifier/helpermodule.py b/apps/notifier/helpermodule.py index 0e70bea..a95f82f 100755 --- a/apps/notifier/helpermodule.py +++ b/apps/notifier/helpermodule.py @@ -56,13 +56,19 @@ def return_array(target)->list: else: return list(target.split(",")) -def replace_regular(text, substitutions: list)->str: - if isinstance(text, str): - for old,new in substitutions: - text = re.sub(old, new, text.strip()) +# def replace_regular(text, substitutions: list)->str: +# if isinstance(text, str): +# for old,new in substitutions: +# text = re.sub(old, new, text.strip()) +# return text +# else: +# return text + +def replace_regular(text: str, substitutions: list) -> str: + for old, new in substitutions: + regex = re.compile(old) + text = re.sub(regex, new, str(text).strip()) return text - else: - return text def replace_language(s: str)->str: return (s[:2]) From 87d769e2f988f4b8f7dd9ebc8480601c280dd693 Mon Sep 17 00:00:00 2001 From: Gianpiero Date: Sun, 9 Apr 2023 23:00:32 +0200 Subject: [PATCH 05/12] beta 9 april --- apps/notifier/gh_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/notifier/gh_manager.py b/apps/notifier/gh_manager.py index ae97ac3..3e904ec 100755 --- a/apps/notifier/gh_manager.py +++ b/apps/notifier/gh_manager.py @@ -122,7 +122,7 @@ def speak(self, google, gh_mode: bool, gh_notifier: str): self.volume_get(gh_volume,float(self.get_state(self.args["tts_period_of_day_volume"]))/100) self.mediastate_get(gh_volume,float(self.get_state(self.args["tts_period_of_day_volume"]))/100) wait_time = float(self.get_state(self.gh_wait_time)) - message = h.replace_regular(google["message"], SUB_TTS) + message = h.replace_regular(google["message"], SUB_VOICE) ### set volume self.volume_set(gh_player,google["volume"]) # queues the message to be handled async, use when_tts_done_do method to supply callback when tts is done @@ -163,7 +163,7 @@ def worker(self): time.sleep(1) #self.volume_set(entity,data["volume"]) ##### Speech time calculator ##### - message_clean = h.replace_regular(data["text"], SUB_VOICE) + message_clean = data["text"] words = len(h.remove_tags(message_clean).split()) chars = h.remove_tags(message_clean).count("") duration = (words * 0.007) * 60 From 345b707e78d6da47679f406a5e67b2de40894794 Mon Sep 17 00:00:00 2001 From: Gianpiero Date: Sun, 23 Apr 2023 11:05:59 +0200 Subject: [PATCH 06/12] Update 23/04 Fix for sensor debug --- apps/notifier/notifier_dispatch.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/notifier/notifier_dispatch.py b/apps/notifier/notifier_dispatch.py index aa795c6..3e11f24 100755 --- a/apps/notifier/notifier_dispatch.py +++ b/apps/notifier/notifier_dispatch.py @@ -39,7 +39,7 @@ def initialize(self): self.phone_called_number = h.get_arg(self.args, "phone_called_number") self.debug_sensor = h.get_arg(self.args, "debug_sensor") - self.set_state(self.debug_sensor, state="on") + self.set_state(self.debug_sensor, state="OK") #### FROM SECRET FILE ### config = self.get_plugin_config() config_dir = config["config_dir"] @@ -172,6 +172,7 @@ def notifier(self, event_name, data, kwargs): if usePersistentNotification: try: self.notification_manager.send_persistent(data, self.persistent_notification_info) + self.set_debug_sensor("OK", "") except Exception as ex: self.log("An error occurred in persistent notification: {}".format(ex),level="ERROR") self.set_debug_sensor("Error in Persistent Notification: ", ex) @@ -179,6 +180,7 @@ def notifier(self, event_name, data, kwargs): if useNotification: try: self.notification_manager.send_notify(data, notify_name, self.get_state(self.personal_assistant_name)) + self.set_debug_sensor("OK", "") except Exception as ex: self.log("An error occurred in text notification: {}".format(ex), level="ERROR") self.set_debug_sensor("Error in Text Notification: ", ex) @@ -203,6 +205,7 @@ def notifier(self, event_name, data, kwargs): if usePhone: try: self.phone_manager.send_voice_call(data, phone_notify_name, self.phone_sip_server) + self.set_debug_sensor("OK", "") except Exception as ex: self.log("An error occurred in phone notification: {}".format(ex),level="ERROR") self.set_debug_sensor("Error in Phone Notification: ", ex) From f9576545628f287e10e1163d6af3ea92e112a16c Mon Sep 17 00:00:00 2001 From: Gianpiero Date: Sun, 23 Apr 2023 11:07:01 +0200 Subject: [PATCH 07/12] update 23/4 fix debug sensor --- apps/notifier/gh_manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/notifier/gh_manager.py b/apps/notifier/gh_manager.py index 3e904ec..ff5550d 100755 --- a/apps/notifier/gh_manager.py +++ b/apps/notifier/gh_manager.py @@ -188,6 +188,7 @@ def worker(self): if self.ytube_called: self.call_service("media_player/volume_set", entity_id = entity, volume_level = 0) ################################## + self.set_debug_sensor("OK", "") except Exception as ex: self.log("An error occurred in GH Manager - Errore nel Worker: {}".format(ex),level="ERROR") self.log(sys.exc_info()) From 332914a02501b4c6d3e4c58799b5bfde38cffe36 Mon Sep 17 00:00:00 2001 From: Gianpiero Date: Sun, 23 Apr 2023 11:24:56 +0200 Subject: [PATCH 08/12] Update notifier_dispatch.py --- apps/notifier/notifier_dispatch.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/notifier/notifier_dispatch.py b/apps/notifier/notifier_dispatch.py index 3e11f24..b6cbac8 100755 --- a/apps/notifier/notifier_dispatch.py +++ b/apps/notifier/notifier_dispatch.py @@ -172,7 +172,7 @@ def notifier(self, event_name, data, kwargs): if usePersistentNotification: try: self.notification_manager.send_persistent(data, self.persistent_notification_info) - self.set_debug_sensor("OK", "") + self.set_state(self.debug_sensor, state="OK") except Exception as ex: self.log("An error occurred in persistent notification: {}".format(ex),level="ERROR") self.set_debug_sensor("Error in Persistent Notification: ", ex) @@ -180,7 +180,7 @@ def notifier(self, event_name, data, kwargs): if useNotification: try: self.notification_manager.send_notify(data, notify_name, self.get_state(self.personal_assistant_name)) - self.set_debug_sensor("OK", "") + self.set_state(self.debug_sensor, state="OK") except Exception as ex: self.log("An error occurred in text notification: {}".format(ex), level="ERROR") self.set_debug_sensor("Error in Text Notification: ", ex) @@ -205,7 +205,7 @@ def notifier(self, event_name, data, kwargs): if usePhone: try: self.phone_manager.send_voice_call(data, phone_notify_name, self.phone_sip_server) - self.set_debug_sensor("OK", "") + self.set_state(self.debug_sensor, state="OK") except Exception as ex: self.log("An error occurred in phone notification: {}".format(ex),level="ERROR") self.set_debug_sensor("Error in Phone Notification: ", ex) From 7bc928b308e0111d69a104d7657e43b727c7c5e7 Mon Sep 17 00:00:00 2001 From: Gianpiero Date: Sun, 23 Apr 2023 11:26:29 +0200 Subject: [PATCH 09/12] update 23/4 fix for debug sensor --- apps/notifier/gh_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/notifier/gh_manager.py b/apps/notifier/gh_manager.py index ff5550d..4fcee94 100755 --- a/apps/notifier/gh_manager.py +++ b/apps/notifier/gh_manager.py @@ -40,7 +40,7 @@ def initialize(self)->None: self.ytube_player = h.get_arg(self.args, "ytube_player") self.ytube_called = False self.debug_sensor = h.get_arg(self.args, "debug_sensor") - self.set_state(self.debug_sensor, state="on") + self.set_state(self.debug_sensor, state="OK") self.check_gh_service = self.check_gh(self.gh_service) # self.queue = Queue(maxsize=0) @@ -188,7 +188,7 @@ def worker(self): if self.ytube_called: self.call_service("media_player/volume_set", entity_id = entity, volume_level = 0) ################################## - self.set_debug_sensor("OK", "") + self.set_state(self.debug_sensor, state="OK") except Exception as ex: self.log("An error occurred in GH Manager - Errore nel Worker: {}".format(ex),level="ERROR") self.log(sys.exc_info()) From 10894da7558f1f0cb18bc9f4b57e339b2d852565 Mon Sep 17 00:00:00 2001 From: Gianpiero Date: Sun, 23 Apr 2023 11:56:47 +0200 Subject: [PATCH 10/12] fix 23/4 fix for debug sensor --- apps/notifier/gh_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/notifier/gh_manager.py b/apps/notifier/gh_manager.py index 4fcee94..84d4048 100755 --- a/apps/notifier/gh_manager.py +++ b/apps/notifier/gh_manager.py @@ -40,7 +40,7 @@ def initialize(self)->None: self.ytube_player = h.get_arg(self.args, "ytube_player") self.ytube_called = False self.debug_sensor = h.get_arg(self.args, "debug_sensor") - self.set_state(self.debug_sensor, state="OK") + self.set_state(self.debug_sensor, state="on") self.check_gh_service = self.check_gh(self.gh_service) # self.queue = Queue(maxsize=0) From 7eadb933c727ec47309fb54474b999c4ba9a69d4 Mon Sep 17 00:00:00 2001 From: Gianpiero Date: Sun, 23 Apr 2023 12:35:12 +0200 Subject: [PATCH 11/12] fix 23/4 fix debug sensor --- apps/notifier/notifier_dispatch.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/apps/notifier/notifier_dispatch.py b/apps/notifier/notifier_dispatch.py index b6cbac8..96b8814 100755 --- a/apps/notifier/notifier_dispatch.py +++ b/apps/notifier/notifier_dispatch.py @@ -39,7 +39,7 @@ def initialize(self): self.phone_called_number = h.get_arg(self.args, "phone_called_number") self.debug_sensor = h.get_arg(self.args, "debug_sensor") - self.set_state(self.debug_sensor, state="OK") + self.set_state(self.debug_sensor, state="on") #### FROM SECRET FILE ### config = self.get_plugin_config() config_dir = config["config_dir"] @@ -169,10 +169,11 @@ def notifier(self, event_name, data, kwargs): if data["html"] == "": data.update({"html": self.get_state(self.html_mode)}) ########################### + self.set_state(self.debug_sensor, state="OK") + ########################### if usePersistentNotification: try: self.notification_manager.send_persistent(data, self.persistent_notification_info) - self.set_state(self.debug_sensor, state="OK") except Exception as ex: self.log("An error occurred in persistent notification: {}".format(ex),level="ERROR") self.set_debug_sensor("Error in Persistent Notification: ", ex) @@ -180,11 +181,17 @@ def notifier(self, event_name, data, kwargs): if useNotification: try: self.notification_manager.send_notify(data, notify_name, self.get_state(self.personal_assistant_name)) - self.set_state(self.debug_sensor, state="OK") except Exception as ex: self.log("An error occurred in text notification: {}".format(ex), level="ERROR") self.set_debug_sensor("Error in Text Notification: ", ex) self.log(sys.exc_info()) + if usePhone: + try: + self.phone_manager.send_voice_call(data, phone_notify_name, self.phone_sip_server) + except Exception as ex: + self.log("An error occurred in phone notification: {}".format(ex),level="ERROR") + self.set_debug_sensor("Error in Phone Notification: ", ex) + self.log(sys.exc_info()) if useTTS: if (gh_switch == "on" or google_priority_flag) and google_flag: if (data["google"]) != "": @@ -202,15 +209,6 @@ def notifier(self, event_name, data, kwargs): if "title" not in alexa: alexa["title"] = data["title"] self.alexa_manager.speak(alexa, self.alexa_skill_id) - if usePhone: - try: - self.phone_manager.send_voice_call(data, phone_notify_name, self.phone_sip_server) - self.set_state(self.debug_sensor, state="OK") - except Exception as ex: - self.log("An error occurred in phone notification: {}".format(ex),level="ERROR") - self.set_debug_sensor("Error in Phone Notification: ", ex) - self.log(sys.exc_info()) - ### ripristino del priority a OFF if (self.get_state(self.priority_message) == "on"): self.set_state(self.priority_message, state = "off") From 8e56523fabad9c0e4b1b56948c5ca5630c320b34 Mon Sep 17 00:00:00 2001 From: Gianpiero Date: Sun, 23 Apr 2023 13:07:15 +0200 Subject: [PATCH 12/12] fix 23/4 --- apps/notifier/alexa_manager.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/notifier/alexa_manager.py b/apps/notifier/alexa_manager.py index 60ca681..b17a15b 100755 --- a/apps/notifier/alexa_manager.py +++ b/apps/notifier/alexa_manager.py @@ -739,7 +739,8 @@ def worker(self): time.sleep(duration) self.volume_restore() - + ######## + self.set_state(self.debug_sensor, state="OK") except UnboundLocalError as ex: self.lg(f"VOLUMES AUTO SILENT: {ex}") pass