gleeds / cloudbbq Goto Github PK
View Code? Open in Web Editor NEWA Bluetooth to MQTT bridge for the Tenergy Solis Digital Meat Thermometer and other similar devices.
License: MIT License
A Bluetooth to MQTT bridge for the Tenergy Solis Digital Meat Thermometer and other similar devices.
License: MIT License
Trying to run this on a Raspberry Pi Zero W but get a load of deprecated package warnings.
After install completes it doesn't start/work.
pi@raspberrypi:~/cloudbbq $ npm install
npm WARN deprecated [email protected]: This library will not receive further updates other than security fixes. We recommend using @grpc/grpc-js instead.
npm WARN deprecated [email protected]: request has been deprecated, see request/request#3142
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
node-pre-gyp ERR! install response status 404 Not Found on https://github.com/abandonware/node-bluetooth-hci-socket/releases/download/0.5.3-8/bluetooth_hci_socket-0.5.3-8-node-v83-linux-arm.tar.gz
node-pre-gyp WARN Pre-built binaries not installable for @abandonware/[email protected] and [email protected] (node-v83 ABI, glibc) (falling back to source compile with node-gyp)
node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/abandonware/node-bluetooth-hci-socket/releases/download/0.5.3-8/bluetooth_hci_socket-0.5.3-8-node-v83-linux-arm.tar.gz
make: Entering directory '/home/pi/cloudbbq/node_modules/@abandonware/bluetooth-hci-socket/build'
npm WARN [email protected] No repository field.
Hi
First of all, this made my day when I found this, I've got a home built smoker and I've fiddled around with building also a esp-based thermometer, but I just don't get the readings stable enough, so I got a BT ready made 6 probe solution.
Challenge I have is that I get it to connect to the thermometer (and MQTT server), but I just don't get any readings. In the MQTT server I can just see a successful connection, no messages and checking the screen of my PI, I can only see that it's connected. (screenshot)
(edit, this is the screen even after a few hours of being connected)
Any pointer on where to troubleshoot is appriciated!
/Andreas
After some fiddling, I found a way to build a Docker container for this. Docker my preferred way to run this, even on a Raspberry Pi. Some people might find this useful, too:
Dockerfile
FROM node:10-buster
RUN git clone https://github.com/gleeds/cloudbbq.git \
&& cd cloudbbq \
&& npm install
COPY docker-entrypoint.sh /entrypoint.sh
RUN chmod u+x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
docker-entrypoint.sh
#!/bin/sh
cd /cloudbbq
exec npm start
docker-compose.yml
version: '3'
services:
cloudbqq:
container_name: cloudbbq
image: cloudbbq:latest
network_mode: host
volumes:
- ./default.json:/cloudbbq/config/default.json
restart: unless-stopped
Line 7 in 0f5a942
Is the directory supposed to be app/config , because the Dockerfile create the app directory
- ./default.json:/app/config/default.json
Lines 22 to 23 in ec6e7b5
-p6
/-p7
should be -p5
/-p6
.
Hi! Sorry for OT. Is there a way to download csv data from cloudbbq application?
Does this project support this device? It uses the same app as other supported devices, but the Bluetooth name shows up as BBQ
. Is there an option for docker-compose that lets you specify the Bluetooth name to look for?
Hi there,
Firstly, awesome work on this! I've just gotten into smoking and I think this is gonna be awesome.
I'm getting an error message on mac os x. Everything seemed to install ok, and it's picking up the thermometer, but I'm just getting a repeating error and nothing seems to be making it to the broker. Any ideas?
> [email protected] start
> node app.js
iBBQ Discovered
(node:18415) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
paired
setting units
sending start temp events
wierd empty or wrong size buffer
wierd empty or wrong size buffer
wierd empty or wrong size buffer
wierd empty or wrong size buffer
wierd empty or wrong size buffer
wierd empty or wrong size buffer
wierd empty or wrong size buffer
wierd empty or wrong size buffer
wierd empty or wrong size buffer
wierd empty or wrong size buffer
wierd empty or wrong size buffer
wierd empty or wrong size buffer
wierd empty or wrong size buffer
It just repeats like that on and on.
Thanks!
This is a great little tool...now I can graph the progress of my BBQ efforts in HomeAssistant!!...anyway, running it as a service (and headless) it's a bit of a mystery what's happening if it doesn't connect, so I created another topic and put in MQTT publications mirroring each log entry so you can see from the MQTT side what's happening. I also made it so that if a probe is null it will still publish (a null value)...in combination with the log messages, if something goes wrong you can use the MQTT output to see problems so you won't be sitting there and thinking all is well when it isn't. If this seems useful I'll create a PR.
Hi there,
playing a bit with your code since I was looking for this exact solution to send my 6-probe bbq temp the cloud
I get this one error below. do you mind helping me out here, what am I missing?
Error probably caused by one of these lines in app.js
var config = require('config')
var mqttConfig = config.get('mqtt')
Thanks again..
sudo npm start
[email protected] start /home/pi/blue/cloudbbq
node app.js
module.js:550
throw err;
^
Error: Cannot find module 'config'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object. (/home/pi/blue/cloudbbq/app.js:5:14)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
Hi there,
Thanks for this repository. I hope to get it working soon.
I had a bunch of issues with npm install, but have gradually worked through the folder permissions issues I had and had a successful npm rebuild.
When I npm start I get the following error:
> [email protected] start /home/pi/cloudbbq
> node app.js
/home/pi/cloudbbq/node_modules/grpc/src/grpc_extension.js:58
throw e;
^
Error: Failed to load /home/pi/cloudbbq/node_modules/grpc/src/node/extension_binary/node-v57-linux-arm-glibc/grpc_node.node. /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/pi/cloudbbq/node_modules/grpc/src/node/extension_binary/node-v57-linux-arm-glibc/grpc_node.node)
at Object.Module._extensions..node (module.js:681:18)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/home/pi/cloudbbq/node_modules/grpc/src/grpc_extension.js:32:13)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
I've tried to do apt-get update, upgrade and dist-update etc but no luck.
I am not sure how to fix the CXX error.
Running on PiZeroW.
Any hints? :-)
is possible to read data over wifi from Inkbird IBS-TH3 ?
what other options are to read data from IBS-TH3 ?
Thanks for the code. I'm having difficulty running it on OSX, with the following:
node -v
v8.17.0
npm -v
6.13.4
I don't have a notifications section in my config file (as I don't want google integration) but it seems to be expecting it? This is the error:
iMac-Pro--Home:cloudbbq mh$ npm start
[email protected] start /Users/mh/cloudbbq/cloudbbq
node app.js
/Users/mh/cloudbbq/cloudbbq/node_modules/config/lib/config.js:203
throw new Error('Configuration property "' + property + '" is not defined');
^
Error: Configuration property "notifications" is not defined
at Config.get (/Users/mh/cloudbbq/cloudbbq/node_modules/config/lib/config.js:203:11)
at Object. (/Users/mh/cloudbbq/cloudbbq/app.js:11:33)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at startup (bootstrap_node.js:204:16)
at bootstrap_node.js:625:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: node app.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/mh/.npm/_logs/2020-03-14T23_46_43_209Z-debug.log
Any ideas?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.