packages/fff: Add some mqtt packages #24

Closed
ChristianD wants to merge 3 commits from ChristianD/firmware:mqtt into master
Member

This patchset added first mqtt packages. We can use mqtt for many other decentralized things.

With this set, we use mqtt only for monitoring data, next steps we can use it for automatic router configuration or some other things.

This patchset added first mqtt packages. We can use mqtt for many other decentralized things. With this set, we use mqtt only for monitoring data, next steps we can use it for automatic router configuration or some other things.
ChristianD changed title from mqtt to Add some mqtt packages 2020-12-23 09:13:42 +01:00
McUles reviewed 2020-12-23 22:50:16 +01:00
@ -0,0 +2,4 @@
fetch_id="64"
if [ -n "$(uci -q get fff.mqtt.server)" ] ; then
mosquitto_pub -h "$(uci get fff.mqtt.server)" -p 1883 -t /monitoring -m "$(/bin/alfred-json -r "$fetch_id")"
First-time contributor

Publish an /monitoring/alfred/{MAC-ADRESS} schicken lassen.

Publish an /monitoring/alfred/{MAC-ADRESS} schicken lassen.
Author
Member

Ich finde Alfred beschreibt nicht den Aufbau des Datensatzes. Ich bin, wie im IRC bereits angemerkt, für durchversionieren:

/monitoring/v1/{MAC-ADRESS}

und wenn jemand eine bessere Struktur erfindet und einbaut, nutzt er einfach v2, wenns dann mal wieder was gibt v3 usw...

Die MAC sollten wir auf jeden Fall mit ins Topic nehmen, dann kann man danach gut filtern beim lesen der Daten wenn man nach bestimmte Router sucht.

Ich finde Alfred beschreibt nicht den Aufbau des Datensatzes. Ich bin, wie im IRC bereits angemerkt, für durchversionieren: /monitoring/v1/{MAC-ADRESS} und wenn jemand eine bessere Struktur erfindet und einbaut, nutzt er einfach v2, wenns dann mal wieder was gibt v3 usw... Die MAC sollten wir auf jeden Fall mit ins Topic nehmen, dann kann man danach gut filtern beim lesen der Daten wenn man nach bestimmte Router sucht.
First-time contributor

Irgendwann hat dann aber keiner mehr den Durchblick welche Version für welches Format genutzt wird. Würde da schon sprechende Namen dafür nutzen wollen.

Irgendwann hat dann aber keiner mehr den Durchblick welche Version für welches Format genutzt wird. Würde da schon sprechende Namen dafür nutzen wollen.
Author
Member

Ich hab jetzt mal "v1" gemacht, wenn jemand noch einen besseren Vorschlag bringt der auch sinnvoll ist, hab ich kein Problem das nochmal zu ändern. "Alfred" halte ich aber generell für falsch und will ich nicht haben.

Ich hab jetzt mal "v1" gemacht, wenn jemand noch einen besseren Vorschlag bringt der auch sinnvoll ist, hab ich kein Problem das nochmal zu ändern. "Alfred" halte ich aber generell für falsch und will ich nicht haben.
ChristianD reviewed 2020-12-23 23:00:43 +01:00
@ -0,0 +12,4 @@
CATEGORY:=Freifunk
TITLE:=Freifunk-Franken mqtt configuration
URL:=https://www.freifunk-franken.de
DEPENDS:=
Author
Member

fehlt \

fehlt \
ChristianD marked this conversation as resolved
ChristianD reviewed 2020-12-23 23:01:05 +01:00
@ -0,0 +12,4 @@
CATEGORY:=Freifunk
TITLE:=Freifunk-Franken mqtt configuration
URL:=https://www.freifunk-franken.de
DEPENDS:=+alfred-json \
Author
Member

Absatz

Absatz
ChristianD marked this conversation as resolved
ChristianD reviewed 2020-12-23 23:01:27 +01:00
@ -0,0 +1 @@
*/5 * * * * /usr/sbin/alfred-mqtt-proxy
Author
Member

Zeitverzögerung

Zeitverzögerung
ChristianD marked this conversation as resolved
ChristianD force-pushed mqtt from 87bc0f7ea8 to 0359124076 2020-12-25 12:07:22 +01:00 Compare
Author
Member

Diverse Kleinigkeiten und Fehler überarbeitet

Diverse Kleinigkeiten und Fehler überarbeitet
adschm added the
packages/fff
label 2020-12-28 16:48:42 +01:00
adschm reviewed 2020-12-28 16:56:07 +01:00
@ -0,0 +31,4 @@
# nothing
endef
define Build/Compile
Owner

Prepare und Configure können weg.

Prepare und Configure können weg.
ChristianD marked this conversation as resolved
@ -0,0 +1,6 @@
#!/bin/ash
Owner

reicht /bin/sh?

reicht /bin/sh?
Author
Member

getestet und reicht ;)

getestet und reicht ;)
Owner

