#meshing-around BBS/utility BOT

1 messages · Page 5 of 1

loud ore
#

Ah, no joy.

#

2025-01-01 17:48:55,372 | ERROR | System: communicating with interface1, trying to reconnect: Timed out waiting for an acknowledgment
2025-01-01 17:48:55,373 | ERROR | System: closing interface1: [Errno 32] Broken pipe

gentle kestrel
#

Something is funky

loud ore
#

Mmm.

#

Do you know the default port?

#

I could just point telnet at it

gentle kestrel
#

4400? Something like that

#

You see it on logs at boot of meshD

#

Did you use localhost as the IP?

#

Not a flapping WiFi ip

loud ore
#

Sorry, I'm wrapping up for tonight.

gentle kestrel
#

You will need to install as a venv or —break-system-packages

#

The command to install Python bits is pip install -r requirements.txt

#

Are you on a pi?

heady raven
#

yesh I'm a pi4b. I've got it going somewhat when I send a text or some output - I loose connectivity on the phone app. a reboot brings everything back up again. I've snipit's of code in the scripts to get this far. Learning alot!

#

ls config.ini CONTRIBUTING.md entrypoint.sh launch.sh mesh_bot.py path requirements.txt config.old data etc LICENSE modules pong_bot.py runShell.sh config.template Dockerfile install.sh logs news.txt README.md sysEnv.sh

#

sudo apt install mesh_bot.py Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package mesh_bot.py

#

`pip install -r requirements.txt
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.`

#

python and pip work and are up to date.

gentle kestrel
#

Linux is the os, python is the core and pip installs library modules for use by applications like mesh-bot

#

Pip install demands override when not using a venv in raspos to keep things from going crazy

heady raven
#

This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed. For more information visit http://rptl.io/venv note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification. Which bot do you want to install as a service? Pong Mesh or None? (pong/mesh/n) Pong bot is a simple bot for network testing, Mesh bot is a more complex bot more suited for meshing around Mesh bot Do you want to add a user (meshbot) no login, for the bot? (y/n)yes service files updated ./install.sh: line 197: [: too many arguments ./install.sh: line 205: [: too many arguments Config file updated for embedded Installation complete!

#

sudo apt install pipx && pipx install "meshtastic[cli]"

#

this worked...

#

I can run commands. try and send text. see my node etc

#

