Har länge småpillrat med ett använda callbacks men där har det inte funnits tillräckligt eleganta lösningar, bilioteket som fanns har jag både testat med socat och att byta ut med unix sockets men gillar inte naitive saker i java.
Pyton finns det rätt bra grejer till men måste då orka lära sig hur man gör demoner i pyton.
Nu i betan så kom ju de nya eventscripten som gör allt aldeles för enkelt.
Här är 2 script som ser till att temp, RH och deviceevents hamnar på en lokal mqtt broker med json som utformat.
pub-sensors.sh
Code: Select all
#!/bin/bash
BASE="tellstick/sensor/${PROTOCOL}/${MODEL}/${SENSORID}/"
if [ "${DATATYPE}" -eq 1 ]; then
TARGET="temperature"
EGU="°C"
elif [ "${DATATYPE}" -eq 2 ]; then
TARGET="humidity"
EGU="%RH"
fi
# Send the message
mosquitto_pub -t "${BASE}${TARGET}" -m "{\"${TIMESTAMP}\",\"${VALUE}\",\"${EGU}\"}"
Code: Select all
#!/bin/bash
BASE="tellstick/device/${DEVICEID}/"
# Send the message
mosquitto_pub -t "${BASE}" -m "{\"${METHOD}\",\"${METHODDATA}\"}"
> mosquitto_sub -v -t "#"
tellstick/sensor/oregon/1A2D/177/temperature {"1380980586","23.0","°C"}
tellstick/sensor/oregon/1A2D/177/humidity {"1380980586","41","%RH"}
tellstick/sensor/oregon/EA4C/196/temperature {"1380980587","12.4","°C"}
tellstick/device/1 {"2",""}
tellstick/sensor/oregon/1A2D/177/temperature {"1380980625","23.0","°C"}
tellstick/sensor/oregon/1A2D/177/humidity {"1380980625","41","%RH"}
tellstick/device/1 {"1",""}
tellstick/sensor/oregon/EA4C/196/temperature {"1380980626","12.4","°C"}
tellstick/sensor/oregon/1A2D/177/temperature {"1380980664","23.0","°C"}
tellstick/sensor/oregon/1A2D/177/humidity {"1380980664","41","%RH"}
tellstick/sensor/oregon/EA4C/196/temperature {"1380980665","12.4","°C"}
tellstick/device/7 {"16","255"}
tellstick/device/7 {"16","161"}
tellstick/device/7 {"16","146"}
tellstick/device/7 {"16","255"}
Kul att se att ngt händer om än lite långsamt