#Autoresponder

1562 messages · Page 2 of 2 (latest)

odd bear
#

You're not on some weird internet connection right?

errant wolf
#

nope

#

no proxies or weird firewalls

odd bear
#

If you want to try slap it, change that build device to something else

#

It won't be happy about that

#

but might do something

errant wolf
#

rebooting

odd bear
#

That's the smart option

#

except I wasn't mean enough to suggest it

errant wolf
#

Windows update!!

#

Noooooo

odd bear
#

aaaaaaaaaaaa

errant wolf
#

Still on win10

#

Will have to upgrade soon

odd bear
#

meanwhile, here:

#

no 0%s

errant wolf
#

Eol coming

odd bear
#

Ugh, I've already pretty much made up my mind that I'm gonna commit to linux when win10 finally goes on me

#

I think I'm stubborn enough for it at this point

errant wolf
#

I said that in the 90s

#

Maybe 2000

#

Installed red hat instead of win98 or me

sudden olive
#

I've been living in Mac OS and Windows almost equally over the past few years

errant wolf
#

It asked me if I wanted to install a c compiler. I said no, I don't program

#

So I installed Linux without a compiler

#

Apparently a bad idea

odd bear
#

They don't call it build-essential for nothing

errant wolf
#

And I was basically stuck.

#

It didn't say build essential!

#

It was just a list of features with check boxes!

odd bear
#

I know I know 🙃

errant wolf
#

Alright back in windows

#

0%

odd bear
#

Especially when I was spending so much time in Windows already

errant wolf
#

Yeah still stuck

odd bear
errant wolf
#

what the absolute fuck

#

I'm the first person ever to have this error?!

odd bear
#

Or can't reach it?

errant wolf
#

yup

#

opens right up

potent cypress
errant wolf
#

arghhhh

#

all I wanted was to flash the firmware

#

sobs in C#

odd bear
#

Yeah that's definitely still an option

odd bear
#

Ah right

sudden olive
#

The laptops are still $$$

errant wolf
#

mac minis are amazing

sudden olive
#

M2 Mac Minis are like $700 and very capable

odd bear
#

@errant wolf do you want to try pip install esptool?

errant wolf
#

in win cmd?

#

already installed

#

and up to date

odd bear
#

python -m esptool --baud 115200 write_flash 0x10000 <firmware.bin file>

#

at least that's what I'm looking at in the batch file right now

#

not the factory one

errant wolf
#

installing

#

huh I didn't need to enter dfu mode

#

how nice

#

alright, installing

#

SEE PLATFORMIO? THIS IS HOW INSTALLING WORKS

odd bear
#

I'd say that's convenient, but I don't think anything about this has been super convenient so far

#

I swear, platformio is amazing for lazy people like me

#

once it's all setup..

errant wolf
#

I'm sure it's great when it works

#

but the total lack of verbose error reporting is killing me here

odd bear
#

Yeah I have just no idea where it's going wrong

errant wolf
#

okay 88%

#

99%

#

and booted

odd bear
#

And fingers crossed it's not one of those "erase the flash" situations

errant wolf
#

connected

#

what are those config commands again?

#

found

odd bear
#

ah

#

faster than me trying to spot them

#

Was still wrestling with search

errant wolf
#

got my autoresponse

#

I skipped search and just scrolled up wildly

odd bear
#

Also a good option

errant wolf
#

no autoresponse the second time

#

nice

odd bear
#

I think the debug output is all tagged with "Autoresponder"

errant wolf
#

Got an autoresponse in channel.

odd bear
#

From memory, those are two separate lists of nodes

errant wolf
#

yeah they are

odd bear
#

So that if you miss the one in channel, you can still get one from DM

errant wolf
#

If ram isn't a concern, it should stay that way

#

otherwise there's a privacy concern

odd bear
#

Ah right

errant wolf
#

if someone talks in channel and there's no autoresponse, that's evidence that they've been chatting in dm

#

or that the packet got lost

#

hmm

odd bear
#

Being able to get it in DM is handy, because it can get a proper ACK that way

errant wolf
#

yeah

odd bear
#

it won't mark you "seen" if it doesn't get the ACK from you

errant wolf
#

If this was a module that relied on both ends, with a portnum and all, we could have a specialized ack

#

but that's overly complicated for what this is

#

by far

odd bear
#

