This patch adds json to the mqtt monitoring package. #216
|
@ -3,5 +3,5 @@ MACADDR=$(cat /sys/class/net/br-client/address | /bin/sed 's/://g')
|
|||
SCRIPT_DATA_FILE=$(uci get nodewatcher.@script[0].data_file).json
|
||||
|
||||
if [ -n "$(uci -q get fff.mqtt.server)" ] ; then
|
||||
mosquitto_pub -h "$(uci get fff.mqtt.server)" -p 1883 -t /monitoring/v2/$MACADDR -m "$SCRIPT_DATA_FILE"
|
||||
mosquitto_pub -h "$(uci get fff.mqtt.server)" -p 1883 -t /monitoring/v2/$MACADDR -m "$(cat $SCRIPT_DATA_FILE)"
|
||||
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue
Das
-m "$(cat $SCRIPT_DATA_FILE)"
ist vermutlich nicht so geschickt. Irgendwann ist nämlich auch mal der Puffer für Kommandozeile voll :)Meine lokale man page sagt:
Kann das das openwrt
mosquitto_pub
vielleicht auch?Alternativ gibt es auch noch:
Damit könnte man sich das zwischenspeichern in einer Datei eventuell komplett sparen.
Die Datei direkt übergeben mit -f funktioniert.
Einsparen der Datei wird nicht so einfach funktionieren weil die einzelnen Scripts die Datei öffnen und ergänzen.
Hier werden auch in vorherige Nodes Daten eingefügt.
Wenn es hier noch eine schlauere Idee gibt, gerne.
Ich würde die Datei gerne behalten. Es kann ja sein das jemand (also irgendein Script o.ä.) anders auch an die json ran will und was damit tun will und nicht nur der mqtt. Wir sollten Nodewatcher-json und mqtt mMn getrennt halten.
Eventuell sollte man daraus sogar 2 Patches machen:
(Name frei erfunden, gerne anpassen ;))
Im Moment sind die Patches ja eh ein ziemliches durcheinander und sollten noch sortiert werden.
Mittelfristig müsste man dann überlegen ob man dem Monitoring wieder ein API verpasst wo man die json hinwirft oder ob das Monitoring auch einfach auf den mqtt zugreift und sich dort die Daten holt, mir wäre letztes deutlich lieber weil man dann weniger in der Firmware pflegen muss.