hello, is anyone here using xmpp on iot devices currently? I'm curious what implementations look like these days
bsima
i'm reading xep-0325 and i think this is what i was missing. basically the control protocol consists of setters, one address sends the setter message to a device, and the device interprets that setting into the device-specific action
bsima
for example <set><boolean name="lightbulb" value="true"/></set> might turn on the lightbulb
bsima
maybe an xmpp client is running on an arduino which controls the lightbulb switch
bsima
something i haven't figured out yet is how do i create these setter messages from my client? do i need to write a script, or can i create custom xml structures from a client like adium, etc? does each message need a new ui element for the client?
MattJ
Tip: don't use Adium for anything XMPP these days, it hasn't seen active development for years and is far behind modern XMPP
bsima
sure that was just an example, i don't even have a default xmpp client right now
MattJ
I assume if you're doing IoT you're also doing development in some environment or other
bsima
yeah i'm a developer
bsima
looking at automating my home and using xmpp as the main UI instead of apple home-whatever
bsima
also would like to monitor my garden for moisture levels etc, eventually
COM8has joined
COM8has left
MattJ
My honest opinion, as an XMPP developer - use Home Assistant 🙂
MattJ
It has so many interfaces and integrations. You can still use XMPP where it makes sense, but it will avoid reimplementing a lot of stuff on top of XMPP just for the sake of it.
bsima
i know i know... i'm trying to get off the corpweb though
MattJ
Of course if your goal is to learn XMPP, there's no better way than to combine it with a fun and interesting project like this
MattJ
Home Assistant is open-source and self-hostable
bsima
oh Home Assistant is different than Apple Homething
MattJ
Yes, definitely 🙂
MattJ
Home Assistant (and there are other similar projects, but I have no experience with them) will give you a framework that is already designed as a direct replacement for the proprietary alternatives that you want to avoid. It's not built on XMPP, but that's not the most important thing.
MattJ
You can integrate XMPP and a whole bunch of other things with it easily enough
bsima
yeah i see xmpp notifications for things, i'm wondering what the device implementations look like though
bsima
like there's this https://www.home-assistant.io/integrations/xmpp/
MattJ
What kind of devices are you planning?
bsima
well i'm getting solar panels this year, looks like HA has lots of tools for electricity/solar
bsima
for the garden i would need to create my own sensor i think
bsima
something with moisture, temperature, and telemetry to send me the data
Jeroenhas joined
Jeroenhas left
bsima
xmpp-for-iot intrigues me because i could have all the devices as "contacts" in a contact list, right? So to monitor any one i just select it from the list in my client and send it a message
bsima
it obviates the need for special ui software
MattJ
Yep
MattJ
So you would be reusing the XMPP client's UI
MattJ
Which is certainly fine. Home Assistant lets you easily build custom UIs based off sensor data :)
MattJ
I don't want to dissuade you too much, just want to make sure you know you're picking the right tool for the job
MattJ
It sounds like you're content with just normal messaging in an IM client. In that case you don't want *any* of the IoT XEPs
MattJ
You can just stick to normal IM stuff, almost or completely exclusively
MattJ
If that's the case, that also significantly reduces the amount of custom stuff you need to implement, because there's an abundance of XMPP libraries and tools focused on IM cases
MattJ
For sensor nodes any small SBC capable of running Linux with a good I/O interface (to connect peripheral sensors) would suffice
MattJ
Python is often well supported for those things, and there are multiple good XMPP libraries for Python to choose from
bsima
yeah i'm a big fan of ChatOps, or atleast the idea of ChatOps
bsima
i think it would work better for a house than for a production SaaS service
bsima
thanks for the advice and chat MattJ, i'll keep researching but i'm leaning toward xmpp for this
MattJdoing ChatOps-over-XMPP for a production SaaS service 😉
bsima
oh yeah? impressive
bsima
on my dev teams i've been the only one in favor of chatops, so maybe that has poisoned my experience
MattJ
Yeah, my dev team is basically just me right now, so that certainly makes things easier :)