We might even be pushing out luck with it as-is

errant wolf
#

WHOA

odd bear
#

It had a sulk and then snuck up on you?

errant wolf
#

@odd bear once this is written, we'll have to go through it with a fine tooth comb and remove everything that's not critical\

#

to keep the compiled code as tiny as possible

odd bear
#

There's still a bit of stuff that isn't implemented yet

errant wolf
#

okay, so let's think

odd bear
#

I remember you talking about the time limits for different channels and DMs etc

errant wolf
#
  1. Configurable cooldowns, with hard minimums
odd bear
#

Right now I think it's just hard set at 24 hours

errant wolf
#
  1. enable/disable in DM (as well as in channels)
odd bear
#

That one's done

errant wolf
#
  1. auto-expire after 72 hours and turn off. This is a tiny bit complicated:
odd bear
#

There's no auto-expire for the messages, but the module will stop responding in-channel after 72 hours

#

That's done

#

In DMs it stays on

#

Because no risk of flooding

errant wolf
#

a) set a timer. After 259200 seconds (72h), shut it off. But if there's a reboot - that resets. So an unstable node with frequent crashes would be perma-on

#

so:
b) also implement a turn off after 72 hours according to the clock

#

assuming the node has the time

odd bear
#

Anything fancier than that you're relying on the node getting time, yeah

errant wolf
#

not all nodes have the time

#

but let'

#

s implement both

odd bear
#

Should be possible

errant wolf
#
  1. count 259200 secs
  2. if we have time when enable, remember that time and when 72h has passed disable
#

whichever comes first

odd bear
#

It does mean another protobuf entry

errant wolf
#

important: if the message changes (user changes outgoing message), reset all timers

odd bear
#

That part should be possible

errant wolf
#

then leave as is for now

odd bear
#

Well, actually

#

No wait yeah it does

#

But maybe not a huge issue

errant wolf
#

I installed a node today. I'm really proud of it

odd bear
#

I can stick it in the module's own separate proto file, which it already has, to keep the strings in

#

So they don't gum up the main config file

#

So probably it's not a big deal to add another value in there

odd bear
#

@errant wolf Just dropping by with the progress on the rate-limiting stuff you were talking about

meshtastic.build3.exe --set autoresponder.repeat_hours 5

In this build, a bunch of the rate limit values are really short (a few minutes). The repeat_hours setting is used as minutes, instead of hours. Just makes it easier to test the demo.

https://drive.google.com/file/d/1suAFDcI61pH6u6gqMFYo-P9SQNBHePw7/view?usp=sharing

(Or you can build it from the repo)

errant wolf
#

Yeah absolutely. I was thinking for testing it'd need to be minutes.

#

Great minds

thorn aurora
# odd bear <@211282875901935616> Just dropping by with the progress on the rate-limiting st...

Dear Sir, my apologies for intruding in Your conversation with nagu, but would Yo be so kind to share brief instruction how to flash this firmware. I understand that it is early stage, but also wish to test.
I flashed downloaded xxxx.bin file, also I tried to clone repository/ built and flashed from VSC, but autoresponse not working yet...Please, provide brief instruction, because i tried to replicate actions/commands/steps You gave to nagu during last 2 days, but no success...

errant wolf
#

follow these instructions to install python

#

then run that install command

#

pip3 install --upgrade esptool

then:

python -m esptool --baud 115200 write_flash 0x10000 <firmware.bin file>

thorn aurora
errant wolf
#

It's flashed

#

well done

#

Now you need to set the settings via the meshtastic cli

thorn aurora
# errant wolf well done

Working! Great, many thanks!
Last question: for how long autoresponder will be active? I have read Your and @todd-herbert discussion regarding timings, but did not understood detais and a whole idea....

errant wolf
#

right now, I think 24h

#

but again, this is half baked

thorn aurora
# errant wolf right now, I think 24h

Understood that half baked.
No problem.
But in order to activate it again must use CLI again? is there a way to make it remotely, if the node with autoresponder firmware is not accessible/nearby?

errant wolf
#

not yet

#

seriously, this is like moving into a building while the foundation is being poured

#

it's too soon!

thorn aurora
errant wolf
#

it's ok

#

I'm saying this isn't ready for use

#

play with it if you like, but it's really just an experiment

#

which MAY be added to firmware in the future

