Feedback from a newbie - issues developing an thing with rPI0

Only a feedback. I just discovered this project.
One night of study, a feedback from a newbie, but maybe interesting for understand first-entry mood.

I have an DIY solution, a Raspberry that perform nmap in my house and discover my devices.
For example, i have 4 Raspberry Zero in house that collect temperature and humidity of different zones, they (via crontab) collect and save a data.json, exposed via nginx as static file with http: // /data.json, collect by my server, simple as that.

  • Install for the first time the gateway. Search, nothing detected, neither known devices like Philips Hue.
    I understand the addon things, but a simple nmap for a “we found a Philips Hue, you know there is an addon?” can be more userfriendly for newbie. Wow the floodplan UI! But don’t accept .png, only .svg, i can’t convert it.

  • I want to be costructive, and i study framework examples for allow discovering of my rPI0 sensors (no action, no event, only two float).

  • I start with NodeJS. But don’t support rPI0, armv6, need a manual install of a tar.gz that anyway don’t works for dependencies issues. I spent two hour to resolve this kind of issues, at the end the NodeJS example throw “mDNS error: Error: Timed out getting default route”. It’s a BASE raspbian, in LAN, without any firewall, and i don’t find anything about this error.

  • I fallback with PHP. But don’t install, Composer say ram/swap are too low.

I’m currently dont yet find a solution for expose TWO FLOAT number in a IoT device well-known like a Raspberry Zero W.

There isn’t any specs for solution that don’t require bloat framework in IoT things, at least if only expose data in read-only? like a /.well-known/.webthing where i can expose this two float…

Install for the first time the gateway. Search, nothing detected, neither known devices like Philips Hue. I understand the addon things, but a simple nmap for a “we found a Philips Hue, you know there is an addon?”

This is definitely not always simple. For instance, some devices are not Wi-Fi at all (Zigbee, Z-Wave, Bluetooth, etc.), so it’s not straightforward to just scan for everything. We do pop up a message when the scan times out, prompting users to install some add-ons.

Wow the floodplan UI! But don’t accept .png, only .svg, i can’t convert it.

JPEG and PNG images should work just fine. We just recommend SVG for scaling purposes.

I start with NodeJS. But don’t support rPI0, armv6, need a manual install of a tar.gz that anyway don’t works for dependencies issues.

Node.js version 8 and 10 should work just fine on ARMv6. Node dropped support for ARMv6 after that point. You can even install it from the Raspbian repos, e.g. apt install nodejs npm.

at the end the NodeJS example throw “mDNS error: Error: Timed out getting default route”. It’s a BASE raspbian, in LAN, without any firewall, and i don’t find anything about this error.

This is coming from the dnssd Node module. I’ve only ever seen that happen when the device isn’t actually connected to the network.

I fallback with PHP. But don’t install, Composer say ram/swap are too low.

There are a lot of other libraries you could try: https://iot.mozilla.org/framework/

I’m currently dont yet find a solution for expose TWO FLOAT number in a IoT device well-known like a Raspberry Zero W.

You can easily do this once you get one of the webthing libraries working.

There isn’t any specs for solution that don’t require bloat framework in IoT things, at least if only expose data in read-only? like a /.well-known/.webthing where i can expose this two float…

The libraries are not exactly bloated. To conform to the Web Thing API, they have to support a certain set of REST and WebSocket APIs, which requires a set of libraries. Is there something you’d like to see?

First of all, apart my stupid newbie issues, this is a great project.
I’m around 15 years that i build my house, i have a Konnex (with one hundred ‘thing’ like light, power, blind etc), a DIY heating, a pool monitor, a lots of zwave (but mapped on a Fibaro hub), projector mapping with charts etc.
In years, i build my system (a gateway that discover things, made available via Alexa and Telegram, also a chatbot).
I study the implementation of this kind of logic (things and capabilities/properties) in many platform like Home Assistant, openHAB, Amazon Alexa, Fibaro and many other, it’s a BIG BIG GREAT objective define a standard for it.
From when i found this project, i’m thinking about drop my system to adopt this standard.

This is definitely not always simple. For instance, some devices are not Wi-Fi at all (Zigbee, Z-Wave, Bluetooth, etc.), so it’s not straightforward to just scan for everything. We do pop up a message when the scan times out, prompting users to install some add-ons.

In my system, i perform a nmap scan, and every devices found are a ‘thing’ with ‘lan’ capabilities.
Mainly because i have some alert related to downtime of important thing (like the Konnex Hub, or the Tesla PowerWall2).
And, if a guest connect their smartphone to my wifi, i like to see the ‘thing’ reported.
Philips hub for example have nmap vendor=“Philips Lighting BV”, simply detect it may trigger a recommended addons. Not really important, only a suggestion to make the system more user-friendly (userfriendly -> mass adoption -> interest to support/develop addons).

In my system, after the first discovery with nmap, every ‘thing’ with capability ‘lan’ are processed automatically until another plugin manage it, to add automatically Philips light, Konnex devices, Fibaro devices etc.

JPEG and PNG images should work just fine. We just recommend SVG for scaling purposes.

PNG import don’t do nothing. I will recheck this. Ignore.

To conform to the Web Thing API, they have to support a certain set of REST and WebSocket APIs, which requires a set of libraries.

Again, my newbie fault about this system. I honestly don’t understand why a simple device need a mandatory WebSocket framework if need to expose only two read-only floats number, but again i’m just start studying Moz WebThings specs.

Thanks for your reply.