meshtastic -s --info Connected to radio Owner: wh6gxzmesh (gxzm) My info: { "myNodeNum": 2734752213

#

ran this command it worked.
python3 -m venv path/to/venv.

#path/to/venv/bin/python -bash: path/to/venv/bin/python: Is a directory
sudo lheard sudo: lheard: command not found

heady raven
heady raven
#

I think I found what I need.
pip install -U -r requirements.txt --break-system-packages
This install line worked. Still working with other issues...
like if I run a command - then I loose the phone app connection to the node.
I seem to be hitting the "wall" with this vritual env. i'm running a desktop ver- of pi os. allstar 3.0 and i'm thinking of running a lite ver of pi and just your BOT- a lot of work but, i'm playing
sudo ./launch.sh Virtual environment not found, this tool just launches the .py in venv

stone lance
#

Same rules apply with the bot as with the phones and other app/client interfaces - only one at a time

gentle kestrel
#

As mentioned by Tom it’s one client only (so you need to dedicate a node to the bot)

#

If you can launch meshbot
./mesh_bot.py

#

Or python mesh_bot.py

gentle kestrel
#

here is a typical install - this uses venv

#

this is what it should look like

#

the error at the end is because I have no node on that serial port

#

but shows the bot starts and its working

#

I saw multiple allstar projects? if you can link me to your image file I can see if the bot will hack into it

heady raven
# gentle kestrel <@1159608673295945799>

Oh sorry I just wiped it out so I can install an operating system that doesn’t have a desktop environment and then I’m going to install the bot etc. first and then maybe all star. I had All-Star running for giggles. I’m guessing there are some library etc. especially it just didn’t get a virtual environment going

heady raven
# gentle kestrel <@1159608673295945799>

Cool just looked at your video. Yeah, I achieve that through a long path but the virtual environment in the link was my issue. I’ll keep you updated now that I’ve done the install. I work through this faster.
Sorry, voice texting. Poor grandma. 🙃 haha

gentle kestrel
gentle kestrel
heady raven
gentle kestrel
#

Awesome! Your welcome! 🤙

heady raven
#

pi os lite- up to this point the install went with smiles...

odd void
#

lol

#

you broke it by typing "Mesh bot"

#

@gentle kestrel you should prob change those if statements to something like if [[ $bot =~ "mesh" ]]

#

or if [[ $(echo ${bot} | grep -i mesh) ]]

heady raven
# odd void lol

I tried it without the typing the "mesh bot" the earlier error. the virtual env... 🤪

Do you want to install the bot in a python virtual environment? (y/n)yes Skipping virtual environment... Are you on Raspberry Pi(debian/ubuntu)? should we add --break-system-packages to the pip install command? (y/n)yes error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install.

odd void
#

thats not an error, thats how i think all linux distros do it now

#

you should be using the venv

heady raven
#

/meshing-around/venv $ ls bin include lib lib64 pyvenv.cfg

odd void
#

yup

#

anything that gets pip installed goes in there

#

basically if you install meshing-around with a venv, and also install someotherpythonprogram with a venv, theyll be separate/compartmentalized

#

that way if meshing requires pyephem 0.9.2 and someotherpythonprogram requires pyephem 0.9.0 and they changed commands in that update, it wont break one of those python programs

#

meshing can "use" that venv and the stuff inside by sourcing meshing-around/venv/bin/activate to pick it up

heady raven
#

sudo ./mesh_bot.py Traceback (most recent call last): File "/home/wh6gxz/meshing-around/./mesh_bot.py", line 10, in <module> from modules.system import * File "/home/wh6gxz/meshing-around/modules/system.py", line 4, in <module> import meshtastic.serial_interface #pip install meshtastic ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ModuleNotFoundError: No module named 'meshtastic'

gentle kestrel
#

That’s critical fail

#

That needs resolved before bot

heady raven
#

meshtastic usage: meshtastic

heady raven
gentle kestrel
#

And I just put a patch in for what I’m calling POSIX, compliance vs my Python like batch statements catching yes or y now

#

Module not found says the CLI isn’t working

#

Or venv is bad

heady raven
#

sudo apt install pipx && pipx install "meshtastic[cli]"

#

I did this

odd void
#

i think he didnt do the venv on install, scrolling up

#

dont think he went back and redid it, so its global

gentle kestrel
#

Also appears to be package managing a lot

#

Dad jokes isn’t in a deb I don’t think

#

Why I don’t package deployment

#

I stick with pip for now

odd void
#

maybe the option to not use a venv should be removed, and the process should just be python3 -m venv meshing-around && cd meshing-around && pip3 install -r requirements.txt and then proceed

gentle kestrel
odd void
#

to be safe you may also want to catch the full path of the venv dir so you can invoke it via systemctl

#

in case the user gets jazzy and puts the venv somewhere weird

gentle kestrel
#

It should be

odd void
#

idk if you do this already or if its up to the user to invoke

#

if venv is in ~ and meshing-around is in /opt or some jazz?

#

actually if you create it in the script then its irrelevant

#

carry on

gentle kestrel
#

Well funny you say it ```bash

check if we are in /opt/meshing-around

if [ $program_path != "/opt/meshing-around" ]; then
printf "\nIt is suggested to project path to /opt/meshing-around\n"
printf "Do you want to move the project to /opt/meshing-around? (y/n)"
read move
if [ "$move" = "y" ] || [ "$move" = "yes" ]; then
sudo mv $program_path /opt/meshing-around
cd /opt/meshing-around
printf "\nProject moved to /opt/meshing-around. re-run the installer\n"
exit 0
fi
fi

gentle kestrel
#

See how GHZ process flows now

#

I wasn’t catching yes only y

#

It blew past venv install

#

Like you said default the other way to venv

odd void
#

ah yeah for catching input i always use grep as i dont trust the user to be literal

gentle kestrel
#

Should have done that yea

odd void
#

if [[ $(echo ${reply} | grep -i "^y") ]]

#

that way if theyre being cheeky and type "ye" itll still work

#

or even yasssss

#

and if you catch for n itll get no to nuu to nyet

heady raven
#

oh yeah that's already playing better....

#

Do you want to add a user (meshbot) no login, for the bot? (y/n)yes useradd: user 'meshbot' already exists Added user meshbot with no home directory Added meshbot to dialout, tty, and bluetooth groups Permissions set for meshbot on logs and data directories service files updated ./install.sh: line 197: [: too many arguments ./install.sh: line 205: [: too many arguments Config file updated for embedded Installation complete!

odd void
#

what did you reply with when it asked if you wanted the mesh bot

gentle kestrel
#

Well looks like it should run now

odd void
#

because its a simple if statement so i wonder if you have a space in your input or something

gentle kestrel
#

I will grep it as well

odd void
#

what did you type?

#

also @gentle kestrel pro tip, always encapsulate your variables

heady raven
#

sudo ./mesh_bot.py Traceback (most recent call last): File "/opt/meshing-around/./mesh_bot.py", line 10, in <module> from modules.system import * File "/opt/meshing-around/modules/system.py", line 4, in <module> import meshtastic.serial_interface #pip install meshtastic ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ModuleNotFoundError: No module named 'meshtastic'

odd void
#

$bot no good
"${bot}" good

odd void
heady raven
#

sudo ./launch.sh
Please provide a bot to launch (pong/mesh) or a report to generate (html/html5)

gentle kestrel
#

The sudo part scares me but add mesh as $1

odd void
#

@gentle kestrel sent a PR

#

changed all the variable checks

#

wait

#

missed one

#

there ya go

gentle kestrel
#

Nice thanks @odd void

gentle kestrel
#

Felt lucky haven’t heard from @heady raven for a second and pressed a release

heady raven
#

Still stuck on few things. Mahalo for all your awesome support. I've gotten further.

gentle kestrel
#

This your first rodeo with venv?

#

You need to be in the venv to use it

#

It hopefully will help shed some light on what is going on

#

You’re running a virtual python stack in the “shell” rooted in venv folder in the mesh-bot project created by install.sh

#

So use the venv you need to activate (sets the py environment to this new venv path)

#

You will see your shell prompt change if you do it manually

#

The reason you see -break system packages errors

Debian has sort of said, use venv now please

#

It makes for a more stable os over all

#

If you are embedded in the classic definition on luckfox or a pi, venv isn’t as needed

#

I don’t like remembering to launch /activate

#

venv and docker allow some isolation from the os

heady raven
#

sudo ./launch.sh Please provide a bot to launch (pong/mesh) or a report to generate (html/html5) wh6gxz@wh6gxzmesh:/opt/meshing-around $ sudo ./mesh_bot.py Traceback (most recent call last): File "/opt/meshing-around/./mesh_bot.py", line 10, in <module> from modules.system import * File "/opt/meshing-around/modules/system.py", line 4, in <module> import meshtastic.serial_interface #pip install meshtastic ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ModuleNotFoundError: No module named 'meshtastic'
Is there and running...

#

/opt/meshing-around/venv/bin $ ls activate activate.fish config.ini mesh-analysis mesh-tunnel pip pip3.11 pyserial-ports python3 tabulate activate.csh Activate.ps1 dadjokes meshtastic normalizer pip3 pyserial-miniterm python python3.11

gentle kestrel
#

The launch command is missing $1

#

Then you ran meshbot direct

#

To enter venv source venv/bin/activate

#

you need to stay in venv while you test

#

Or remeber to ./launch.sh mesh

#

Two words

#

.

I just pushed a reminder error

#

Also config.ini now has sysloglevel = DEBUG

heady raven
#

Jan 02 20:06:19 wh6gxzmesh systemd[1]: mesh_bot.service: Start request repeated too quickly. Jan 02 20:06:19 wh6gxzmesh systemd[1]: mesh_bot.service: Failed with result 'exit-code'. Jan 02 20:06:19 wh6gxzmesh systemd[1]: Failed to start mesh_bot.service - MESH-BOT.

gentle kestrel
#

sudo journalctl -u mesh_bot.service

#

Got a few more install improvements in as well as some errors for all this

heady raven
#

mahalo the updates and logging!

gentle kestrel
#

Don’t you have the account the service is running as member of tty or dialout to access the serial

heady raven
#

yeah - i'm the user... odd

gentle kestrel
#

I don’t know error 111 off hand but I know it happened as the bot was trying to access it the first time

#

And any errors thrown here are normally permissions or config.ini errors

#

You can look in mesh-bot/logs

#

There is a only the bot log and I assume it crashes 111 interface as well

#

It may have longer lines

heady raven
#

sudo ./launch.sh mesh & [1] 2810 wh6gxz@wh6gxzmesh:/opt/meshing-around $ 2025-01-03 01:01:33,316 | DEBUG | System: Creating new data/bbsdb.pkl 2025-01-03 01:01:33,316 | DEBUG | System: Creating new data/bbsdm.pkl 2025-01-03 01:01:33,395 | DEBUG | System: Initializing Interface1 2025-01-03 01:01:33,397 | CRITICAL | System: script abort. Initializing Interface1 [Errno 111] Connection refused [1]+ Done sudo ./launch.sh mesh

gentle kestrel
#

Connection refused isn’t my code saying that, but meshtastic API

#

I don’t know what this command was for sudo ./launch.sh mesh & [1] 2810 or where it came from but it’s not me

#

Are you running the installer? You don’t need to sudo everything

odd void
#

@gentle kestrel maybe this should all be handled by the install.sh script without asking the user

#

create the venv and source activate

gentle kestrel
#

Yea just need to press y a few times

#

I tested on a diet pi and raspos it lights right up

gentle kestrel
#

Variants are embedded where dependency are all external

#

It just sets up configs

#

Next is install local
And finally the most common venv

#

New installer even gives you notes for documentation of service copy and paste into a run book

heady raven
# gentle kestrel Yea just need to press y a few times

I've reinstalled this more times than I should 🤪 I often get the sames issue. PIP, Meshtastic, BOT error. Having t run sudo for most things...

wh6gxz@wh6gxzmesh:~ $ sudo systemctl daemon-reload wh6gxz@wh6gxzmesh:~ $ sudo systemctl enable mesh_bot.service wh6gxz@wh6gxzmesh:~ $ sudo systemctl status mesh_bot.service × mesh_bot.service - MESH-BOT Loaded: loaded (/etc/systemd/system/mesh_bot.service; enabled; preset: enabled) Active: failed (Result: exit-code) since Fri 2025-01-03 06:54:04 HST; 31min ago Duration: 367ms Main PID: 615 (code=exited, status=0/SUCCESS) CPU: 347ms

Jan 03 06:54:04 wh6gxzmesh systemd[1]: mesh_bot.service: Scheduled restart job, restart counter is at 5.
Jan 03 06:54:04 wh6gxzmesh systemd[1]: Stopped mesh_bot.service - MESH-BOT. Jan 03 06:54:04 wh6gxzmesh systemd[1]: mesh_bot.service: Start request repeated too quickly. Jan 03 06:54:04 wh6gxzmesh systemd[1]: mesh_bot.service: Failed with result 'exit-code'. Jan 03 06:54:04 wh6gxzmesh systemd[1]: Failed to start mesh_bot.service - MESH-BOT. Jan 03 07:24:56 wh6gxzmesh systemd[1]: /etc/systemd/system/mesh_bot.service:22: Failed to parse service type, ignoring: notify #try si> Jan 03 07:25:15 wh6gxzmesh systemd[1]: /etc/systemd/system/mesh_bot.service:22: Failed to parse service type, ignori

gentle kestrel
#

chmod 777

heady raven
#

I'm actually pretty good at this.. pi lite - it installs without "issue" running it is another story.

gentle kestrel
#

Did you say yes to stuff and let it set up a meshbot user

heady raven
#

no chmod - i'm the only user.

gentle kestrel
#

So you did or didn’t use install?

#

Install only sets up meshbot

heady raven
#

#./install.sh ######################## Meshing Around Installer ######################## This script will try and install the Meshing Around Bot and its dependencies.Installer works best in raspian/debian/ubuntu, if there is a problem, try running the installer again. Checking for dependencies... Install path not writable, try running the installer with sudo

#

#sudo ./install.sh ######################## Meshing Around Installer ######################## This script will try and install the Meshing Around Bot and its dependencies.Installer works best in raspian/debian/ubuntu, if there is a problem, try running the installer again. Checking for dependencies... Are You installing into an embedded system like a luckfox? (y/n)

#

Without throwing bunch of data- the result is this...
service files updated to start mesh bot service: systemctl start mesh_bot Config file updated for embedded To install the mesh_bot service and keep notes, copy and paste the following commands: sudo cp /opt/meshing-around/mesh_bot.service /etc/systemd/system/mesh_bot.service sudo systemctl daemon-reload sudo systemctl enable mesh_bot.service sudo systemctl start mesh_bot.service sudo systemctl status mesh_bot.service To see logs and stop the service: sudo journalctl -u mesh_bot.service sudo systemctl stop mesh_bot.service sudo systemctl disable mesh_bot.service Installation complete! wh6gxz@wh6gxzmesh:/opt/meshing-around $

#

sudo systemctl status mesh_bot.service × mesh_bot.service - MESH-BOT Loaded: loaded (/etc/systemd/system/mesh_bot.service; enabled; preset: enabled) Active: failed (Result: exit-code) since Fri 2025-01-03 06:54:04 HST; 41min ago Duration: 367ms Main PID: 615 (code=exited, status=0/SUCCESS) CPU: 347ms Jan 03 06:54:04 wh6gxzmesh systemd[1]: mesh_bot.service: Scheduled restart job, restart counter is at 5. Jan 03 06:54:04 wh6gxzmesh systemd[1]: Stopped mesh_bot.service - MESH-BOT. Jan 03 06:54:04 wh6gxzmesh systemd[1]: mesh_bot.service: Start request repeated too quickly. Jan 03 06:54:04 wh6gxzmesh systemd[1]: mesh_bot.service: Failed with result 'exit-code'. Jan 03 06:54:04 wh6gxzmesh systemd[1]: Failed to start mesh_bot.service - MESH-BOT. Jan 03 07:24:56 wh6gxzmesh systemd[1]: /etc/systemd/system/mesh_bot.service:22: Failed to parse service type, ignoring: notify #try si> Jan 03 07:25:15 wh6gxzmesh systemd[1]: /etc/systemd/system/mesh_bot.service

odd void
#

can you run sudo journalctl -u mesh_bot

heady raven
#

-- Boot 344f46248bd04f9bb5b8bc0b104cb112 --
Jan 03 01:12:33 wh6gxzmesh systemd[1]: Started mesh_bot.service - MESH-BOT.
Jan 03 01:12:34 wh6gxzmesh bash[577]: Traceback (most recent call last):
Jan 03 01:12:34 wh6gxzmesh bash[577]: File "/opt/meshing-around/mesh_bot.py", line 14, in <module>
Jan 03 01:12:34 wh6gxzmesh bash[577]: from modules.log import *
Jan 03 01:12:34 wh6gxzmesh bash[577]: File "/opt/meshing-around/modules/log.py", line 72, in <module>
Jan 03 01:12:34 wh6gxzmesh bash[577]: file_handler_sys = TimedRotatingFileHandler('logs/meshbot.log', when='midnight', backupCount>
Jan 03 01:12:34 wh6gxzmesh bash[577]:

#

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^>
Jan 03 01:12:34 wh6gxzmesh bash[577]: File "/usr/lib/python3.11/logging/handlers.py", line 214, in init
Jan 03 01:12:34 wh6gxzmesh bash[577]: BaseRotatingHandler.init(self, filename, 'a', encoding=encoding,
Jan 03 01:12:34 wh6gxzmesh bash[577]: File "/usr/lib/python3.11/logging/handlers.py", line 58, in init
Jan 03 01:12:34 wh6gxzmesh bash[577]: logging.FileHandler.init(self, filename, mode=mode,
Jan 03 01:12:34 wh6gxzmesh bash[577]: File "/usr/lib/python3.11/logging/init.py", line 1181, in init
Jan 03 01:12:34 wh6gxzmesh bash[577]: StreamHandler.init(self, self._open())
Jan 03 01:12:34 wh6gxzmesh bash[577]: ^^^^^^^^^^^^
Jan 03 01:12:34 wh6gxzmesh bash[577]: File "/usr/lib/python3.11/logging/init.py", line 1213, in _open
Jan 03 01:12:34 wh6gxzmesh bash[577]: return open_func(self.baseFilename, self.mode,
Jan 03 01:12:34 wh6gxzmesh bash[577]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 03 01:12:34 wh6gxzmesh bash[577]: PermissionError: [Errno 13] Permission denied: '/opt/meshing-around/logs/meshbot.log'
Jan 03 01:12:34 wh6gxzmesh systemd[1]: mesh_bot.service: Control process exited, code=exited, status=1/FAILURE
Jan 03 01:12:34 wh6gxzmesh systemd[1]: mesh_bot.service: Failed with result 'exit-code'.
Jan 03 01:12:35 wh6gxzmesh systemd[1]: mesh_bot.service: Scheduled restart job, restart counter is at 1.
lines 1-26

#

long file sorry

#

4 or 5 clean installs...

#

This is the only way I could get meshtastic and the cli working...
Using pipx as an alternative to pip3 if externally-managed-environment error is encountered sudo apt install pipx && pipx install "meshtastic[cli]" If using pipx it may be necessary to update $PATH by running: pipx ensurepath

#

externally-managed-environment error is encountered... the error that dogs me the most...

#

./launch.sh
Please provide a bot to launch (pong/mesh) or a report to generate (html/html5)

#

./mesh_bot.py
Traceback (most recent call last): File "/opt/meshing-around/./mesh_bot.py", line 14, in <module> from modules.log import * File "/opt/meshing-around/modules/log.py", line 72, in <module> file_handler_sys = TimedRotatingFileHandler('logs/meshbot.log', when='midnight', backupCount=log_backup_count) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/logging/handlers.py", line 214, in __init__ BaseRotatingHandler.__init__(self, filename, 'a', encoding=encoding, File "/usr/lib/python3.11/logging/handlers.py", line 58, in __init__ logging.FileHandler.__init__(self, filename, mode=mode, File "/usr/lib/python3.11/logging/__init__.py", line 1181, in __init__ StreamHandler.__init__(self, self._open()) ^^^^^^^^^^^^ File "/usr/lib/python3.11/logging/__init__.py", line 1213, in _open return open_func(self.baseFilename, self.mode, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ PermissionError: [Errno 13] Permission denied: '/opt/meshing-around/logs/meshbot.log' wh6gxz@wh6gxzmesh:/opt/meshing-around $

#

the big offender
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: '/opt/meshing-around/logs/meshbot.log'
wh6gxz@wh6gxzmesh:/opt/meshing-around $

#

Ironically I've gotten pretty fast at the install... the directions work etc.. can go from 0 to hero in maybe a 1/2hr... MPWRD

lone wolf
# heady raven I'm actually pretty good at this.. pi lite - it installs without "issue" running...

I feel like you are inflicting pain on yourself, and not following the suggestions offered here. I hope that I'm wrong.

  1. Start over using a Debian based OS that isn't a light version of anything on your Raspberry Pi. The docker version is using a base of Debian Bookworm, but Ubuntu should also be fine so that would be the most recommended.
  2. Run the install script as documented in the repo at https://github.com/SpudGunMan/meshing-around. You should allow it to create a user for security reasons. Don't use sudo unless the documentation calls for it.
  3. Launch it using the launch.sh script and add an argument to call the specific bot you want. I'm assuming in this case it is the mesh bot, so use ./launch.sh mesh without quotes.

@gentle kestrel please correct me where I'm wrong. I run mine from docker and haven't looked back.

GitHub

BBS Mesh Scripts for Meshtastic. Contribute to SpudGunMan/meshing-around development by creating an account on GitHub.

heady raven
#

I have followed that url faithfully done that...
maybe docker version 🤪

#

yeah I follwed those to the "t" a few times. Didn't install the docker ver- ran sudo only when there was no other way...

odd void
#

This is the error: PermissionError: [Errno 13] Permission denied: '/opt/meshing-around/logs/meshbot.log'

#

its in all of your log output

#

the install.sh script probably needs to ensure permissions are set correctly for /opt/meshing-around

#

can you do a sudo ls -l /opt/meshing-around real quick for me

heady raven
#

sudo ls -l /opt/meshing-around
total 240
-rw-r--r-- 1 root root 6896 Jan 3 07:33 config.ini
-rw-r--r-- 1 root root 6901 Jan 3 01:26 config.old
-rw-r--r-- 1 root root 6911 Jan 3 00:40 config.template
-rw-r--r-- 1 root root 118 Jan 3 00:40 CONTRIBUTING.md
drwxr-xr-x 2 meshbot meshbot 4096 Jan 3 01:01 data
-rw-r--r-- 1 root root 640 Jan 3 00:40 Dockerfile
-rw-r--r-- 1 root root 233 Jan 3 00:40 entrypoint.sh
drwxr-xr-x 3 root root 4096 Jan 3 07:33 etc
-rwxr-xr-x 1 root root 10693 Jan 3 00:40 install.sh
-rwxr-xr-x 1 root root 807 Jan 3 00:40 launch.sh
-rw-r--r-- 1 root root 35148 Jan 3 00:40 LICENSE
drwxr-xr-x 2 meshbot meshbot 4096 Jan 3 01:01 logs
-rwxr-xr-x 1 root root 67007 Jan 3 00:40 mesh_bot.py
drwxr-xr-x 4 root root 4096 Jan 3 01:01 modules
-rw-r--r-- 1 root root 25 Jan 3 00:40 news.txt
-rwxr-xr-x 1 root root 20682 Jan 3 00:40 pong_bot.py
-rw-r--r-- 1 root root 23683 Jan 3 00:40 README.md
-rw-r--r-- 1 root root 124 Jan 3 00:40 requirements.txt
-rw-r--r-- 1 root root 182 Jan 3 00:40 runShell.sh
-rw-r--r-- 1 root root 1204 Jan 3 00:40 sysEnv.sh
drwxr-xr-x 5 root root 4096 Jan 3 00:41 venv

odd void
#

huh its all root

heady raven
#

except meshbot

odd void
#

@gentle kestrel these should all be meshbot:meshbot right?

heady raven
#

I don't I saw a "chown" "chmod" in the script... looked through most of them... took awhile.

odd void
#

go ahead and run sudo chown -R meshbot. /opt/meshing-around

#

dont forget the .

heady raven
#

sudo chown -R meshbot. /opt/meshing-around
chown: warning: '.' should be ':': ‘meshbot.’

#

sudo ls -l /opt/meshing-around
total 240
-rw-r--r-- 1 meshbot meshbot 6896 Jan 3 07:33 config.ini
-rw-r--r-- 1 meshbot meshbot 6901 Jan 3 01:26 config.old
-rw-r--r-- 1 meshbot meshbot 6911 Jan 3 00:40 config.template
-rw-r--r-- 1 meshbot meshbot 118 Jan 3 00:40 CONTRIBUTING.md
drwxr-xr-x 2 meshbot meshbot 4096 Jan 3 01:01 data
-rw-r--r-- 1 meshbot meshbot 640 Jan 3 00:40 Dockerfile
-rw-r--r-- 1 meshbot meshbot 233 Jan 3 00:40 entrypoint.sh
drwxr-xr-x 3 meshbot meshbot 4096 Jan 3 07:33 etc
-rwxr-xr-x 1 meshbot meshbot 10693 Jan 3 00:40 install.sh
-rwxr-xr-x 1 meshbot meshbot 807 Jan 3 00:40 launch.sh
-rw-r--r-- 1 meshbot meshbot 35148 Jan 3 00:40 LICENSE
drwxr-xr-x 2 meshbot meshbot 4096 Jan 3 01:01 logs
-rwxr-xr-x 1 meshbot meshbot 67007 Jan 3 00:40 mesh_bot.py
drwxr-xr-x 4 meshbot meshbot 4096 Jan 3 01:01 modules
-rw-r--r-- 1 meshbot meshbot 25 Jan 3 00:40 news.txt
-rwxr-xr-x 1 meshbot meshbot 20682 Jan 3 00:40 pong_bot.py
-rw-r--r-- 1 meshbot meshbot 23683 Jan 3 00:40 README.md
-rw-r--r-- 1 meshbot meshbot 124 Jan 3 00:40 requirements.txt
-rw-r--r-- 1 meshbot meshbot 182 Jan 3 00:40 runShell.sh
-rw-r--r-- 1 meshbot meshbot 1204 Jan 3 00:40 sysEnv.sh
drwxr-xr-x 5 meshbot meshbot 4096 Jan 3 00:41 venv

odd void
#

thats fine, idk why bash whines about that syntax but its valid

#

try restarting the service now

heady raven
#

`systemctl status mesh_bot.service
× mesh_bot.service - MESH-BOT
Loaded: loaded (/etc/systemd/system/mesh_bot.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Fri 2025-01-03 08:05:57 HST; 1min 39s ago
Duration: 1.066s
Process: 1117 ExecStart=/usr/bin/bash launch.sh mesh (code=exited, status=0/SUCCESS)
Process: 1121 ExecStop=pkill -f mesh_bot.py (code=exited, status=1/FAILURE)
Main PID: 1117 (code=exited, status=0/SUCCESS)
CPU: 1.072s

Jan 03 08:05:57 wh6gxzmesh systemd[1]: mesh_bot.service: Scheduled restart job, restart counter is at 5.
Jan 03 08:05:57 wh6gxzmesh systemd[1]: Stopped mesh_bot.service - MESH-BOT.
Jan 03 08:05:57 wh6gxzmesh systemd[1]: mesh_bot.service: Consumed 1.072s CPU time.
Jan 03 08:05:57 wh6gxzmesh systemd[1]: mesh_bot.service: Start request repeated too quickly.
Jan 03 08:05:57 wh6gxzmesh systemd[1]: mesh_bot.service: Failed with result 'exit-code'.
Jan 03 08:05:57 wh6gxzmesh systemd[1]: Failed to start mesh_bot.service - MESH-BOT.`

#

Jan 03 08:08:27 wh6gxzmesh systemd[1]: Started mesh_bot.service - MESH-BOT. Jan 03 08:08:27 wh6gxzmesh bash[654]: 2025-01-03 08:08:27,981 | DEBUG | System: Initializing Interface1 Jan 03 08:08:27 wh6gxzmesh bash[654]: 2025-01-03 08:08:27,982 | CRITICAL | System: script abort. Initializing Interface1 [Errno 111] C> Jan 03 08:08:28 wh6gxzmesh systemd[1]: mesh_bot.service: Control process exited, code=exited, status=1/FAILURE Jan 03 08:08:28 wh6gxzmesh systemd[1]: mesh_bot.service: Failed with result 'exit-code'. Jan 03 08:08:28 wh6gxzmesh systemd[1]: mesh_bot.service: Consumed 1.028s CPU time. Jan 03 08:08:28 wh6gxzmesh systemd[1]: mesh_bot.service: Scheduled restart job, restart counter is at 4. Jan 03 08:08:28 wh6gxzmesh systemd[1]: Stopped mesh_bot.service - MESH-BOT. Jan 03 08:08:28 wh6gxzmesh systemd[1]: mesh_bot.service: Consumed 1.028s CPU time. Jan 03 08:08:28 wh6gxzmesh systemd[1]: Started mesh_bot.service - MESH-BOT. Jan 03 08:08:29 wh6gxzmesh bash[659]: 2025-01-03 08:08:29,412 | DEBUG | System: Initializing Interface1 Jan 03 08:08:29 wh6gxzmesh bash[659]: 2025-01-03 08:08:29,414 | CRITICAL | System: script abort. Initializing Interface1 [Errno 111] C> Jan 03 08:08:29 wh6gxzmesh systemd[1]: mesh_bot.service: Control process exited, code=exited, status=1/FAILURE

#

systemctl status mesh_bot.service

#

don't need sudo

odd void
#

do sudo journalctl -u mesh_bot again now

heady raven
#

-- Boot 344f46248bd04f9bb5b8bc0b104cb112 --
Jan 03 01:12:33 wh6gxzmesh systemd[1]: Started mesh_bot.service - MESH-BOT.
Jan 03 01:12:34 wh6gxzmesh bash[577]: Traceback (most recent call last):
Jan 03 01:12:34 wh6gxzmesh bash[577]: File "/opt/meshing-around/mesh_bot.py", line 14, in <module>
Jan 03 01:12:34 wh6gxzmesh bash[577]: from modules.log import *
Jan 03 01:12:34 wh6gxzmesh bash[577]: File "/opt/meshing-around/modules/log.py", line 72, in <module>
Jan 03 01:12:34 wh6gxzmesh bash[577]: file_handler_sys = TimedRotatingFileHandler('logs/meshbot.log', when='midnight', backupCount>
Jan 03 01:12:34 wh6gxzmesh bash[577]:

#

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^>
Jan 03 01:12:34 wh6gxzmesh bash[577]: File "/usr/lib/python3.11/logging/handlers.py", line 214, in init
Jan 03 01:12:34 wh6gxzmesh bash[577]: BaseRotatingHandler.init(self, filename, 'a', encoding=encoding,
Jan 03 01:12:34 wh6gxzmesh bash[577]: File "/usr/lib/python3.11/logging/handlers.py", line 58, in init
Jan 03 01:12:34 wh6gxzmesh bash[577]: logging.FileHandler.init(self, filename, mode=mode,
Jan 03 01:12:34 wh6gxzmesh bash[577]: File "/usr/lib/python3.11/logging/init.py", line 1181, in init
Jan 03 01:12:34 wh6gxzmesh bash[577]: StreamHandler.init(self, self._open())
Jan 03 01:12:34 wh6gxzmesh bash[577]: ^^^^^^^^^^^^
Jan 03 01:12:34 wh6gxzmesh bash[577]: File "/usr/lib/python3.11/logging/init.py", line 1213, in _open
Jan 03 01:12:34 wh6gxzmesh bash[577]: return open_func(self.baseFilename, self.mode,
Jan 03 01:12:34 wh6gxzmesh bash[577]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 03 01:12:34 wh6gxzmesh bash[577]: PermissionError: [Errno 13] Permission denied: '/opt/meshing-around/logs/meshbot.log'
Jan 03 01:12:34 wh6gxzmesh systemd[1]: mesh_bot.service: Control process exited, code=exited, status=1/FAILURE
Jan 03 01:12:34 wh6gxzmesh systemd[1]: mesh_bot.service: Failed with result 'exit-code'.
Jan 03 01:12:35 wh6gxzmesh systemd[1]: mesh_bot.service: Scheduled restart job, restart counter is at 1.

#

DOE!

odd void
#

ok same error lol, run sudo ls -l /opt/meshing-around/logs/meshbot.log

#

its probably not writable

heady raven
#

sudo ls -l /opt/meshing-around/logs/meshbot.log
-rw-r--r-- 1 meshbot meshbot 2159 Jan 3 08:08 /opt/meshing-around/logs/meshbot.log

odd void
#

hmm no, that doesnt make sense... its rw by meshbot

#

change it just to see

#

sudo chmod 775 /opt/meshing-around/log/meshbot.log

heady raven
#

Same errors on the most part 🤪 I will do one more clean install when I understand why I run across some of these issues. 😎

odd void
#

why not try this, nuke it with sudo rm -rf /ope/meshing-around, then clone the repo fresh, and run install.sh as sudo, and when asked to do a venv choose yes

#

something is very borked

heady raven
#

going to work soon... I'll start over... give my brain sometime to think about this... HUG mahalo you all for being part of this... I'm learning a lot - I believe I can make this work... stay with me

heady raven
odd void
#

we'll get it figured out

#

if its happening to you it will/can happen to others so best to figure it out and get it fixed

heady raven
gentle kestrel
#

it looked like just ability to write logs was failing was all

#

Install try’s


sudo chown -R $whoami:$whoami $program_path/logs
    sudo chown -R $whoami:$whoami $program_path/data
odd void
#

i already had him do that

gentle kestrel
#

I would assume similar permissions for /dev/tty was also issue

odd void
#

the entire meshing-around dir as meshbot:meshbot

#

and then changing the logfile to 775 didnt help either

#

for whatever reason it cant access that logfile

gentle kestrel
odd void
#

when a user defines a custom user to run as, the systemd service invokes it as that user right?

#

99% sure the answer is yes

gentle kestrel
#

It should on first launch the real user typically needs to auth it once

heady raven
#

Did a clean install of the pi lite os. updated it. no issues...
sudo apt-get install python3 python3-pip
git clone https://github.com/spudgunman/meshing-around
later today...
Looking at your script I see...
sudo chown -R $whoami:$whoami $program_path/logs sudo chown -R $whoami:$whoami $program_path/data echo "Permissions set for meshbot on logs and data directories"
I'm going to work for real. be back on this later today... with aloha

gentle kestrel
#

Shouldn’t need wget preferably use git

#

The releases are, but development is constant

heady raven
#

I'll be your tester... this 🤪 I don't see an installed for meshtastic cli? I'm probabaly missing it somewhere.

#

I used this to do that...
sudo apt install pipx && pipx install "meshtastic[cli]"
I have not done that this time around- although I like using the cli

#

it works...
Can't use this command...
pip3 install --upgrade "meshtastic[cli]"
I can run pip on the command line - pip3 installs 🤪

gentle kestrel
#

Pipx is a whole different packager

#

Running that installed it into local machine

heady raven
# gentle kestrel Pipx is a whole different packager

I'm guessing then running this is not getting in the way of your install?
sudo apt install pipx && pipx install "meshtastic[cli]"
I found this when I got this error...
Using pipx as an alternative to pip3 if externally-managed-environment error is encountered

odd void
#

it probably would as its using pip3 with venv?

#

idk how pipx works on the backend though

heady raven
gentle kestrel
#

pull a new installer its got some new stuff

heady raven
gentle kestrel
#

I burned a SD card last night to check that distro out specifically! 🤙 will get around to it today sometime to test it more

heady raven
gentle kestrel
#

Ollama didn’t load in lite (Ollama issue) but mesh-bot seemed to load fine

prisma glacier
#

is there an option to complete ignore group channels, answering and triggering only via dm?

gentle kestrel
#

Yes
# ignoreDefaultChannel, the bot will ignore the default channel set above ignoreDefaultChannel = True

#

and # if False will respond on all channels but the default channel respond_by_dm_only = True

prisma glacier
#

yeah, i assumed the option only applies to the Primary channel

gentle kestrel
#

The combo will prevent any channel response

prisma glacier
#

aah!

#

thanks, i will try that

gentle kestrel
#

Yea, there is a limit I’m noticing it’s only the default aka index 0 I assumed any other channels people want the bot to listen to

prisma glacier
#

for me i'ts channel 1 i'd try to ignore

gentle kestrel
#

Yes just set the default channel to 1 in config.ini and the other two options true

prisma glacier
#

i just set it accordingly, hope it works 🙂

#

i'ts very useful to interact with something when nobody is there

#

thanks for the project!

gentle kestrel
heady raven
#

Jan 04 19:08:12 wh6gxzmesh systemd[1]: Started mesh_bot.service - MESH-BOT. Jan 04 19:08:12 wh6gxzmesh python3[604]: Important dependencies are not met, try install.sh Jan 04 19:08:12 wh6gxzmesh python3[604]: Did you mean to './launch.sh mesh' using a virtual environment. Jan 04 19:08:12 wh6gxzmesh systemd[1]: mesh_bot.service: Main process exited, code=exited, status=1/FAILURE Jan 04 19:08:12 wh6gxzmesh systemd[1]: mesh_bot.service: Failed with result 'exit-code'. Jan 04 19:08:13 wh6gxzmesh systemd[1]: mesh_bot.service: Scheduled restart job, restart counter is at 5. Jan 04 19:08:13 wh6gxzmesh systemd[1]: Stopped mesh_bot.service - MESH-BOT. Jan 04 19:08:13 wh6gxzmesh systemd[1]: mesh_bot.service: Start request repeated too quickly. Jan 04 19:08:13 wh6gxzmesh systemd[1]: mesh_bot.service: Failed with result 'exit-code'. Jan 04 19:08:13 wh6gxzmesh systemd[1]: Failed to start mesh_bot.service - MESH-BOT.

gentle kestrel
#

so I downloaded rasp-os-lite today git clone, install.sh, said yes to everything and it just worked, ollamma didnt go but..thats not me

#

says there Important dependencies are not met, try install.sh

#

Did you mean to './launch.sh mesh' using a virtual environment

#

I for sure saw the log fire and I for sure ran venv when i tested today

#

are you in UTF-8

#

did you modify pi-lite?

heady raven
#

yeah I follow this- not hard. no tricks- and i get the above. pi lite... no sudo really

#

it fails at launch

gentle kestrel
#

yea I tested this working good today on pi lite OS

#

can you screenshot how you run it

heady raven
#

./launch.sh
Virtual environment not found, this tool just launches the .py in venv

#

Jan 04 19:19:15 wh6gxzmesh systemd[1]: mesh_bot.service: Start request repeated too quickly.
Jan 04 19:19:15 wh6gxzmesh systemd[1]: mesh_bot.service: Failed with result 'exit-code'.
Jan 04 19:19:15 wh6gxzmesh systemd[1]: Failed to start mesh_bot.service - MESH-BOT.
Jan 04 19:25:54 wh6gxzmesh systemd[1]: /etc/systemd/system/mesh_bot.service:22: Failed to parse service type, ignoring: notify #try simpl>

gentle kestrel
#

Virtual environment not found, this tool just launches the .py in venv

#

once its working you can forget about it just .. backup!

#

whats that look like?

#

I ran it .. like 4 hours ago

#

it sounds like git didnt git anything ever

#

if you not just goofin, I ran this exact setup and if I do it again and it works .. then what?

#

that looks nice

heady raven
#

ran it again...

#

Failed to enable unit: Unit file .service.service does not exist.
Failed to start .service.service: Unit .service.service not found.

#

cp: cannot stat '/opt/meshing-around/etc/.service': No such file or directory

gentle kestrel
#

Detected embedded skipping venv this isnt rasp-os-lite

#

did you embed the stuff needed first by saying yes

#

or are you saying my "I said yes to everything" literally

#

say no to embedded

#

if you pull fresh it will now say Are You installing into an embedded system like a luckfox? most should say no here (y/n)

heady raven
#

yes luckfox...

gentle kestrel
#

so not a pi-lite?

#

you shouldnt see the question ever in a luckfox unless your in OLD code like 5+ days old

#

it uses the hostname

#

logic no compute

#

are you testing the limits of the script?

heady raven
#

ok i'm doing that wiith no--n the installing running more like I would expect it-

gentle kestrel
#

I dont know what you interfacing with at all

#

the screenshots of some stuff and not others suggests other things really

#

its sus level 4

heady raven
#

it was the firefox selection... I have a pi - it's no-

gentle kestrel
#

well this looks good anyway

#

positive progress to needed dependencies

heady raven
#

something as simple as yes no firefox... I do know a nit about linux...

gentle kestrel
#

well you got that far, your dooin fine think less about what you dont know and more about what you want to do 🙂

heady raven
gentle kestrel
#

for the foxbuntu OS on luckfox MCU this is in progress now

heady raven
#

yeah this is running in ways it never did. wow the first line firefox... wow killed me. yeah mesh bot bro

heady raven
#

Do you want to install the LLM Ollama components? (y/n)yes

#

yeah I can do this dispite the trip ups...

gentle kestrel
#

you can try

#

it wont harm nothing but disk space

heady raven
# gentle kestrel it wont harm nothing but disk space

For now I'm only going to run meshing-around on this OS. I have a variety of server envs. on other pi's and in the cloud to do other things with. 🙃
Mahalo for sticking with me- I have to say all this time it was that simple choice of Firefox? yes-no... somehow I didn't get WHAT - yes/no - meant on a pi os 🤪 hmm simple thing with consequences... ☠️

heady raven
#

systemctl status mesh_bot.service
● mesh_bot.service - MESH-BOT
Loaded: loaded (/etc/systemd/system/mesh_bot.service; enabled; preset: enabled)
Active: active (running) since Sat 2025-01-04 22:10:55 HST; 19min ago
Main PID: 643 (bash)
Tasks: 5 (limit: 3915)
CPU: 20.562s
CGroup: /system.slice/mesh_bot.service
├─643 /usr/bin/bash launch.sh mesh
└─649 python3 mesh_bot.py
MPWRD

heady raven
#

2734752213
wh6gxzmesh
12:07 AM
🏓PONG SNR:6.5 RSSI:-23

heady raven
gentle kestrel
heady raven
# gentle kestrel It’s possible yes, tbd as it depends on more stuff needed for install

Yeah, it's working pretty good... again, MAHALO NUI loa for sticking on it... The alpha ver- of linux creates theses nodes? num on the bottom - they go away when you refresh the node. I don't see it on the ios app. there is a bit of buggyness on the send. You don't always see a check on normal text, it will sen anyway or- it will send and not be acknowledge from a node I see... buggy. weird buggyness with node behavior at times- resolves...

jade briar
#

If you request weather is it from your location ?

heady raven
#

yes

#

the bot is running near by this node- when i invoke a cmd - afterward I can get this a message dimmed and yet it sends, or one that sends and not received by a node- odd. did not happen until the bot ran in the hood... weird. I don't think it a BOT issue. it's something... it does work. 🤪

#

wh6gxzmesh
08:12 AM
ToDay Isolated shwrs. Mostly sunny, with a high near 69. Calm wind becoming S 5 to 7 mph in the afternoon. Chance of precip is 20%.
ToNight Isolated shwrs. Partly cloudy, with a low around 56. SW wind around 6 mph becoming calm. Chance of precip is 20%.
Mon Isolated shwrs. Sunny, with a high near 69. S SE wind 5 to 7 mph becoming calm in the afternoon. Chance of precip is 20%.

odd void
#

yeah in my experience the web client has a lot of issues like that

stone lance
heady raven
heady raven
gentle kestrel
lone wolf
#

I recommend leaving the radio used by the bot alone. If you want to message others, it is best to do from a separate node. @stone lance is correct about the fight for control. While you are connected to it, the bot will not be able to respond.

heady raven
gentle kestrel
#

a new lab branch in test, has a new interface initalize sequence. most notable its expanded for 9 interfaces

#

I havent actually tested it but I saw 4 working somewhere

broken mountain
#

Hey @gentle kestrel some feedback on the EAS WX: it's hard to be useful in its current form due to the alerts not including the region for the advisories. I dont know how to handle this well with how the locations are specified. But I got this alert, and it's hard to tell how relevant or important this is with how my bot covers a ton of areas:

2025-01-05 13:20:25,053 |     INFO | Device:1 Channel:0 Chunker1/2 SendingChannel: 🚨 2 EAS WX ALERT: Flood Advisory issued Jan 5 at 3:07PM CST until Jan 5 at 5:00PM CST by NWS Memphis TN
2025-01-05 13:20:25,053 |     INFO | Device:1 Channel:0 Chunker2/2 SendingChannel: Wind Advisory issued Jan 5 at 3:06PM CST until Jan 6 at 12:00AM CST by NWS Memphis TN
gentle kestrel
#

and filtered by SAME

#

there is some expanded area details I think.. but they are very verbose sometimes

#

all that to say, I am putting the quick data in as provided

broken mountain
#

Understood -- Im just saying that the message that's sent is not very useful without including details of the location for the advisory

gentle kestrel
#

NWS Memphis TN isnt a location?

broken mountain
#

Thats the issuing office

gentle kestrel
#

as defined by the SAME filter yea

broken mountain
#

The best example of this is tornados, where it really doesnt matter at all except for where it's issued

#

The current approach pretty much forces me to only subscribe to one SAME

gentle kestrel
#

is there a SAME code which would always apply to that case?

broken mountain
#

and then also tell other people, who get these messages, that they're not relevant to them unless they live in ___

#

but even that's not obvious from the message that's sent

gentle kestrel
#

realistically there is 1-2 packets at 160charcters from a fed feed

broken mountain
#

yeah, all of this points to me just needing to disable this feature

gentle kestrel
#

the data provided is the data provided and all

broken mountain
#

ehhh, the data provided includes location, let me find the equivalent data for those messages.

gentle kestrel
#

I have found it depends on the reporting party yes

#

there is no reason it cant be added, but its gotta be there to add

#

I dont see any active alerts to check for this value to add

#

I thought I got it first whack as good as it could be, the SAME codes was the filter I used

broken mountain
#

Ill find some for ya in ~4 hours

#

And I have some examples of how NOAA built their slack bot summarizing these too, btw.

gentle kestrel
#

if there is specific parsing of the API and examples to filter, be interested to pull that in

#

my area this alerting isnt used well at all

#

the other day one old cell got an AMBER alert I didnt see it on the FEMA page .. I didnt know wtf strange

dusky abyss
#

could it ask geopy the city/county of the coordinates and tack that on to the alerts?

gentle kestrel
#

yes but when I sampled a few dozen alerts the geo polygon and such was a real mess didnt seem like all departments use it and so I slacked in making a "am i in the polygon"

#

i dont know the value of EAS so thats a big one, we get "wind warning" and thats about it its 50% accurate and only really happens this time of year

#

no geo tag its all on the SAME value

broken mountain
#

Here's the example of noaa bot showing those same two alerts

gentle kestrel
#

yea those values are not always there or sometimes assuemd via SAME from what I can tell

#

I need examples for the API directly

#

(no alerts right now federally to show)

broken mountain
#

Yeah sounds good, Ill investigate and even ask NOAA if I need to

gentle kestrel
#

when an alert comes in I will ping ya

#

I dont see them in the evening as much so could be tomorrow morning

#

which will give child URL for alerts

#

those child URL's are the ones with content

gentle kestrel
#

those are set for the GPS location of the bot

#

they work for a geo radius as per NOAA API

#

for my area i find EAS-NOAA > IPAWS for weather alerts

broken mountain
#

properties.areaDesc is what we want, I believe.

gentle kestrel
#

the exact is alert_url = "https://api.weather.gov/alerts/active.atom?point=" + str(lat) + "," + str(lon)

#

so you get the data for that

broken mountain
#

Yeah Im looking at the sauce here

#

Im going to explore reworking this a bit

gentle kestrel
#

ok, I also mistook FEMA vs NOAA alerts when you first mentioned it

#

if you have any better ideas please

#

I thought the geo alert_url = "https://api.weather.gov/alerts/active.atom?point=" + str(lat) + "," + str(lon) was good enough

#

if there is more data in that I can add

broken mountain
#

Yeah the targeting there is fine

gentle kestrel
#

for sure !

#

the catch 22 I had was: cap:areaDescIdaho Palouse; Lower Garfield and Asotin Counties; Washington Palouse</cap:areaDesc>

#

this is almost a packet its self Idaho Palouse; Lower Garfield and Asotin Counties; Washington Palouse

#

and I am worrysome about replacing words in the names of places .. so any input on how to better handle this is wonderful

gentle kestrel
#

I added a comment for ya to test

#

line 365 or so should have a block you can replace delete #old and un# the #new, on main or switch to lab

gentle kestrel
#

you will see it chunked it

#

the last e darnit .. its alaways .. one more

#

would it be stupid to camel case the or strip spaces from area desc?

#

i dont hate it ```
SendingChannel: Dense Fog Advisory issued Jan 5 at 3:12PM PST until Jan 6 at 12:00AM PST by NWS Spokane WA. IdahoPalouse;LowerGarfieldandAsotinCounties;WashingtonPalouse

#

@broken mountain 👀

#

here is an alert```
2025-01-05 16:00:06,548 | DEBUG | Location:Broadcasting weather alerts
2025-01-05 16:00:17,420 | DEBUG | System: Splitting #chunks: 2, Total length: 170
2025-01-05 16:00:17,420 | INFO | Device:1 Channel:2 Chunker1/2 SendingChannel: 🚨 1 EAS WX ALERT: Dense Fog Advisory issued Jan 5 at 3:12PM PST until Jan 6 at 12:00AM PST by NWS Spokane WA.
2025-01-05 16:00:17,421 | INFO | Device:1 Channel:2 Chunker2/2 SendingChannel: IdahoPalouse;LowerGarfieldandAsotinCounties;WashingtonPalouse

#

this is on lab, if you think of any improvments for sure add them (try and synch from lab)

broken mountain
#

Aha I didnt realize till I read this source, SAME is only used for fema ipaws eh

dusky abyss
#

just got a fema alert on the phone over here. would be neat to integrate that too 🙂

broken mountain
#

Be mindful first that there's https://apps.fema.gov/IPAWSOPEN_EAS_SERVICE/rest/feed integrated today, search through the sauce

#

@gentle kestrel this is gunna continue to be a nightmare I think, I have a kinda wild idea though that since NWS already is giving us a geojson with the geometry, maybe we can use that to come up with our own area description that's more terse.

#

ridiculously complex problem

#

Another idea, though idk how to do it, would be to grab other media releases that the offices do that correspond with specific alerts. Their twitter posts tend to be pretty concise and they do a good job of balancing how to use their chars.

gentle kestrel
#

hehe you see why i held back on it, I do think the new lab has a good enhancments you raised

broken mountain
#

its gunna be nutty though when you get an alert for 20 counties

gentle kestrel
gentle kestrel
#

like is county ok to shorten to CO.

#

is that ok in colorado?

#

is LA confusing for los ang and louisiana

broken mountain
#

No what I mean is, often that field lists county names

gentle kestrel
#

yea I camelCased it for now IdahoPalouse;LowerGarfieldandAsotinCounties;WashingtonPalouse

broken mountain
#

Here's an areaDesc on an active alert I'm in:
"DeSoto; Marshall; Benton; Tippah; Alcorn; Tishomingo; Tunica; Tate; Prentiss; Coahoma; Quitman; Panola; Lafayette; Union; Pontotoc; Lee; Itawamba; Tallahatchie; Yalobusha; Calhoun; Chickasaw; Monroe; Shelby; Fayette; Hardeman; McNairy; Hardin"

gentle kestrel
#

yea .. if you have any good ideas

broken mountain
#

Thats what Im toying with

#

NWS does a good job of picking out the best summary in their media products, but I think that depends on the human in the loop and they tailor it for each.

gentle kestrel
#

I do like the NWS reports they do have a feel of human

gentle kestrel
#

if you have sentinel enabled and its using the default channel 9 it will crash the node firmware.. I jsut updated the template but this was a goof up for sure. someone asked why I used 9 and .. there was no good reason and I see now its bad haha

#

lab is reasonable stable .. testing features with new refactors still

lone wolf
fallow crystal
gentle kestrel
#

just the added weight of another packet can be a lot in hops

fallow crystal
#

Mmhmm, fair.
I haven't been able to test a lot of stuff lately due to my node antennas on these heltecs being trash lmao

#

I got a RAK on the way with plans for a decent antenna and a waterproof box

#

Might see if I can install it on the roof of work or at our TX site :3

gentle kestrel
#

nice! just get it up high somewhere and it normally will do ok @fallow crystal

fallow crystal
#

Mmhmm!
For the Heltecs, got them decently high and I can see other nodes but TX range is less than 500 feet

#

I live across the street from my job and was getting little to no signal from the roof with Heltec-Heltec comms

gentle kestrel
#

Ooof, antenna outside?

fallow crystal
#

As close as I can get my home nodes, sticking out an open window

#

Actually it’s more like 1000 feet LoS but

#

apparently the Heltec V3's antennas are tuned for somewhere in-between the 800 and 900 mhz bands and preform crappily on both of em

#

The farthest I can hear with the Stock antenna is about 1.7 miles (2.8km), but that's hit or miss at a very poor SNR, and I can't talk that far.

#

You'd have to be within 1000 feet of my nodes

gentle kestrel
#

well thats not bad, and yea you will enjoy a better antenna for sure

#

remember to stay legal

fallow crystal
#

Oh 100%, I am a licensed HAM so I know how interesting the FCC is :3

gentle kestrel
#

new in lab: There is a web-server module you can run python modules/web.py from the project root directory and it will serve up the web content. by default. http://localhost:8420

lone wolf
#

I won't say what I actually call the beady antenna that came with my heltec, but it kicked the crap out of what came with the t-echo. Aside from the N-Type antennas it has been the best so far.

gentle kestrel
#

im really happy with the new lab build and interface work it seems stable so far Im gonna let it ride for a few days and pull it in to main

#

I have tested 2 interfaces .. i just assume 9 work will try 3 later (2 radio and a mqtt)

#

if anyone uses sentinal feature please let me know its still working well

#

I refactored it hard

#

works for me but .. at the moment I forget how it worked on dual radio before need to check I didnt make a mess

#

and if anyone goes nuts with testing high node count. please let me know haha I dont have the setup at the moment to test harder

#

like how bad is cpu and such if you ask for LLM from 4 bots or wiki query from 4 monitoring the same channel

#

issue a bbslink on a private frequency and see how bad it gets

#

can meshtastic or mesh-bot be ddos?

gentle kestrel
gentle kestrel
#

new docker stuff is on lab now

odd void
#

unless, UNLESS, you set the bbs node as ROUTER_LATE or something

#

then it doesnt gaf about tx windows (as i understand it)

#

maybe a dev will correct me

#

@midnight oxide youre online, does router_late bypass tx window entirely or does it only skip the timing delay process

midnight oxide
#

my understanding was it adds an offset to the timeslot calcultion to broadcast behind a client.

#

but i ony skimmed that changeset 🙂

#

nothing authoriative here.

sullen olive
#

It achieves this by adding an offset equal to the worst-case CLIENT upon overhearing a duplicate transmission of the packet.

fallow crystal
#

Hope this helps
They all also use the Common Alerting Protocol standards between them, so should be easy enough to integrate :3

gentle kestrel
fallow crystal
#

Well, these CAP servers all serve emergency and meteorological info in a standardized format, so if you write a generic CAP parser you would only need a single parser for any of the multitude of countries

gentle kestrel
#

Mostly a matter of testing and confirming it’s valuable data

#

Being hosted on Amazon and it says it’s “free” it also looks like a exposed managed service API

#

Reliance of the data is important

#

If I build something and it’s pulled a week later or no one uses it ever because it’s junk alerts

#

No one has said oh yea this looks like good data which would be handy in my area

#

Like the gov.uk it seemingly wasn’t interesting to any users

#

And it seems like anyone wanting to report is also interested in building their own way to handle it

#

Pure slacking on my behalf

fallow crystal
#

Oh I wasn’t actually talking about pulling from the alert hub api, more like using their list as a reference for making a CAP parser
I could look into making a general alerts plugin but I’ve been swamped with life and work lately aaa

gentle kestrel
#

I don’t think the CAP feeds are public sourced it’s all proprietary

fallow crystal
#

They have sources in the sources page

#

and CAP is an open protocol

#

All the feeds those people use are public

gentle kestrel
#

I can’t find any of these feeds anywhere but that page

#

Why I wasn’t eager yet to slurp them

fallow crystal
#

Not all of them it seems
CAP Canada I know is open, as well as a few of the others
I'll look into it tomorrow, I am off of work and I can see if I can make my own list

gentle kestrel
#

I asked in the Canada social if it would be cool to have a feed and I was told it’s on phones and not wanted so I didn’t bother

fallow crystal
#

I think they thought of it like NPAS, where NPAS can get annoying.
the NAAD feed has much more than what goes over NPAS, just like what NWS sends versus what is sent over IPAWS and NOAA Weather Radio

quasi escarp
#

This is awesome

midnight oxide
#
on its Open Data server at https://opendata.dwd.de.

Access is granted without registration. The following terms of use apply:
https://www.dwd.de/EN/service/copyright/copyright_node.html.```
gentle kestrel
#

appears to be the source of the CAP anyway

#

here is a live element

#

the CAP is in english I notice vs native language

midnight oxide
#

yes, that's the source. on the opendata server you find smaller chunked cap files. and also the description of the dwd variant format in both DE amd EN

gentle kestrel
#

So that will be given priority for DE area

midnight oxide
#

NINA is one of the consumers of the DWD CAP data. They host a superset of stuff. DWD only provides severe weather data, NINA also accumulates achtual emergency warnings from local responders. Like 'close windows, fire with heavy smoke in your area'

gentle kestrel
#

Cool that sounds better, similar to the fema feed here in states. Will be getting those bits in soon

fallow crystal
gentle kestrel
#

If you happen to be testing lab branch it just got major refactoring for the multi interface

#

Docker is also building a basic image again

gentle kestrel
#

seems stable enough.. main got a major overhaul for multiple nodes up to 9

#

lab has the new NINA alerts in testing NINA alerts in main

#

they do need confirmed tested good

#

only things I havent fully vetted yet is the new Docker ideas @broken mountain but the rest is in main

#

I also havent actually tested the NINA alerts

#

and I havent validated high scores in blackjack and few others, as working perfect in multiple interface (like a user playing on radio #4 and correctly logging your HS name)

#

if anyone finds a bug I left a DEBUG note to say "this dont work" I just dont have time right now to get a high score on interface <2

stone lance
gentle kestrel
#

Meshtastic API limits are the guiding factor

#

I don’t know how well or if 9 network attached nodes play well

#

I know 2 will

#

I do limit to a single BLE interface still

heady raven
#

Aloha all, hopefully this not to duh of a Q how do you get this - looked at the files which are in default. tried a few urls etc. I want to start using this - mahalo

gentle kestrel
#

I have a Python web server in modules which if launched from the project root will serve it up. Or you can point your own web server to the index or you can move the whole web output somewhere

#

I don’t have detailed instruction for any service or chron to automate the details at the moment leaving it to end user

heady raven
gentle kestrel
#

? python modules/web.py

#

If you run it somehow different it won’t likely find webroot on its own

heady raven
#

python modules/web.py I pulled this from your docs

gentle kestrel
#

yea if you need to python3 vs python change that

heady raven
#

yeah I tried
#find -name web.py didn't see it - maybe I'll try to point my own web server to the index ../etc/www
So I found your web.py script on your GitHub. I'm going to copy it over to my local directory and run it. See what happens.

odd void
#

Whoa how did I never know there was a web interface for meshingaround....

gentle kestrel
#

(Works if you git cloned)

heady raven
acoustic sable
#

putting in a request for one of the greatest BBS games from back in the day Legend of the Red Dragon :p

dusky abyss
#

Psh, Tradewars

gentle kestrel
#

I have thought about adding a custom game. bits of code stashed all over.

If I get time this weekend gonna try and add a checkin /out idea

#

Not as fun but, been preoccupied with #1329096340700921898 Which gives an embedded platform to goof with, mesh-bot on rails in a way

#

A portable bot brings new ideas for fun

gentle kestrel
#

@craggy bobcat I have inital working concept for checkin/out now

#
# CheckList Checkin/Checkout
[checklist]
enabled = False
checklist_db = data/checklist.db
#

commands checkin checkout

#

this OG chat is now implimented

gentle kestrel
#

another idea pressed in ```ini
[qrz]

QRZ Hello to new nodes with message

enabled = False
qrz_db = data/qrz.db
qrz_hello_string = "send CMD or DM me for more info."

#

this isnt QRZ.com but the Q code for who is calling

#

if any text message is RX the bot will respond one time only with a canned message

gentle kestrel
#

Cleaned up a stack of bugs and enhanced those features some more they turned out real nice I think

brittle atlas
#

I am getting this error during installation, venv method. I installed sqlite3, but I still get the error. Anyone know?

gentle kestrel
#

Let me remove it, I think it’s native and I shouldn’t have put it there at all

brittle atlas
#

I am using Ubuntu btw

gentle kestrel
#

Pull a change or remove it from requirements locally

#

Nice yea just made sure it’s working here. Slacked off and didn’t before!

@brittle atlas thanks for catching it

gentle kestrel
brittle atlas
heady raven
# brittle atlas All working fine. Thanks! 👍

I've been running the BOT for awhile now- I'm good! Having fun exploring the options. BTW: for those intreseted in installing this - do it... yeah I had a background in IT a long time ago - I'm nurse dude, if I can do it.. Mahalo spudgunman 🤙

gentle kestrel
#

I reticulated some splines

round skiff
#

Hi @gentle kestrel, does the EAS Alerts functionality (https://github.com/spudgunman/meshing-around?tab=readme-ov-file#eas-alerts) of your Mesh Bot project cover any Common Alerting Protocol (CAP) (https://www.undrr.org/early-warnings-for-all/common-alerting-protocol) compliant rss/atom feed?

There's lots of them worldwide:

https://alert-hub.s3.amazonaws.com/cap-sources.html

The Common Alerting Protocol (CAP) is the international standard format for emergency alerting and public warning. It has been developed by the Organization for the Advancement of Structures Information Standards and adopted by the International Telecommunication Union (ITU).

GitHub

BBS Mesh Scripts for Meshtastic. Contribute to SpudGunMan/meshing-around development by creating an account on GitHub.

midnight oxide
#

CAP is something every provider of a feed interprets in his own way. IIRC the bot consumes a CAP compatible feed for the german NINA alert system.

#

but it's not as simple as saying 'this is a CAP feed, please use this now'

gentle kestrel
midnight oxide
#

there's too much wiggle room in the specs for an universal CAP parser. especially the state machine is open to interpretation.

#

(e.g. what happens if warning levels increase, decrease or are revoked?)

round skiff
#

Damn. I was hoping it would be easy.

gentle kestrel
#

Same, do you have one you want? @round skiff I assume NZ?

#

What about tides, know of a local gps to tide could also possibly sniff

round skiff
#
gentle kestrel
#

Will try to get at least the main feed. and tide should be easy

round skiff
gentle kestrel
#

The biggest issue is if you have 3 alerts let’s say go off multiple feeds it’s gonna make a hell of a mess in mesh

#

I actually have a earthquake map silly script been running for years now

#

I pondered it in the bot but, normally don’t need a warning in text you HAD an earthquake haha - your case is more noteworthy of pre warning but - I would assume the other service would advise - thin the alerts to “need to know”

round skiff
# gentle kestrel Do they replicate these quake ones on other systems?

My understanding is the geonet api is for all quakes, regardless of how minor:

https://www.geonet.org.nz/earthquake gives a pretty map of all our constant shaking.

I think (not sure) that if the event it significant enough, it'll trigger other warnings to be issued.

Like, if a huge quake happens elsewhere in the Pacific, wave height sensors will trigger a tsunami alert.

gentle kestrel
#

I added all this to my feature list list anyway

gentle kestrel
#

This is a new enhancement, if this made sense above. I should have done this a while ago

#

Cmd is my replacement for the word help

#

I didn’t want to have anyone say or use “help” unless they need it

#

Including all dialog or bot interface

#

I fell back to CMD no good reason

#

It prints on mesh as CMD? So it won’t dupe another bot

round skiff
odd void
#

fun fact i just learned, if you have something such as the meshing-around bot running on your device, meshsense will not work

gentle kestrel
#

If you wish to do this today using a local MQTT server to consolidate apps to node is needed

odd void
#

Not complaining just mentioning in case others run into my problem

#

I rebooted and forgot I stopped but didnt disable meshing-around (testing) and was confused

gentle kestrel
#

Same issues will happen if you manage a device via CLI and have BLE open to the same node or if you try and change things via admin too much while the bot is running. Serial device and all

gentle kestrel
#

The UK alerts don’t work at all that website I’m using isn’t ideal for scrape

#

This is the first alert I have seen on the page and ooof

odd void
#

what website/page are you scraping?

gentle kestrel
#

They don’t provide an API I have found yet

odd void
#

got a specific link?

#

i have a regex fetish and scrape websites with bash. i may be insane enough to be of assistance.

gentle kestrel
#

The biggest issue I see it’s very verbose and not directly stating the issue

#

Also it’s broken up into 3 paragraphs “upper” “middle” and “lower” haha

#

Can I trust middle will always have the content?

#

The data likely sits here <p class="govuk-body-l govuk-!-margin-bottom-4">A RED warning for wind has been issued. Extremely strong winds associated with Storm Éowyn are expected to cause significant disruption from 10am on Friday 24 January 2025. Strong winds can present a danger to life, causing flying debris, falling trees and large waves around coastal areas. Stay indoors if you can. It is unsafe to drive in these conditions. Avoid coastal areas.</p>

#

But that’s a lot of text

#

Also there are 4 div’s named the same thing - oooof

#

And to state “where in the world”

I would need to also send <h2 class="alerts-alert__title govuk-heading-s govuk-!-margin-bottom-3">
<span class="govuk-visually-hidden">Emergency alert sent to </span>Argyll and Bute, City of Edinburgh, Clackmannanshire, Dumfries and Galloway, East Ayrshire, East Dunbartonshire, East Lothian, East Renfrewshire, Falkirk, Fife, Glasgow City, Inverclyde, Midlothian, North Ayrshire, North Lanarkshire, Renfrewshire, Scottish Borders, South Ayrshire, South Lanarkshire, Stirling, West Dunbartonshire and West Lothian
</h2>

odd void
#

ok heres the gross way to do it in bash, it works well though

#

curl -s https://www.gov.uk/alerts/current-alerts | egrep -A1 "(alerts-alert__title|govuk-body-l)" | sed 's/<[^>]*>//g' | sed '/^$/d' | sed '/^[-]/d' | sed 's/^[[:blank:]]*\(Emergency alert sent to .*$\)/\1/' | sed 's/[[:blank:]]*\(Issued by the .*$\)/\1\n/'

#

basically what youll want to parse for is:

alerts-alert__title the line following this is the title you want

govuk-body-l the only occurrences of this class are the contents you want

#

from there just strip it

#

those two classes/divs are unique to the data you want

#

@gentle kestrel let it be known that i may provide jank but its quality jank

gentle kestrel
gentle kestrel
#

Like 5-8 mesh bubbles at 160

#

There is also no way to GeoLocate with this web data

#

Finding a good way to handle the Amazon CAP page would be a better working model

stone lance
#

I'll tap up that blogger, see if he can think of a better source.

#

Can bribe him with a node 😉

odd void
#

and yeah ideally youd do it somehow in python... but i have a hammer

#

and brother, everythings a nail

gentle kestrel
unborn flint
#

Hey folks, I know we have chatted a while ago about mqtt functionality. I’m happy with how it works! But with chunked messages, only one messages comes over mqtt. Is there a solution for this that I’ve missed?

Thanks for the awesome app!

gentle kestrel
unborn flint
#

Raspberry pi with node connected via serial. Internet through network connection

gentle kestrel
unborn flint
unborn flint
#

And apparently I have to tweak some settings so it syncs time properly. 🤷‍♂️

gentle kestrel
unborn flint
#

Node is in client. And is connected via WiFi tcp to MQTT.

gentle kestrel
#

I don’t suspect the bot is the issue per se, you can add a delay for packets and that might help (on config.ini) ```ini

delay in seconds for response to avoid message collision

responseDelay = 1.2

delay in seconds for splits in messages to avoid message collision

splitDelay = 0.0

#

The splitDelay, try some values like 0.2 or 0.8 and see if it helps

unborn flint
gentle kestrel
#

Something is odd, I don’t get out of order or missing

unborn flint
#

Bot connected to node.

gentle kestrel
gentle kestrel
#

Also what firmware rev?

gentle kestrel
unborn flint
#

2.5.15. I just upgraded to 2.5.18 since I had to check serial configuration, haven’t checked if that fixed problem.

brittle atlas
#

I am getting this error when running the mesh bot. Not sure what the issue is. I tried the env option and without too. with or without the meshbot user. Not sure whats wrong. any ideas? Ubuntu

gentle kestrel
brittle atlas
#

It works fine when I run sudo ./launch.sh

#

It seems to fail on the reboot

#

'chris@serverN100:/opt/meshing-around$ sudo ./launch.sh mesh
2025-01-29 18:00:48,971 | DEBUG | System: Initializing Interfaces
2025-01-29 18:00:50,491 | DEBUG | System: Initalized Radio Device1 Node Number: 3663944680

Meshtastic Autoresponder Bot CTL+C to exit

2025-01-29 18:00:50,492 | INFO | System: Autoresponder Started for Device1 EI3HBB - home ,3HBB. NodeID: 3663944680, !da635be8
2025-01-29 18:00:50,492 | DEBUG | System: Logging System Logs to disk
2025-01-29 18:00:50,492 | DEBUG | System: BBS Enabled, data/bbsdb.pkl has 1 messages. Direct Mail Messages waiting: 0
2025-01-29 18:00:50,492 | DEBUG | System: Celestial Telemetry Enabled
2025-01-29 18:00:50,492 | DEBUG | System: Location Telemetry Enabled using NOAA API
2025-01-29 18:00:50,492 | DEBUG | System: Dad Jokes Enabled!
2025-01-29 18:00:50,492 | DEBUG | System: Games Enabled!
2025-01-29 18:00:50,492 | DEBUG | System: Wikipedia search Enabled
2025-01-29 18:00:50,492 | DEBUG | System: MOTD Enabled using Thanks for using MeshBOT! Have a good day!
2025-01-29 18:00:50,492 | DEBUG | System: Sentry Mode Enabled 100m radius reporting to channel:2
2025-01-29 18:00:50,492 | DEBUG | System: Store and Forward Enabled using limit: 3
2025-01-29 18:00:50,492 | DEBUG | System: Respond by DM only
' All good with a manual launch

#

After a reboot I check the status.... `chris@serverN100:/opt/meshing-around/logs$ sudo systemctl status mesh_bot.service
× mesh_bot.service - MESH-BOT
Loaded: loaded (/etc/systemd/system/mesh_bot.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Wed 2025-01-29 18:05:58 GMT; 2min 1s ago
Duration: 399ms
Process: 1803 ExecStart=/usr/bin/bash launch.sh mesh (code=exited, status=0/SUCCESS)
Process: 1847 ExecStop=pkill -f mesh_bot.py (code=exited, status=1/FAILURE)
Main PID: 1803 (code=exited, status=0/SUCCESS)
CPU: 399ms

Jan 29 18:05:58 serverN100 systemd[1]: mesh_bot.service: Scheduled restart job, restart counter is at 5.
Jan 29 18:05:58 serverN100 systemd[1]: mesh_bot.service: Start request repeated too quickly.
Jan 29 18:05:58 serverN100 systemd[1]: mesh_bot.service: Failed with result 'exit-code'.
Jan 29 18:05:58 serverN100 systemd[1]: Failed to start mesh_bot.service - MESH-BOT.
chris@serverN100:/opt/meshing-around/logs$ cd ..
` Manual launch is good ' chris@serverN100:/opt/meshing-around$ sudo ./launch.sh mesh
2025-01-29 18:09:44,882 | DEBUG | System: Initializing Interfaces
2025-01-29 18:09:46,971 | DEBUG | System: Initalized Radio Device1 Node Number: 3663944680

Meshtastic Autoresponder Bot CTL+C to exit

2025-01-29 18:09:46,972 | INFO | System: Autoresponder Started for Device1 EI3HBB - home ,3HBB. NodeID: 3663944680, !da635be8
2025-01-29 18:09:46,972 | DEBUG | System: Logging System Logs to disk
2025-01-29 18:09:46,972 | DEBUG | System: BBS Enabled, data/bbsdb.pkl has 1 messages. Direct Mail Messages waiting: 0
2025-01-29 18:09:46,972 | DEBUG | System: Celestial Telemetry Enabled
^Z
[1]+ Stopped sudo ./launch.sh mesh
'

#

There is nothing recent in the meshbot.log

gentle kestrel
gentle kestrel
brittle atlas
unborn flint
#

It’s the latest firmware. 2.5.18? I think. And I turned on serial.echo. That didnt work.

I also did a factory reset and re configured radio. I thought it might have been a problem with node, since the bot shows that it is sending the messages. That didn’t help either.

unborn flint
gentle kestrel
gentle kestrel
brittle atlas
brittle atlas
#

Would there be a way to send out the weather forecast on LongFast twice a day with your bot? The mesh here is very quiet, some traffic would be good.

gentle kestrel
gentle kestrel
#

Also, the new QRZ welcome tool would be handy

#

I haven’t been able to test well yet, in a large mesh it’s messy

#

In a small one it’s nice

#

… I should add a learn mode to it to catch up without saying hello to everything …

gentle kestrel
#

Boop

[qrz] 
training = True # Training mode will not send the hello message to new nodes, use this to build up database
median fractal
#

For the people who work with ollama 🙂

#

i use this as my goto chat environment since it is easy to change models and other settings

#

enjoy folks 🙂

stone lance
#

Hey, I got a good nerd-dad joke for you:
Why do hipsters hate calculus?
||They find it too derivative||

heady raven
#

Aloha - curious, all the sudden the wx cmd - got error reporting data. I didn't change anything... amy thoughts? other cmd's work

gentle kestrel
heady raven
#

INFO | Device:1 Channel: 0 Received DM: wx From: wh6gxz-> Feb 16 07:35:09 wh6gxzmesh bash[656]: 2025-02-16 07:35:09,483 | ERROR | Location:Bad weather data from NOAA
hmmm
/etc/systemd/system/mesh_bot.service:22: Failed to parse service type, ignoring: notify #try simple if any problem

#

increased the urlTimeout to 20

odd void
#

Maybe they got a visit from DOGE 😏

gentle kestrel
#

Possibly but it’s domestic so less likely it’s being gutted, this is also an API so interesting it’s bad

heady raven
gentle kestrel
#

Did you go offshore and there might be no location data? (Still odd)

heady raven
gentle kestrel
#

Looking at code this is a error for “there was nothing”

#

Is that page working ok for you

heady raven
#

INFO | Device:1 Channel: 0 Received DM: wx From: wh6gxz-ecom Feb 16 07:50:49 wh6gxzmesh bash[656]: 2025-02-16 07:50:49,172 | ERROR | Location:Bad weather data from NOAA Feb 16 07:50:50 wh6gxzmesh bash[656]: 2025-02-16 07:50:50,374 | INFO | Device:1 Sending DM: error fetching data To: wh6gxz-ecom

gentle kestrel
#

This seems like a internet connectivity issue, I see report data for the Hawaiian islands ok

#

There is a “lot going on” in the world right now

heady raven
gentle kestrel
#

I can replicate it data is missing from the noaa page

#

Is this new as of today, I’m sort of wanting to wait a few hours see if it’s resolved

heady raven
# gentle kestrel It’s just your area

Mahalo for that! It started late last night- I use wx all the time. I had used the cmd earlier that day. MPWRD
I'm doing a presentation today with a few HAMS at Big Island Radio Club -about meshtastic- going to show a few people meshing-around MPWRD

gentle kestrel
#

Agg of course, looking at it it’s presenting data like it’s knows I’m scraping the webpage

#

It’s only your area this is a problem it seems, oooof

heady raven
#

I'll ask some of the other hams they run weather stations etc. check aprs
got some feed back from some other mesh heads- having the same issues. also. moon, tide others work

gentle kestrel
#

They put the data into a collapsed table and it’s just not there in a scrape at the moment it seems

#

Either it’s a temporary issue for the rest of the day

#

Or it’s someone trying to prevent this

heady raven
gentle kestrel
#

I also see this on the backend "detail": "Forecasts for marine areas are not yet supported by this API.",

gentle kestrel
#

@heady raven try a new pull I did a full refactor didn’t test your location yet but it’s a major change anyway

#

No more html

#

Your area is still wonky

#

So thanks for the note and push to switch to this new? API let’s hope you get data values back soon?

#

I get this all over Hawaii "detail": "The requested forecast grid was issued 2025-02-14T18:02:41+00:00 and has expired.

heady raven
# gentle kestrel <@1159608673295945799> try a new pull I did a full refactor didn’t test your loc...

I made the change

`# NOAA weather forecast days, the first two rows are today and tonight
NOAAforecastDuration = 3

number of weather alerts to display

NOAAalertCount = 2`

INFO | Device:1 Channel:0 Ignoring Message: yah wonder how long to traves vs how long y> Feb 16 08:49:44 wh6gxzmesh bash[651]: 2025-02-16 08:49:44,054 | INFO | Device:1 Channel:0 Ignoring Message: zodiac inbound From: Tavis T-Echo Feb 16 09:11:08 wh6gxzmesh systemd[1]: /etc/systemd/system/mesh_bot.service:22: Failed to parse service type, ignoring: notify #try simple if any problems Feb 16 09:12:57 wh6gxzmesh bash[651]: 2025-02-16 09:12:57,459 | INFO | Device:1 Channel: 0 Received DM: wx From: wh6gxz-ecom Feb 16 09:12:59 wh6gxzmesh bash[651]: 2025-02-16 09:12:59,088 | ERROR | Location:Bad weather data from NOAA Feb 16 09:13:00 wh6gxzmesh bash[651]: 2025-02-16 09:13:00,289 | INFO | Device:1 Sending DM: error fetching data To: wh6gxz-ecom

gentle kestrel
heady raven
stone lance
#

Did a bit of Meshing Around just now, and got a weird effect with the chunker.

#

Is this cos I've got a shorter chunk size or something?

gentle kestrel
#

Haha Presidents’ Day. Yea I have messed about with it a lot, at what point is the line cut for delivery of a packet

#

It’s always one more character

#

If on the defaults of 160 Wikipedia isn’t ideal, frankly nothing large text is

#

I could force it passed into like a LLM but sometimes it’s also a mess that way

gentle kestrel
#

I can go back to ignoring sentences like it was before

#

Sending bulk volumes of text isn’t what meshtastic is powerful at currently

#

I may go back to just cutting it and ignoring sentences

brittle atlas
#

I am getting a very high CPU usage after a while. On reboot it is fine for at least a few hours, but some time later it always runs the CPU to high levels. any idea?

gentle kestrel
#

First guess if software it’s loss of connection via tcp to meshtastic D

#

If so put mesh service dependent on meshtasticD

#

Not network stack

gentle kestrel
gentle kestrel
heady raven
#

aloha all wx is back... mahalo for working with me on that yesterday spudgunman

gentle kestrel
#

Oh yea? It’s working?

heady raven
gentle kestrel
#

I possibly had used a bad API call from yesterdays test, cache issue

lunar shore
#

Is it possible to ignore all eas nws messages containing a certain word like the test feature? When the river gets up, nws blows us up with river flood alerts for sometimes weeks on end. I'm miles from and hundreds of feet above said river.

heady raven
#

wx and wxc aren't working for me again... odd

gentle kestrel
gentle kestrel
#

It’s still the weekend and all let’s see how the week plays out

lunar shore
#

I actually don't sorry. It's usually a spring issue. I'm just trying to plan ahead. I'll check back.

gentle kestrel
#

It would be easy to add a ignore value yea, just was wondering if it had something obvious could trap

gentle kestrel
#
# Ignore any headline that includes followig word list
ignoreFEMAword = True
ignoreFEMAwords = test,exercise
gentle kestrel
#

Also try riverFlow command

gentle kestrel
#

(on noaa servers)

heady raven
#

Volcano, Hi

#

meshsense- just another thing I play with hihi

raw tulip
#

Hey! Just got this thing set up on my Windows desktop remotely (I don't have access to my Linux box or Pi right now). I had to edit settings.py, line 39, to change config.read(config_file) to config.read(config_file, encoding='utf-8') to avoid a decoding error that would overwrite my modified config with the default one. Figured I should probably ask here so pulling updates later doesn't cause any conflicts - is there an "official" workaround for this? Or is it just a Windows Thing™ resulting from the code being written and tested on Linux?

gentle kestrel
gentle kestrel
quasi escarp
#

If Microsoft released windows code name longhorn instead of vista the world might be a better place .

gentle kestrel
#

At least if they left things alone for a while, LTR isn’t long enough

raw tulip
#

Seems to be working great under Windows so far aside from that one thing

#

Though I just noticed when I got to my PC here that it fails to log anything with an emoji in it, throwing another encoding error

#

Fixed on my end in modules/log.py by adding encoding='utf-8' as an argument to the TimedRotatingFileHandler objects on lines 72 and 79

#

If I find any other Windows-related issues I'll just open a PR at this point, haha

raw tulip
#

yup, I use dj505 pretty much everywhere

gentle kestrel
#

Nice I tagged ya and added those values to the log write, thanks!

gentle kestrel
raw tulip
#

Awesome!

gentle kestrel
tacit brook
gentle kestrel
#

Yea! Thanks for fun idea! I tinkered with it a little already! @tacit brook

tacit brook
#

great 😀

#

it is nice that the bot is so modular and allowing us to easily add features

tacit brook
#

nice that you added it

#

and telling the user to type 'end' 👍

tacit brook
gentle kestrel
#

hamtest extra

#

For extra or general pool

#

Uses some airtime

dusky abyss
#

that is pretty rad!

gentle kestrel
heady raven
gentle kestrel
heady raven
gentle kestrel
heady raven
#

like [qrz]
`# QRZ Hello to new nodes with message
enabled = False
qrz_db = data/qrz.db
qrz_hello_string = "send CMD or DM me for more info."

Training mode will not send the hello message to new nodes

training = True`

#

does it need to be in a paarticular space in the ini file?

gentle kestrel
#

no

gentle kestrel
heady raven
#

i modified the config.ini added the .py files ran the cmd and...
`Feb 23 18:47:18 wh6gxzmesh bash[9655]: 2025-02-23 18:47:18,359 | WARNING | Device:1 Ignoring DM: hamtest From: hawaiimeshmap
Feb 23 18:47:18 wh6gxzmesh bash[9655]: 2025-02-23 18:47:18,801 | INFO | Device:1 Sending DM: What do bees do after they are married? They go on a honeym>
🤪

gentle kestrel
#

You need to do a git pull yes

#

There is a few files it will update

#

If you haven’t for a while might backup your .ini as well

heady raven
gentle kestrel
#

From the directory it’s in now, assuming you did a git clone originally to get it just do a git pull

heady raven
#

Feb 23 19:33:44 wh6gxzmesh bash[842]: PermissionError: [Errno 13] Permission denied: 'config.ini' Feb 23 19:33:44 wh6gxzmesh systemd[1]: mesh_bot.service: Control process exited, code=exited, status=1/FAILURE Feb 23 19:33:44 wh6gxzmesh systemd[1]: Failed to start mesh_bot.service - MESH-BOT

gentle kestrel
#

Looks like it’s trying to add the new options for you but can’t due to write permissions

#

You can give it write to that file/directory or add them from template

#

Or run it manually once

heady raven
gentle kestrel
#

Well, however it irons out it’s just permissions, the bot will try to add the missing sections to the ini till they are found

#

Do a diff on config.template and config.ini

#

See what your missing and add it

#

I’m not sure why you have a permissions on the .ini looks like your user account owns it unless it’s running as something else

#

I see meshbot there as well

#

Do the old chmod +777 config.ini

heady raven
#

Feb 23 19:55:28 wh6gxzmesh bash[1807]: 2025-02-23 19:55:28,950 | INFO | Device:1 Chunker1/6 Sending DM: 📻New technician quiz started, 'end' to exit. To:> Feb 23 19:55:29 wh6gxzmesh bash[1807]: 2025-02-23 19:55:29,053 | INFO | Device:1 Chunker2/6 Sending DM: What is the resistance of a circuit in which a cu> Feb 23 19:55:29 wh6gxzmesh bash[1807]: 2025-02-23 19:55:29,155 | INFO | Device:1 Chunker3/6 Sending DM: A. 3 ohms To: hawaiimeshmap Feb 23 19:55:29 wh6gxzmesh bash[1807]: 2025-02-23 19:55:29,257 | INFO | Device:1 Chunker4/6 Sending DM: B. 30 ohms To: hawaiimeshmap Feb 23 19:55:31 wh6gxzmesh bash[1807]: 2025-02-23 19:55:31,559 | INFO | Device:1 Chunker5/6 Sending DM: C. 93 ohms To: hawaiimeshmap Feb 23 19:55:31 wh6gxzmesh bash[1807]: 2025-02-23 19:55:31,660 | INFO | Device:1 Chunker6/6 Sending DM: D. 270 ohms To: hawaiimeshmap
That did it BRAH!

#

wierd the permissions changes ehh. the diff was no issues. MAHALO for what you do!

#

gxzm: Game over. Score: 0 73! 😿You did not pass the technician exam. You may want to study None.
Haha I didn't take answer it. cool...

gentle kestrel
#

Admittedly I haven’t played past about 12 questions

heady raven
gentle kestrel
#

Qrz like who is calling me, yes I thought about the website confusion of names but went with it anyway

heady raven
gentle kestrel
heady raven
# gentle kestrel Yea like the bot is QRZ?

When HAM's do DX'ing HF long distance radio - we call out something like - this is wh6gxz qrz...
"Q" code for "Who is calling me?" like I think you said earlier. Nice bro

dusky abyss
#

some ham tools would be neat

#

like 'gimme my gridsquare' or 'dipole calculator 906.875' or 'repeaters city, state'

gentle kestrel
#

Whereami includes grid, and Rlist gives repeaters

dusky abyss
#

i saw rlist...forgot about that one i guess. had no idea whereami did that, sweet!

#
def dipole(frequency):
    length = 468 / frequency
    element = length / 2
    return(round(length,2), round(element,2))```
```In [2]: dipole(906.875)
Out[2]: (0.52, 0.26)```
#

overall length and individual element lenght in feet

#

I'll take a stab at making a command later 🙂

gentle kestrel
#

Nice! If you need help holla’ @dusky abyss can set up a branch for you or whatever with the bot side

#

Also think about adding multiple calculation, dipole, jpole, 1/4 wave ground

#

Ohms law and parallel resistor, series capacitor if you feel spicy

#

I do feel like most LLM will do poorly at those

#

Without a tool_math

#

Eirp calculator might also be handy

#

But fitting all this into like one command calc dipole 14.070 or calc eirp 100w 5db

heady raven
#

Aloha I have a friend who has a node that when he writes a command in a sentence he gets a DM - say like test. He doesn't want the bot to respond. Wants me to move to another channel. Others are ok with it. I guess I could move it to another channel... thoughts/experiences. I have a channel two called volcano... channel 0 people can use it...

stone lance
heady raven
stone lance
#

Or spud could program up somethng?

heady raven
#

I could set the channel to 1 'volcano' is what i call it - to get the bot off the primary channel?
[general] respond_by_dm_only = True *defaultChannel = 1* ignoreDefaultChannel = False # ignoreDefaultChannel, the bot will ignore the default channel set above

dusky abyss
#

Going nowhere fast 🙃

#

No clue what I did here. Everything else seems to work, even remote admin.

stone lance
dusky abyss
#

Yea, several times

stone lance
#

And stopping the service and then just running the bot directly, and watching the output?

dusky abyss
#

oh, i meant the meshtasticd service

#

i'm not running the bot as a service

#

maybe thats my problem

#

Nah, it can't be, because I still don't get acks with the bot stopped but meshtasticd running

stone lance
#

I'm trying to remember the steps I usually get suggested to check the bot is working...

dusky abyss
#

but meshtasticd isn't acking the dms

stone lance
#

Oh, good point

#

Can you log into the node with e.g. android and see what's occurring?

dusky abyss
#

just tried contact on it. I can successfully send a message from the pi node to my main, but not back

#

I had similar issues before with radioless meshtasticd also

#

ughh...its my stupid neighbor again I think

#

moved both to slot 60 and everything works as expected 😢

#

can't wait for a new sync word

#

ooh, maybe next hop will help

#

I'll try that tomorrow 🤞

gentle kestrel
#

You would put the channel you want to ignore in the settings

gentle kestrel
heady raven
dusky abyss
quasi escarp
#

Ooo damn

dusky abyss
#

My thought is, it's replaying my packet the instant it sees it over mqtt, which throws out a 0 hop packet

quasi escarp
#

I just had to climb a tower to update my 2.3.13 was t fun

gentle kestrel
heady raven
gentle kestrel
#

I did minimal testing, sounds like your situation may be spicy so if you see a hiccup send logs. git pull will update and if you need node ID’s remeber you can whois

heady raven
gentle kestrel
#

Fun! Yea interested to see

heady raven
#

Aloha. Did the git pull. Cool! Do I do this?
[bbs] enabled = True bbs_ban_list = !a2ed9124, !7f49bee6 " or 2135539430, blah instead... bbs_admin_list = bbslink_enabled = False bbslink_whitelist =
Based on the node info from the meshbot.py
I think I'll choose this format 2135539430,2135539440 blahblah
follow-up added a few nodes to the "ban list" lets see what happens...
mesh_hat

mighty geyser
#

Aloha, we've had some issues and quarrels about DMs being sent by the bot due to it picking up words from an "innocent" message. We made changes to a local copy where all commands begin with an exclamation mark, e.g. "!wxc". Please consider prepending commands with some special character that may even be configured during install.sh. Mahalo !

#

It should not be up to people who get the DMs, to have to go and block the bot node.

#

Rather, it should not be as easy to trigger the bot.

dusky abyss
#

I just ignoreDefaultChannel = True and all is good 🙂

#

It's up to you, the person hosting this, to configure it for your use-case and mesh, IMHO 😉

#

If people are mad, it's not spuds fault

heady raven
# dusky abyss I just `ignoreDefaultChannel = True` and all is good 🙂

There where two people affected out of over 100+ nodes by a dm from the bot -they are within RF of my bot. With spuds help I have fixed that I hope.
No It's not spuds fault. It's no ones fault - it's a hobby, and maybe a living someday for some.
I appreciate what spud does MPWRD and have learned a lot and had fun thanks to SPUDS. 💯
Some people don't want any internet on meshtastic MQTT - nothing is going to change that. The voices are loud...

mighty geyser
#

The proper approach is make the bot less trigger-friendly

stone lance
gentle kestrel
#

I didn’t add the “send the shrek script to a node DM” code hehe

#

I do agree blocking public is worth while in messy meshes

#

I will look to add a command qualifier like !

heady raven
# gentle kestrel I do agree blocking public is worth while in messy meshes

Spud - as for me - in my mesh reality - there are 100+ nodes on my node list - and just a few nodes (2 maybe 3 depending on propagation) have the RF to even gain access to the gxzm bot...
BTW: The last pull may have worked for the two bothered
...and Stefan is in Kona, he has no RF to any of my nodes. I'm in Volcano
***At issue for some people: ***When a node with the right amount of RF says a CMD in the body of a text like "ping" let's say Meshanarchy then that NODE with the RF will get a DM from gxzm bot.😎 Some people like that 🙃 others ☠️ well you are hearing from them. 💯 it's all good. Mahalo 🤙 it takes a --node hihi

mighty geyser
gentle kestrel
#

Can I ask what commands it DM’s have caused the weeks of duress?

stone lance
fathom ledge
# gentle kestrel Can I ask what commands it DM’s have caused the weeks of duress?

Usually it's "test" I think? Some other users will "ping" each other manually and I know it's triggered on that. I think a stray wx or something else was in there for me once but I cleared my history since then. FWIW the response DMs are less irritating to me than seeing other people's commands clutter up the primary channel. When I was testing/playing with a BBS node it never crossed my mind to actively respond to messages in the primary channel, is there a use case that demanded that behavior rather than punting most or all queries/commands to the bot to be DMs?

#

(also I'm kinda playing the Devil's advocate here -- trying to help find a solution, not really an aggrieved party. So feel free to ignore my questions since they more-or-less come without standing)

stone lance
#

Sometimes it's fun to have it pull up the weather or a wiki entry on a shared channel.

mighty geyser
stone lance
#

The code is customisable - when I get around to it, I move a lot of commands off the response list for PSK channels into DM-only

#

Nobody needs to get a dad joke DM when telling the neighbours that their football team are a joke.

mighty geyser
#

The primary channel should be off limits by default

dusky abyss
#

What if your primary channel, like mine, is a private channel?

mighty geyser
#

play on a secondary one

fathom ledge
#

From my perspective it would be useful to have the bot "announce" once every few days/weeks. Then listen for commands on the DM side. If spamming isn't a concern, there could even be commands that request a reply/broadcast to the primary channel, if there's a desire to send out urgent weather messages, etc. But why automate that?

dusky abyss
#

This can all be solved by editing the configuration. That's why it's there 🙂

mighty geyser
#

there's only one primary channel,whether you configure it on channel id 0 or 1000

fathom ledge
mighty geyser
#

it's on slot 20

mighty geyser
#

BBL

dusky abyss
#

0 is the one and only primary, no matter what the channel name, key, or lora slot is

fathom ledge
# dusky abyss 0 is the one and only primary, no matter what the channel name, key, or lora slo...

I guess the potential "solutions" to how to handle bot traffic depend on a lot of these details. Either I can change my primary channel away (I do this already) and not use LongFast as a secondary channel at all (I probably won't do this anytime soon), or the bot node can do the same, or one of us can move to a different mesh/preset/frequency entirely. It can't reasonably be programmed into the bot, I think, to only use another channel (or even any channel at all) and completely avoid putting traffic onto the default channel (which will likely change over time based on other factors like LoRa presets) or a region's main channel. I believe the right way is to have very limited channel interaction and primarily operate via DM, which is why I was asking about use cases that wouldn't be appropriate for.

dusky abyss
#

At this point I'm not sure how else to say to configure your bot how you want it. Good luck, goodbye.

fathom ledge
#

I think I'm saying the same thing. These are not really bot problems but social problems.

stone lance
heady raven
dusky abyss
#

yea, my bot node has our Groupname-test channel as primary, then LongFast and Groupname as secondary 🙂

heady raven
# dusky abyss yea, my bot node has our Groupname-test channel as primary, then LongFast and Gr...

Big island meshtastic network is growing mainly on the Hilo side.
I'm in Volcano. Luke and I bath in each others RF mesh_hat . Otherwise very few nodes even have the RF to reach my BOT.
Geography on BI is challenging so the base stations really provide the coverage - with lots of black holes.
Hopefully in time that will change and we will all learn and develop the meshtastic reality together - we collaborate meaningfully.

gentle kestrel
gentle kestrel
#

I could easily just add a ignore all channels

#

That might work today, I would need to look

stone lance
#

Just chucking ideas out there. Not saying they're good ones 😉

gentle kestrel
#

Well the two I got so far is

  • check ignore channel is multi/list possible
  • add option for !cmd
#

The second one I need think about more but the ignore channel is easy to add more

fathom ledge
fathom ledge
heady raven
gentle kestrel
#

Glad it’s fun stuff! I got those two items in now

tacit brook
#

I haven't had any complaints from our community only compliments for the test/ping responses ... I have never seen it posting to the default channel ... so why do people complain?

stone lance
lone wolf
raw tulip
#

When using the sentry module, does it still use the location in config.ini as the center of the detection radius if I have a fixed position set through the mobile app on the node itself? I just realized I haven't been getting any messages on the channel I set, lol

fathom ledge
tacit brook
#

it replies privately

fathom ledge
#

Right -- but does everyone see everyone else's commands/queries to the bot? Or is the bot only listening somewhere other than a widely used/generic chat channel?

tacit brook
#

no

#

when you interect with the bot you have to send a direct message

fathom ledge
#

Ok -- so that's 100% the concern with the mesh here, that it is listening to the default primary channel and people are sending it commands there (intentionally and otherwise).

tacit brook
#

but if someone sends a message to longfast (or any other channel where the bot is added) with some keywords like "test/ping/ack" then it will reply but not on longfast directly to you

#

and personally i think this is a useful feature

fathom ledge
#

Ahh okay so "when you interect with the bot you have to send a direct message" isn't true

tacit brook
#

well if you want to intentionally interact with it then you have to dm it

#

most people requesting an ack probably does not care if it is a human or bot responding

#

but it does break one of the bot rules of only speak when spoken to (well that was one of the rules when developing IRC bots back in the day)

fathom ledge
tacit brook
#

ah I get you

#

and it is configurable ...

#

[general]

if False will respond on all channels but the default channel

respond_by_dm_only = True

Allows auto-ping feature in a channel, False forces to 1 ping only

autoPingInChannel = False

defaultChannel is the meshtastic default public channel, e.g. LongFast (if none use -1)

defaultChannel = 0

ignoreDefaultChannel, the bot will ignore the default channel set above

ignoreDefaultChannel = False

#

and by default it is configured as dm only

lone wolf
#

I set my long name on the node to "I'm a bot (Send cmd in DM)". It helped people understand a bit more.

gentle kestrel
raw tulip
#

Understood, thanks!

#

I don't normally have a phone connected, just the bot script. Phone is just for checking in every once in a while when the script isn't running

heady raven
#

Here's Nurse dude's change in the .ini file to make the "few" happy...
It takes a village...
What I did.

[general] respond_by_dm_only = True autopinginchannel = False defaultchannel = 0 ignoredefaultchannel = True

Yep- that simple...

#

Have an awesome aloha FRIDAZE and mesh on

dusky abyss
#
  File "/home/skot/meshing-around/mesh_bot.py", line 1492, in <module>
    asyncio.run(main())
  File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/skot/meshing-around/mesh_bot.py", line 1482, in main
    await asyncio.gather(meshRxTask, watchdogTask)
  File "/home/skot/meshing-around/modules/system.py", line 1206, in watchdog
    handleAlertBroadcast(i)
  File "/home/skot/meshing-around/modules/system.py", line 735, in handleAlertBroadcast
    alertWx = alertBrodcastNOAA()
              ^^^^^^^^^^^^^^^^^
NameError: name 'alertBrodcastNOAA' is not defined```
#

hmm, had location configured, but disabled. maybe it must be enabled for this to work and its not just for the telemetry?

dusky abyss
#
enabled = True```
seems to have fixed it...
gentle kestrel