thorn aurora
# errant wolf I'm saying this isn't ready for use

I understand it pretty well.
The matter is that I am a seaman, very often we are away from land for up to 30 days. On board we have rather slow and expensive sattelite internet.
Now my vessel is at US port with good internet on a local sim card, that is why I am trying to read/download/test/learn etc maximum what is possible, in order to be able to test additional(even experimantal) functionality while at sea.
Besides that, when I will go home for vacation I will have only 4-5 months ashore, that is why I am trying to get maximum updates/information/skills etc even being on board. This is my life...

#

Which repository do I have to clone to PC in order to build and flash autoresponder firmware? The matter is that: 1)I have also some Heltec WSL(without display)
2) In the original(factory firmware) I managed to insert Ukrainian Fonts via VSC. Would like to do same with autoresponder.

errant wolf
#

these are things @odd bear will have more info on

odd bear
# thorn aurora Which repository do I have to clone to PC in order to build and flash autorespon...

At the moment, the work-in-progress is in this autoresponder branch:

Two other repositories are part of the project, but you do not need to use them to build the firmware, only maybe if you are making extra code changes yourself.

This one is shared for all Meshtastic software. It controls which settings are available. When you change this repo, you also need to run some commands to use the new settings in the firmware and the CLI

This one is the CLI. It has some changes to use the new settings for the autoresponder. For convenience, I have also placed an .exe version of this code with the firmware repo.

If this code is ever included in the official repo, then the mobile apps would include settings for this module, but right now only the CLI has been modified (for testing). If this style of module can't be included, will have to see what other options are possible.

GitHub

Meshtastic device firmware. Contribute to todd-herbert/meshtastic-firmware development by creating an account on GitHub.

GitHub

Protobuf definitions for the Meshtastic project. Contribute to todd-herbert/meshtastic-protobufs development by creating an account on GitHub.

GitHub

The Python CLI and API for talking to Meshtastic devices - GitHub - todd-herbert/meshtastic-python at autoresponder

GitHub

Meshtastic device firmware. Contribute to todd-herbert/meshtastic-firmware development by creating an account on GitHub.

#
  1. In the original(factory firmware) I managed to insert Ukrainian Fonts via VSC. Would like to do same with autoresponder.

I imagine you can still use these changes! What code do use to enable Ukrainian langauge support?

thorn aurora
odd bear
#

Ah, perfect! I saw there was a request for this feature for a long time, but I didn't realize it was added now.

thorn aurora
#

I managed to clone repository, manahed to flash Heltec V3 and Heltec WSL wit their appropriate firmwares.
Wia CLI I manahed to activate autoresponder in DM, manahed to cedit Hello Word phrase to my own reply phrase, all is working, but unfortunately on both devices autorespond works only 1 time after reboot.

odd bear
#

There's definitely a feature to disable the module after some reboots (DM stays active, but not in-channel). For testing, this value should be 10, but there's a bug in this code which I found late last night. The bug is that the number-of-boots doesn't update. On my test device, this allowed infinite reboot. I would expect the same thing on your device, but if it doesn't happen, maybe it helps to erase the flash and re-upload the firmware?

thorn aurora
#

My devices are not doing infinite reboots, all is stable, except autoresponder works 1 single time, and stops working(stops replying).
If I reboot the device manually- it works again and only 1 time.
What is the best way to erase flash?

thorn aurora
odd bear
#

In VSC there is an option to erase flash, on the left, near the button to upload.

odd bear
thorn aurora
odd bear
thorn aurora
toxic skiff
#

I like this

jade furnace
#

Sorry I got really distracted this weekend. How's it going? Do you need any help?

errant wolf
#

@odd bear how IS it going? Sorry I've been less available

#

Been building out the local mesh. Things are finally coming together after months of planning

#

got a 5 hop intercity system going

jade furnace
#

I've managed to get 10 of my friends to order nodes. We're 13 nodes up already with 6 more on the way.

errant wolf
#

it's a lot of fun

#

especially when you start getting that coverage

odd bear
#

That's where's it's at right now though

errant wolf
odd bear
#

