-
bsima
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
-
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
-
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
- MattJ doing 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 :)
-
bsima
ha, indeed it does