dgtlmoon / changedetection.io

The best and simplest free open source web page change detection, website watcher, restock monitor and notification service. Restock Monitor, change detection. Designed for simplicity - Simply monitor which websites had a text change for free. Free Open source web page change detection, Website defacement monitoring, Price change notification
https://changedetection.io
Apache License 2.0
15.84k stars 884 forks source link

issue when sending notification to mqtt broker #2333

Closed Alulu2401 closed 2 months ago

Alulu2401 commented 2 months ago

hello all, i've already posted this on apprise git but maybe it is more specific to changedetection, so i'm trying here too :)

note that i'm on the last version of changedetection on k3s.

i'm having little troubles to send notification on mqtt broker. logs are showing that url is not parseable but i'm following url formating like mentionned in MQTT part. Did someone already uncounter this behaviour ?

apprise -vvv -b "whatever-payload-want" "mqtt://mqtt_user:"password"@10.43.35.1:1883/notif" 2024-04-24 10:16:47,870 - DEBUG - Language set to en 2024-04-24 10:16:47,982 - DEBUG - Notification Plugin 104(s) and 148 Schema(s) loaded in 0.1111s 2024-04-24 10:16:47,983 - ERROR - Unparseable MQTT Notification URL mqtt://mqtt_user:"password"@10.43.35.1:1883/notif 2024-04-24 10:16:47,983 - ERROR - There are no service(s) to notify

Broker is used by other selfhosted services without any troubles. I'm not using TLS or other securities than user/password because it is a private isolated network.

if i remove user/password part, things seems to works but rejected by my broker (which i guess is logical :D )

apprise -vvv -b "whatever-payload-want" "mqtt://10.43.35.1:1883/notif" 2024-04-24 10:32:15,062 - DEBUG - Language set to en 2024-04-24 10:32:15,170 - DEBUG - Notification Plugin 104(s) and 148 Schema(s) loaded in 0.1071s 2024-04-24 10:32:15,171 - DEBUG - Loaded MQTT Notification URL: mqtt://10.43.35.1/notif?version=v3.1.1&qos=0&session=no&format=text&overflow=upstream&rto=4.0&cto=4.0&verify=yes 2024-04-24 10:32:15,183 - DEBUG - MQTT POST URL: 10.43.35.1:1883/notif (cert_verify=True) 2024-04-24 10:32:15,184 - DEBUG - MQTT Payload: whatever-payload-want 2024-04-24 10:32:15,184 - DEBUG - Blocking until MQTT payload is published... 2024-04-24 10:32:19,189 - WARNING - The MQTT message could not be delivered

It must be missing something but can't figure it out. Any kind of help will be greatly appreciated :)

Regards :)

dgtlmoon commented 2 months ago

thanks but theres no version information of changedetection.io here..

Alulu2401 commented 2 months ago

Thx for the reply, on web ui v0.45.20

I'm always pulling the latest image and redeployed it this morning, my bad i didn't precise it earlier.

dgtlmoon commented 2 months ago

https://github.com/dgtlmoon/changedetection.io/issues/2241

https://github.com/dgtlmoon/changedetection.io/pull/2242

maybe

Alulu2401 commented 2 months ago

Thx for the links ;) i've already tried with .17, based on the mentioned thread unfortunately same behaviour :/

I'll give a try on an unsecured broker to check if it's only related on user/password in mqtt url

dgtlmoon commented 2 months ago

@Alulu2401 you also dont mention if you ran that command inside the container, or even how you installed it, operating system, or any other useful information

k3s, i have no idea, is it running a container or what?

dgtlmoon commented 2 months ago

Also allow me to link the issue you created over at the apprise project https://github.com/caronc/apprise/issues/1117

Alulu2401 commented 2 months ago

Sure, i was not sure about the right spot to post seems it's here my bad again.

k3s is a lightweight kubernetes install and i'm running the command inside the container where i've checked that i'm under paho-mqtt 2.0.0. ( pip3 list | grep paho-mqtt > 1.6.1)

My deployment file is minimal, namespaces is the same between changedetection and mosquitto broker and both services are availaible (i'm using mqtt with nodered, home assistant)

If i can provide more needed details i'll be happy to help :D

dgtlmoon commented 2 months ago

pip3 list | grep paho-mqtt > 1.6.1

this will create a file called "1.6.1" ? i dont understand what you're trying todo there

Alulu2401 commented 2 months ago

no no it's the output of pip3 list | grep paho-mqtt in order to check the paho-mqtt version :p

i should have wrote pip3 list | grep paho-mqtt. 1.6.1 :)

Alulu2401 commented 2 months ago

Hi, i've found the reason behind my issue and just for sharing

I've created a new user with a simple password (no special characters) and It appears that mosquitto need to be restarted in order to take in charge my user.

After restart my notification started to work like a charm.

Big thanks for your help. Olivier

dgtlmoon commented 2 months ago

I added a small fix so its sure the min version is correct too, in the case you have an older library version

Alulu2401 commented 2 months ago

Great ! thx for your help ;)