@errant wolf I think most the changes we discussed the other day are done now (not sure what I've forgotten). Ready to build from the usual repo if you feel like testing it out. I'm pretty sure you'll need to grab the latest build of the modified CLI also

errant wolf
#

alright, we'll talk soon and go over all the features and behaviors, verify that they'

#

re all implemented

#

well done man

odd bear
#

Hopefully I can remember what I did actually do 😅

errant wolf
#

glance at the code and it'll all come back to you

errant wolf
#

@odd bear can you share the app link again please?

#

and CLI exe?

odd bear
#

I think it's all bundled here from memory:

errant wolf
#

ah yep, it is

#

@odd bear what's protocol stress test?

#

is that one of yours>

sudden olive
#

That's been in the CLI for quite a while

#

I can't even remember what all it it does, tbh

#

lol

errant wolf
#

just was gonna @ you

#

and saw you're already here

#

how do I build firmware in a way where that file can be flashed by the web flasher?

versed jay
#

you mean with platformio?

errant wolf
#

can't use a .bin with the web flasher, right?

sudden olive
#

No

#

Web flasher wants zips with the bins

errant wolf
#

Just trying to get some betas made

#

to give out to people, manually

sudden olive
#

It could be modified to accept bins

errant wolf
#

seems simpler to just create the zips

versed jay
#

the zip needs the bins inside. bleota.bin, littlefs.bin and the update/wipe bins.

errant wolf
#

argh

#

no simple way to just get platformio to make this, right?

sudden olive
#

If it's just an update, it only needs the app bin

versed jay
#

all the stuff can be produced by platformio 🙂

errant wolf
#

to prevent quantum weirdness

sudden olive
#

Yeah, you need the whole enchilada

versed jay
#

when you build the firmware, .pio/build/<boardname> will have both the update and the wipe bin, just named wrong.

errant wolf
#

god I just ate an enchilada sounds... goooood

versed jay
#

then download the web ui release zip from meshtastic/web and unzip it in /data, then tell platformio to build the filesystem.

errant wolf
#

I just need a way to give people firmware files for them to flash alone

versed jay
#

and finally the bleota.bin can be obtained from the release zip at meshtastic/firmware-ota

errant wolf
#

I guess it doesn't have to be via the web flasher

#

people can cli flash. Do they need python for that?

#

I bet they do!

versed jay
#

yes. python needed for cli

errant wolf
#

and windows exe cli is no good for flashing

versed jay
#

no

errant wolf
#

how do I wipe before flashing with the cli? hmmm

versed jay
#

@sudden olive can the c# cli flash custom bins? or will it pull exclusively from the API?

sudden olive
#

It just shells out to python

errant wolf
#

okay, I'll make users install python for now. It's not that hard

versed jay
#

esptool --baud 115200 erase_flash

#

will wipe the device

errant wolf
#

Thanks, writing that down

versed jay
#

esptool needs python

errant wolf
#

yeah but so does flashing so that's a wash 🙂

#

Thank you

versed jay
#

that command line is included in device-install.bat

#

so you'll find all the other lines oyu need in there as well.

odd bear
#

Is the web flasher interested in the scripts / spooky config-dist.yaml file?

versed jay
#

flashing is done with esptool. only reasion it needs python is esptool 🙂

versed jay
#

so the yaml and bat/sh is just ignored.

odd bear
#

So just as long as the binary filenames match the zip filename?

#

(and it has all the extras)

versed jay
#

yes, needs the "4 bins"

#

correctly named

errant wolf
#

I'm in over my head with this

odd bear
#

What's the deal with the littlefs bin?

versed jay
versed jay
errant wolf
#

oof

#

😦

#

@versed jay @sudden olive So as an update, we've got an MVP ready, sans beta testing, along with a version of the android app that still needs a bit of tweaking before beta

odd bear
#

So if you were preparing a custom zip for the webflasher, it'd be safe to use the existing littlefs and bleota files?

versed jay
#

yes.

odd bear
#

Okay thanks that demystifies it a lil

#

I did have a go at getting it to work once but didn't have any luck

sudden olive
#

Incidentally @versed jay ...

#

What I did here #atak message

#

sparked an idea

#

What if we resurrect the idea of PR artifacts but they're just links to the individual targets' zips

#

I may be able to do some query string magic in the web flasher to pre-populate everything based on a link

versed jay
#

don't do it in the web flasher. extend the api to dump a list of single target zips in addition to the omnibus zip.

#

so you can calculate once and cache the result.

sudden olive
#

We're going to be up against cors on this one as well

#

Stop gap could be to provide the download link, and let folks download the target zip and instruct them to upload

versed jay
#

i saw the trunk action provides a nicely formatted web result - maybe spy how they do it and post a web link for each PR where to get the zi files?

hollow hemlock
#

Hey I was goofin with autoresponder ideas to go so far as a basic BBS here is my stuff all work in progress as a few ideas I have get ironed out

#

Just a basic ping bot nothing special

errant wolf
#

we really need to move to beta

hollow hemlock
#

Fun stuff, it will be cool to see this move.

deep hinge
#

Hi. I was looking for a way to disclose that a node is just infrastructure and that you can't reach anyone there. Here in northern Germany, we first thought about a special name for the node so that you can see that you can't reach anyone there. roha-git-hub came up with the idea of ​​a responder. And Caveman99 then drew my attention to the autoresponder here. That would be a great extension if you write to a router and get a DM reply like: "This is an automatic reply: I'm just a router and I'm part of the infrastructure to contact my owner. DM to XXXX"

That would be really helpful if you really need the network because it's totally down so that you always know where to reach who.

I'm excited to see how the project develops here. Thank you for your work.

errant wolf
#

@odd bear any thoughts?

sudden olive
#

I just added a new example that does a delayed automatic response to a specific text message that's pretty full featured

odd bear
#

Nice!

#

I was also wondering if this might even be a job for the repeater role?

#

(I'm not super familiar with it)

sudden olive
#

It's a real-world use case that doesn't necessarily serve the normal public usage, but I felt like it was a better example than the overly simply ReplyModule

#

So it's included in the source but excluded by a macro

odd bear
#

Oh! Is it intended for parachute operations or something?

#

@deep hinge Are you comfortable writing code, or are you ideally looking for something a bit more plug-and-play?

odd bear
deep hinge
#

I'm sorry, I'm totally stupid when it comes to programming. 🙈 I can read all of this but I don't understand anything. 🤣

odd bear
#

Ah no problem!

#

One thing that does stand out as possibly the easiest option is the repeater role. (Although I'm not 100% what the consequence of this is)

errant wolf
#

I have not deployed it

odd bear
#

Oh right!

errant wolf
#

we were going to do beta testing but we kinda lost the thread

#

iirc, a tiny bit of work was necessary on the android app, and besides that it was MVP

odd bear
errant wolf
#

I still dissagree!

#

I think it has lotsa potential

#

but you're the dev

#

I'm just an ideas... person

odd bear
#

Hey I'm not so focused on the big picture of whether it should be let loose on the public or not

#

Was just happy to work on it, to see where it goes

errant wolf
#

Let's finish it up and do beta, and then see what happens

#

worst case we do macro like @sudden olive

odd bear
#

The only issue there is that one version of the module relied on changes to the protobufs, and the app / cli

deep hinge
#

Okay, I'll just wait and see what you produce and then I'll be happy about it. You have my support. 😅

errant wolf
#

Sure

#

but I think it might get approved

odd bear
errant wolf
#

I mean, what's the worst that could happen

#

we submit it for consideration and @sudden olive sends a hit squad

#

BAM to the back of the head

#

no more pull requests from you

odd bear
#

@deep hinge Are your router nodes entirely for infrastructure? Or do they occasionally have users attached who may want to be reachable?

errant wolf
#

I can see that happening

#

meshtastic is pretty cutthroat!

versed jay
#

is there a git tree of this somewhere?

deep hinge
#

Would that be a custom module that you can install in addition to the firmware, like a mod?

odd bear
errant wolf
#

and it's kickass. well thought through

versed jay
#

209 commits behind meshtastic/firmware:master 😎

odd bear
#

It's Nagu's project, but I was acting as code monkey 🫡

deep hinge
odd bear
errant wolf
#

we took a month or two off

odd bear
errant wolf
#

lol

sudden olive
versed jay
odd bear
#

I hate to think how moth-eaten it is by now, but I'll give it a go

versed jay
deep hinge
errant wolf
#

telemetry too

versed jay
#

when the mesh is established you can turn them to repeater, and it just works 🙂

errant wolf
#

I never got the point of repeater. Why not router?

odd bear
#

(As a slightly less intrusive option, I also worked a version which doesn't use protobufs for config / storage)

errant wolf
#

I really think it has potential for wwide release

#

we've put in so many good safeguards

odd bear
#

It's certainly packed with plenty of that safeguard code

#

Struggle to remember exactly what was going on, to be honest. It's not the most transparent code to read..

deep hinge
versed jay
#

what's the idea behind the whitelist?

odd bear
#

Hey Nagu was the big architect here, but I think the idea was to potentially respond only to certain nodes

versed jay
#

so if i don't populate that it will respond to any node?

errant wolf
#

one great usecase is leaving an autoresponder with info like "evacuated from home, on way to mom's"

versed jay
errant wolf
#

but you'd only want that to show to family

#

without whitelist, it replies to all

versed jay
#

does it remember who it already rplied to and doesn't reply again?

errant wolf
#

yes with time limits.

odd bear
#

That's one easy point-of-access for making your nodes do custom stuff too

errant wolf
#

it's been a bit so I don't remember numbers, but there's a minimum cooldown built in so it doesn't respond to multiple people one after the other, and a second cooldown for how often it responds to people in channel, and a third (I think) for responding in DM. The first one is not configurable. The other two are via a single setting I believe. There are mandatory minimums to prevent spamming

odd bear
versed jay
#

the code looks clean and straightforward, but i can also see how including this in the main firmware may lead to more congestion, no matter how many safeguards you put in place .

errant wolf
#

for DM, if it sees an ACK it'll start a longer cooldown - otherwise it'll try again after the first cooldown ends if it gets another response

errant wolf
#

again, numbers escape me at the moment, but 90% of the module is preventing nuisance and abuse

deep hinge
#

Even if it may not help me in the end to solve my problem, I think it's great that I've apparently restarted something that had fallen asleep 🙂

versed jay
#

i was thinking - there's an example from @ruby tree that implemented an autoresponder with the python lib. maybe this is a better approach than having it in the firmware

errant wolf
#

that would require extra hardware. narrows use case significantly

#

I mean, it's not impossible, but I really think this could have a lot of utility

odd bear
#

(I'm neither in nor out on the whole thing. Happy to help realize the concept, but I'm realistic that there are arguments for and against it)

versed jay
#

raspberry pi based node with the autoresponder as an addon? 😉

errant wolf
#

it's not terribly flexible. Check out the settings - there are only a few

#

I think there's a lot of potential for a plugin architecture in future

deep hinge
odd bear
versed jay
errant wolf
#

sure, but a scripting language... though that'd never fit

#

right

#

hummmmm

#

macros is probably the only option for "plugins"

odd bear
#

Just throwing ideas out there: what about a prebuilt autoresponder PCB

#

Something plug and play with the serial module?

versed jay
errant wolf
sudden olive
#

I really like the idea of having a GUI compiler that is macro aware

errant wolf
#

generated by a simple configuration webapp

#

user could introduce any settings they needed for custom macros

odd bear
#

Just to mention it too: there's another little thing that I spun off from this autoresponder dev stuff to potentially deal with the need to interact with custom code via the app:

errant wolf
#

describe it?

odd bear
#

Remember that autoresponder branch we made where you control it using text commands to a special channel?

errant wolf
#

right!

#

yeah, that's another method

#

though would require a long series of CLI commands

odd bear
#

I just tidied that up a bit as a base class, which might be handy for people wanting to write custom code

#

I think I got a screenshot of the demo implementation somewhere, one second

sudden olive
odd bear
#

Oh that's quite a good idea actually

#

Could you do that with web-serial too?

sudden olive
#

Yes, via the meshtastic js potentially

errant wolf
#

This would be done via the app? a JSON file?

sudden olive
#

App developers would have to implement an upload file admin interface

#

But totally doable

errant wolf
#

I like the custom json textbox because it will allow a simple change to the apps to support any macro

odd bear
#

I could totally imagine it being done from a web interface too

#

Especially for code which is excluded normally

errant wolf
#

and cli

sudden olive
#

Json will need to be kept very small

errant wolf
#

I suppose it could be a compressed format of some kind

sudden olive
#

I would almost argue for protobufs, but their strength is really in the bindings more than the wire size for this use case.

#

If they aren't in the main-line protobufs, they will loose this benefit

#

Although I suppose we could have them in the main protobufs if it's an "official add on"

#

They would be completely ignored from the normal firmware

#

If we come up with a really air-tight scheme for this, it could be a really good template for integrations

deep hinge
#

okay. I don't understand a word anymore. and it's not because of the language barrier. XD but I see something is happening. and maybe I can get some use out of it later 🙂

errant wolf
#

a lot of this is over my head too

sudden olive
#

A good answer to folks wanting to bolt on things that don't really belong in the main-line firmware but don't warrant a hard fork

versed jay
errant wolf
#

unrelated: my four 4631s are at 72 hours runtime with BLE off

odd bear
#

When I was throwing that DIYModule base class together, for saving custom data to flash I just directly serialized a struct and then stuck a hash on the end

sudden olive
#

I was actually noodling the idea of a WASM based platformio build. IDK if it's even possible, but getting the entire toolchain running in the browser would be gamechanger

versed jay
#

oof...

#

that sounds like a heavy lift.

sudden olive
#

It is

#

This is the moonshots room, right? 😉

#

lol

errant wolf
#

"noodling"

#

that's like a way to fish, right?

versed jay
errant wolf
#

catfish noodling. It's a thing.

sudden olive
#

Yeah, I would be terrified

#

We have alligator snapping turtles that are hundreds of pounds here in the same waters as huge catfish

errant wolf
#

Man

#

the place where i live is boring by comparison!

sudden olive
#

Seems like a good way to loose a typing finger

#

Or two or three

errant wolf
#

what I just said is hilarious if you know where I live

sudden olive
errant wolf
#

awww so cute!

odd bear
#

Just another thought that popped up:

#

I wonder if some sort of hardware flow-control for the serial module could open any doors

versed jay
odd bear
#

It's probably not exactly the right term I'm using here

#

But if there were two GPIOs available for "hey, co-processor, wake up, I have a job for you"

#

and "alright, I'm ready, what do you want?"

#

Sort of like we do with GPS

#

(sort of)

versed jay
#

the arduino should wake up the node or the node the arduino??

odd bear
#

Yeah sorry I'm not being as clear as I could be:
If you had some sort of prebuilt PCB for running custom code, which interfaced via the Serial module, you could have the node wake the Arduino when it has data to process, and have the Arduino report when it's finished waking and ready for the data

#

Not really relevant for nodes with fixed power, but in a solar-powered situation, it might make the idea of extra hardware more palatable

versed jay
#

that sreally easy to accomplish.

#

arduinos can go to deep sleep like an ESP32 does. and you can wake it back up with the reset pin.

odd bear
#

Say there is a small, but definite demand for some sort of "MOTD" module, for people running key routers or something

#

You could definitely offer something turnkey-ish

#

Stick a 1602 LCD on there and a few buttons, let operators set the config / change the message

#

You could maybe even slap a wisblock connector on it if that's possible and doesn't violate some IP law

errant wolf
#

rak sells those connectors

odd bear
#

Not sure it's the way to go, just seems "tidy", as a hypothetical idea

errant wolf
#

and they seem to be going hard for meshtastic support

odd bear
#

Then again, maybe the linux-native stuff would be a good target too

#

No need for any extra hardware there

versed jay
#

they sell these connectors, but they're REALLY hard to solder. And manufacturing for you will never come up with the numbers you need.

odd bear
#

That's fair, and I guess the idea of making the board files available kind of defeats the purpose

versed jay
#

that will totally work on a pi

odd bear
#

I've never played with it as a platform; can one pi run the portduino stuff and also interface with itself via the python?

versed jay
#

yes, though you need to use the IP hookup to 127.0.0.1. Serial won't work.

odd bear
#

Still, that's a great way to go with all of this

#

Maybe the best one so far imo (assuming it's not a solar node)

versed jay
#

doing it in python also means the companion arduino could run the same code via micropython.

odd bear
#

Okay that's one step too far for my brain to process, but I'll take your word for it

versed jay
#

imagine (almost) the same python code either running on the pi or from an arduino with micropython over the serial module.

#

depending on hardware set up and use case.

odd bear
#

oh I see!

hollow hemlock
odd bear
jolly goblet
#

I've probably skipped something important, it was a long discussion. Anyway, users want to do different things with meshtastic. Some want to send messages, others, like me, are more interested in measurements, range testing and exploring possibiliteis.

Testing is hard as well as getting easy to use data. Data is there, are there are possibilities to collect it but it is not always well documented or easy. Some things are obfuscated or encoded into message types. It my be easy to view from a certain perspective, eg via an app, pr web pages but it is not always possible localli or intuitively.

An interstest responder app or module could be for example a reply to a query message or range or traceroute, where the reply explicitly says, "I recieved message 'x' from 'node x' and the RSSI was x.

From node x(i,j), RSSI x, time (from my node) was x.

etc...

odd bear
#

Might deserve its own moonshot thread? Not sure what barriers there would be in the way to implementing something like that.

errant shale
#

It could be implemented now, but you would get strange results if nodes don’t update their firmware.

odd bear
#

Hey it sounds like the idea is well spoken-for already at this point

errant shale
#

Yeah, I think it’s very useful too.

neon otter
#

have it fetch traceroute result via mqtt

#

(probably better implemented in app)

hollow hemlock
#

I was thinking about this a lot while trying to improve the data. From this

#

There is nothing else in the current packet data that I am aware of we can use today to get values from hops which are not direct

#

As just mentioned by anon.. it would likely need to be server connected

#

You would need to collect the rssi and snr from each hop - this data over the air would be costly

#

Adding something like a lastHop to the packet with the nodeID might be valuable to the ecosystem on a whole - it crosses into neighborhood data which is my next personal tinker One feature I want to replicate is the classic “my heard” from TNC’s in ham

The neighbor function is as good as the data gets today

#

Also don’t forget the #network-mgmt-client may give you some of what your looking for @jolly goblet

jolly goblet
hollow hemlock
#

Being able to enable and disable the range test is also problematic when you can’t reach the other node on admin

hollow hemlock
#

I’m getting out of control

odd bear
#

Up next:

hollow hemlock
real hornet
#

I have a Python script running on a raspi doing something like this!!

Very cool!

#

I like the discrete command words

potent cypress
#

This is cool as hell!!!

still heart
#

Great job!

#

I was playing with a similar thing, it made me think nodes could advertise services. But it would need general buy-in from clients to surface this metadata

hollow hemlock
jolly goblet
hollow hemlock
# jolly goblet `xyzzy`

Indeed, the biggest hurdle is the limited space in mesh, a fair bit of the prompt are very verbose

#

A LARGE CLOUD OF GREEN SMOKE APPEARS IN FRONT OF YOU. IT CLEARS AWAY TO REVEAL A TALL WIZARD, CLOTHED IN GREY. HE FIXES YOU WITH A STEELY GLARE AND DECLARES, "THIS ADVENTURE HAS LASTED TOO LONG." WITH THAT
HE MAKES A SINGLE PASS OVER YOU WITH HIS HANDS, AND EVERYTHING AROUND YOU FADES AWAY INTO A GREY NOTHINGNESS.

signal solstice
#

Somewhat related
#1252742414033096794

errant wolf
#

Oh well named tony

hollow hemlock
#

Yea the name alone might be worth demo code even if not practical

odd bear
#

It'd be fun to see something inspired by this, but also using GPS or something!

#

Need some one with game dev type interests behind it, but I feel like it could be fun with a whole lot of people at some big event (Burning Man?) on a non-default preset and channel

ruby tree
#

Pokémesh

odd bear
#

Or Pokemash, maybe: #contributor-lounge message

signal solstice
#

I think using chatgpt you can get it to generate like a really long storyline

#

and then have like a text based adventure

#

and then integrate some custom features

hollow hemlock
#

The long story needs to be at like 180 character chunks

#

so I have been goofing with the same ways BPQ handles it and just telnetting to fronz running zork for example and there is a lot of text

#

Chunking the text works fine with 4-6 messages but it’s a lot of airtime and over a hop it’s toast normally you won’t get one of the chunks

outer plover
hollow hemlock
#

Think it’s ready for zorctastic

outer plover
#

fixed

#

try again

#

all text will be under 230 characters

hollow hemlock
#

I’m still locked out for credits. Was the idea to API in for connectivity.

#

You decide to examine the lantern. The lantern is old and rusty, but it appears to be functional. There's a small amount of oil left in its reservoir, and you find a box of matches nearby.

Do you want to:

Light the lantern
Leave the lantern and explore the left tunnel
Return to the cave entrance
Type the number of your choice or describe your action in detail.

#

Do you have the script output?

#

The option would need trimmed (like the type number for option could be cut)

real hornet
still heart
hollow hemlock