Testen hilft hier nicht, da sowohl /bin/sh, als auch /bin/ash auf die busybox symlinkt, und die sich für sh und ash identisch verhält (afaik).

Testen hilft hier nicht, da sowohl /bin/sh, als auch /bin/ash auf die busybox symlinkt, und die sich für sh und ash identisch verhält (afaik).
ChristianD marked this conversation as resolved
@ -0,0 +29,4 @@
define Build/Configure
# nothing
endef
Owner

Prepare und Configure weg.

Prepare und Configure weg.
ChristianD marked this conversation as resolved
@ -0,0 +1,5 @@
uci batch <<EOF
set fff.mqtt=mqtt
EOF
Owner

uci batch wegen einer Zeile ist irgendwie komisch, ich würde hier einfach

uci set fff.mqtt=mqtt

machen. Außer du hast vor, dass später noch zu erweitern.

uci batch wegen einer Zeile ist irgendwie komisch, ich würde hier einfach `uci set fff.mqtt=mqtt` machen. Außer du hast vor, dass später noch zu erweitern.
ChristianD marked this conversation as resolved
@ -0,0 +27,4 @@
define Build/Configure
# nothing
endef
Owner

Prepare und Configure weg.

Prepare und Configure weg.
ChristianD marked this conversation as resolved
@ -0,0 +38,4 @@
endef
$(eval $(call BuildPackage,fff-web-mqtt))
Owner

Leerzeile am Ende weg.

Leerzeile am Ende weg.
ChristianD marked this conversation as resolved
@ -0,0 +12,4 @@
fi
%>
Owner

Eine Leerzeile reicht.

Eine Leerzeile reicht.
ChristianD marked this conversation as resolved
@ -0,0 +23,4 @@
<fieldset style="min-height: 7em;" class="smallinput">
<legend>MQTT</legend>
<table>
<tr><th>Server:</th><td><input type="text" name="server" value="<%= ${server} %>" /></td></tr>
Owner

Hier könnte man überlegen, den uci get hier direkt reinzuschreiben, wenn man die Variable eh nur einmal braucht. Hängt von den Plänen für die Zukunft ab.

Hier könnte man überlegen, den uci get hier direkt reinzuschreiben, wenn man die Variable eh nur einmal braucht. Hängt von den Plänen für die Zukunft ab.
Author
Member

Ich denke ich mach es wie du sagst und wenn man es später dennoch mehrfach braucht, kann man das immer noch in diese Richtung wieder umbauen. Ganz sicher bin ich mir nicht ob und wann da noch was kommt wo man diese Variable vllt. nochmal benötigt.

Ich denke ich mach es wie du sagst und wenn man es später dennoch mehrfach braucht, kann man das immer noch in diese Richtung wieder umbauen. Ganz sicher bin ich mir nicht ob und wann da noch was kommt wo man diese Variable vllt. nochmal benötigt.
ChristianD marked this conversation as resolved
@ -0,0 +29,4 @@
<input type="submit" style="margin-top: 5px; margin-left: 3px;" />
</form>
<%in /www/include/footer %>
Owner

Leerzeile am Ende weg, ggf. lieber eine vor dem footer include.

Leerzeile am Ende weg, ggf. lieber eine _vor_ dem footer include.
ChristianD marked this conversation as resolved
Owner

Generell wird hier öfters die Formattierung mehrmals in verschiedenen Commits geändert, vor allem bei den Dependencies. Dies könnte man noch aufräumen, sodass die DEPENDS gleich im ursprünglichen Commit richtig formattiert sind/werden, und dann jeweils nur noch eine Zeile hinzugefügt wird.

Generell wird hier öfters die Formattierung mehrmals in verschiedenen Commits geändert, vor allem bei den Dependencies. Dies könnte man noch aufräumen, sodass die DEPENDS gleich im ursprünglichen Commit richtig formattiert sind/werden, und dann jeweils nur noch eine Zeile hinzugefügt wird.
adschm added the
layer3
label 2020-12-28 16:57:36 +01:00
adschm reviewed 2020-12-28 18:27:27 +01:00
@ -0,0 +3,4 @@
PKG_NAME:=fff-mqtt-monitoring
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-mqtt-monitoring
Owner

Auch hier kann PKG_BUILD_DIR bei allen drei Packages weg, siehe #25

Auch hier kann PKG_BUILD_DIR bei allen drei Packages weg, siehe #25
ChristianD marked this conversation as resolved
ChristianD force-pushed mqtt from 0359124076 to 98ba40752a 2020-12-28 19:16:39 +01:00 Compare
ChristianD force-pushed mqtt from 98ba40752a to 7cc93f7016 2020-12-28 19:18:08 +01:00 Compare
Author
Member

Generell wird hier öfters die Formattierung mehrmals in verschiedenen Commits geändert, vor allem bei den Dependencies. Dies könnte man noch aufräumen, sodass die DEPENDS gleich im ursprünglichen Commit richtig formattiert sind/werden, und dann jeweils nur noch eine Zeile hinzugefügt wird.

