Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pedesen/node-red-contrib-braumeister
Node-RED nodes for interacting with Speidels Braumeister homebrewing system
https://github.com/pedesen/node-red-contrib-braumeister
braumeister homebrew javascript node-red node-red-contrib
Last synced: 4 months ago
JSON representation
Node-RED nodes for interacting with Speidels Braumeister homebrewing system
- Host: GitHub
- URL: https://github.com/pedesen/node-red-contrib-braumeister
- Owner: pedesen
- License: mit
- Created: 2019-01-25T14:43:15.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-04-29T20:18:16.000Z (almost 4 years ago)
- Last Synced: 2024-10-04T21:44:20.155Z (4 months ago)
- Topics: braumeister, homebrew, javascript, node-red, node-red-contrib
- Language: JavaScript
- Homepage:
- Size: 46.9 KB
- Stars: 4
- Watchers: 3
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Node-RED Braumeister
Basic [Node-RED](https://nodered.org) nodes for interacting with Speidels Braumeister homebrewing system. When a BRAUMEISTERmobil WiFi module is installed, it is running a web server with a rudimentary API. It provides measurement data like temperature or pump status as well as a list of stored recipes.
## 🔴 This doesn't work with the newest Braumeister firmware 1.1.27 🔴
## Requirements
- Braumeister brewing equipment with firmware earlier than 1.1.27
- BRAUMEISTERmobil WiFi extension module
- Node-RED## braumeister node
![braumeister node](docs/node-braumeister.png)
This node does an HTTP request to the Braumeister's `/bm.txt` file. The response is a txt file containing a csv-like string:
```
"V1.1.27 Sep 12 2018;0004A30B003FA809;0X13:13XCX2930X0X 72.5X0X2234X1X1X5X0X191XA00SXpiX000X0X0X0"
```(See [/bm.txt](docs/bm.txt.md) for more details what these values stand for.)
This node converts this string into an object containing measurement data / status values.
| value | description |
| --------------------- | ----------------------------------------------- |
| `firmware_version` | Braumeister firmware version |
| `temperature_current` | current temperature in °C |
| `temperature_target` | target temperature in °C |
| `time_target` | target time in seconds |
| `time_elapsed` | elapsed time in seconds |
| `pump` | pump status: `"off"`, `"on"` or `"inactive"` |
| `heating` | heating status: `"off"`, `"on"` or `"inactive"` |
| `source_string` | raw source string |#### Example Usage
![example](docs/example.png)
## recipes node
![recipes node](docs/node-recipes.png)
This node does an HTTP request to the Braumeister's `/rz.txt` file, parses the recipes and returns them in an array of objects:
```
[
{
index: 0,
mesh_in_temperature: 45,
step_1_temperature: 50,
step_1_time: 15,
step_2_temperature: 60,
step_2_time: 20,
step_3_temperature: 70,
step_3_time: 15,
step_4_temperature: 75,
step_4_time: 5,
boiling_time: 30,
boiling_temperature: 100,
hop_1_time: 5,
hop_2_time: 10,
hop_3_time: 15,
hop_4_time: 0,
hop_5_time: 0,
hop_6_time: 0,
beer_name: "Doubly Hoeppi"
},
{...}
]
```## Contributions
Contributions are always welcome! I need help further decrypting the [/bm.txt](docs/bm.txt.md) response file.