Ohwe ist da ein Chaos entstanden. Ich glaube ich hab das nun ordentlich aufgeräumt und ich hoffe das bleibt jetzt auch so ;)
Ich hab in diesem Atemzug auch ettliche Anmerkungen ausgebessert und ein paar Fehler die ich selbst gefunden habe (z.b. br-mesh durch br-client ersetzt) ausgebessert. Den Rest werde ich später noch überarbeiten

> Generell wird hier öfters die Formattierung mehrmals in verschiedenen Commits geändert, vor allem bei den Dependencies. Dies könnte man noch aufräumen, sodass die DEPENDS gleich im ursprünglichen Commit richtig formattiert sind/werden, und dann jeweils nur noch eine Zeile hinzugefügt wird. Ohwe ist da ein Chaos entstanden. Ich glaube ich hab das nun ordentlich aufgeräumt und ich hoffe das bleibt jetzt auch so ;) Ich hab in diesem Atemzug auch ettliche Anmerkungen ausgebessert und ein paar Fehler die ich selbst gefunden habe (z.b. br-mesh durch br-client ersetzt) ausgebessert. Den Rest werde ich später noch überarbeiten
ChristianD force-pushed mqtt from 7cc93f7016 to 42035a11f7 2020-12-28 19:34:17 +01:00 Compare
ChristianD force-pushed mqtt from 42035a11f7 to 1ada03cbbf 2020-12-28 19:35:02 +01:00 Compare
ChristianD force-pushed mqtt from 1ada03cbbf to a991486f46 2020-12-28 19:36:50 +01:00 Compare
ChristianD force-pushed mqtt from a991486f46 to 7af400a29b 2021-01-01 11:08:40 +01:00 Compare
ChristianD changed title from Add some mqtt packages to packages/fff: Add some mqtt packages 2021-01-01 11:08:46 +01:00
ChristianD force-pushed mqtt from 7af400a29b to 42e6dfdf5e 2021-01-28 09:09:07 +01:00 Compare
Author
Member

src/packages/fff/fff-web-mqtt/files/www/ssl/cgi-bin/mqtt.html

hat noch ein 0755 bekommen

src/packages/fff/fff-web-mqtt/files/www/ssl/cgi-bin/mqtt.html hat noch ein 0755 bekommen
fbl added this to the next-feature milestone 2021-02-12 19:43:16 +01:00
ChristianD force-pushed mqtt from 42e6dfdf5e to 8f58f0c052 2021-02-14 09:56:43 +01:00 Compare
Author
Member

Die Zeit vom Cronjob angepasst. Die hat sich vorher mit dem Nodewatcher überschnitten und daher gab es manchmal falsche Daten, je nachdem was zuerst lief.

Die Zeit vom Cronjob angepasst. Die hat sich vorher mit dem Nodewatcher überschnitten und daher gab es manchmal falsche Daten, je nachdem was zuerst lief.
ChristianD force-pushed mqtt from 8f58f0c052 to fe06eae15c 2021-02-14 10:39:24 +01:00 Compare
McUles approved these changes 2021-06-21 20:21:09 +02:00
McUles left a comment
First-time contributor

reviewed-by McUles

reviewed-by McUles
Owner

Acked-by: Fabian Bläse <fabian@blaese.de>

Ich würde beim applien noch die Grammatikfehler in der Commit-Message und ein paar trailing spaces anpassen.

`Acked-by: Fabian Bläse <fabian@blaese.de>` Ich würde beim applien noch die Grammatikfehler in der Commit-Message und ein paar trailing spaces anpassen.
Owner

Applied.

Applied.
fbl closed this pull request 2021-11-10 13:45:17 +01:00
Owner

Würde mosquitto ohne TLS auch genügen? libmosquitto-ssl zieht libopenssl als Abhängigkeit in die Firmware, was ziemlich viel Platz verbraucht.

Als Alternative gäbe es mosquitto-client-nossl, das spart fast ein ganzes MB (komprimiert!) und die wären für einige Geräte mit 8 MiB Flash, mit bird für so gut wie alle Geräte mit 8 MiB Flash nötig.

Würde mosquitto ohne TLS auch genügen? `libmosquitto-ssl` zieht libopenssl als Abhängigkeit in die Firmware, was ziemlich viel Platz verbraucht. Als Alternative gäbe es `mosquitto-client-nossl`, das spart fast ein ganzes MB (komprimiert!) und die wären für einige Geräte mit 8 MiB Flash, mit bird für so gut wie alle Geräte mit 8 MiB Flash nötig.
Author
Member

Bisher ist nichts mit tls angedacht oder in Verwendung. Ich würde daher mal vorsichtig aus dem Bauch raus sagen, ja würde reichen.

Bisher ist nichts mit tls angedacht oder in Verwendung. Ich würde daher mal vorsichtig aus dem Bauch raus sagen, ja würde reichen.
fbl modified the milestone from next-feature to 20211201-beta 2023-02-21 23:57:25 +01:00

Pull request closed

Sign in to join this conversation.
No description provided.