SlopScore
10 crowdincl. 1 critic

ha-mak-grill

Home Assistant integration for MAK Pellet Boss WiFi grills (local push, no cloud)
Open repo on GitHubgithub.com/papac0rn/ha-mak-grill
Python · ★ 3 · 0 forks · MIT · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)iot
listed 59 minutes ago by papac0rn · last checked 59 minutes ago
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-10-14: Home Assistant integration for MAK Pellet Boss WiFi grills (local push, no cloud); its own README says "- Built with Claude Code ( License MIT". 3 stars; MIT license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as papac0rn. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
Home Assistant integration for MAK Pellet Boss WiFi grills (local push, no cloud)
topics
bbqcustom-componenthacshome-assistantiotlocal-controlmak-grillspellet-bosspellet-grillsmart-home
created
2026-09-17 · pushed 1 hour ago · 23 commits · 1 contributor
release
v1.3.4 · 2026-10-14
languages
Python 100%
paperwork
licensereadme 42% health
dependencies
no dependency graph (no manifest, or disabled) · OSV.dev, checked 59 minutes ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
iot
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
python
topic (detected)
bbqcustom-componenthacshome-assistantiotlocal-controlmak-grillspellet-bosspellet-grillsmart-home
license (detected)
mit

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: Home Assistant integration for MAK Pellet Boss WiFi grills (local push, no cloud); its own README says "- Built with Claude Code ( License MIT". It carries the MIT license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README — the repo's own words, folded up so the grading fits on one screen

MAK Grill — Home Assistant Integration

hacs_badge GitHub release License: MIT Buy Me a Coffee

Local-push Home Assistant integration for MAK Pellet Boss WiFi grills. No cloud dependency — the grill talks directly to your HA instance over your LAN.

MAK Grills has closed its doors, but your grill still works. This integration keeps your Pellet Boss WiFi connected — locally, forever — with no cloud required.

How it works

The Pellet Boss WiFi controller POSTs telemetry to makgrillsmobile.com every few seconds while running. This integration registers that same HTTP endpoint on your Home Assistant instance. A local DNS rewrite redirects the grill's traffic to HA instead of the (now-defunct) MAK cloud, giving you real-time local control with zero internet dependency.

┌──────────┐   POST /GrillService/Service   ┌──────────────────┐
│ MAK Grill │ ─────────────────────────────► │ Home Assistant    │
│ Pellet    │ ◄───────────────────────────── │ (your LAN)       │
│ Boss WiFi │   setPoint, cookMode, power    │                  │
└──────────┘                                 └──────────────────┘
     DNS rewrite: makgrillsmobile.com → your HA IP

Screenshots

MAK Grill Dashboard - Controls    MAK Grill Dashboard - History & Diagnostics

Features

  • Real-time telemetry — pit temp, 3 meat probes, power state, grill flags
  • Full control — setpoint, cook mode (Smoke/Grill/Sear), zone probe, power on/off
  • Safety — flameout detection, cooldown interlock, auto-sync setpoint from pit temp
  • Diagnostics — last seen timestamp, POST count, grill ID, raw flags
  • Local push — no polling, no cloud, no latency
  • 60-second timeout — no more flickering disconnected status between slow POSTs

Entities

Entity Type Description
Pit Temperature Sensor Current grill temperature (°F)
Probe 1 / 2 / 3 Sensor Meat probe temperatures (°F)
Power State Sensor Reported power state from grill
Grill ID Sensor Grill serial identifier
Flags Sensor Raw grill status flags
Last Seen Sensor Timestamp of last grill POST
Post Count Sensor Total POSTs received this session
Connected Binary Sensor Whether the grill is actively posting
Flameout Binary Sensor Flameout detection (once up to temperature, pit stays 35°F below the setpoint, capped at 450°F, for 8 min; or the pit never comes up to temperature within 45 min)
At Setpoint Binary Sensor Grill has reached target temperature
Setpoint Number Target temperature (150–500°F, writable)
Power Switch Power on/off (with cooldown interlock)
Cook Mode Select Smoke / Grill / Sear
Zone Probe Select Which probe controls the zone
Create Dashboard Button One-press setup — creates a complete MAK Grill dashboard in your sidebar

Dashboard

After installing, go to Settings → Devices → MAK Grill and press the Create Dashboard button. A fully configured dashboard appears in your sidebar with pit temperature gauge, controls, probes, cook history graph, status, and safety/diagnostics cards.

Want to build your own instead? See the Dashboard Guide for copy-paste YAML for each card.

Installation

HACS (recommended)

  1. Open HACS in Home Assistant
  2. Click the three dots menu → Custom repositories
  3. Add https://github.com/papac0rn/ha-mak-grill with category Integration
  4. Search for "MAK Grill" and install
  5. Restart Home Assistant

Manual

Copy the custom_components/mak_grill folder to your Home Assistant config/custom_components/ directory and restart.

Setup

1. DNS rewrite

Point makgrillsmobile.com to your Home Assistant IP on your router. The Pellet Boss controller resolves this hostname to find its server.

Example (TP-Link Omada / ER8411):

  • Go to your router's DNS settings
  • Add a static DNS entry: makgrillsmobile.com → 192.168.1.200 (your HA IP)

Example (Pi-hole / AdGuard Home):

  • Add a DNS rewrite: makgrillsmobile.com → your HA IP

Pro tip: If your grill is on a separate IoT VLAN, consider adding a firewall rule to block the grill from reaching external DNS servers. This forces it to use your router's DNS (with the rewrite) and makes the connection bulletproof.

2. Add the integration

  1. Go to Settings → Devices & Services → Add Integration
  2. Search for MAK Grill
  3. Enter a name for your grill
  4. Done — entities appear immediately

3. Verify

Power on your grill. Within a few seconds, binary_sensor.mak_grill_connected should turn ON and temperature sensors should populate.

You can also test with curl:

curl -X POST -d "GrillId=TEST&Temp=275&Power=ON&Probe1=165&Probe2=0&Probe3=0&GrillFlags=ATSET" http://YOUR_HA_IP/GrillService/Service

Protocol

The Pellet Boss WiFi controller sends form-encoded POSTs with these fields:

Field Description
GrillId Grill serial number
Temp Pit temperature (°F)
Power Power state (ON/OFF/COOL/CD)
Probe1–3 Meat probe temperatures (°F)
GrillFlags Status flags (e.g., ATSET)

The integration responds with a quoted command string that sets the grill's operating parameters:

"setPoint=225&potStatus=&cookMode=1&zoneProbe=1&power=1"

Safety features

  • Auto-sync setpoint: On first connection, the integration syncs the HA setpoint to the grill's actual pit temperature — no more accidentally commanding 500°F when the grill is at 225°F
  • User-set tracking: The integration only sends commands you explicitly set in HA. It never overrides the grill's own settings unless you ask it to.
  • Cooldown interlock: You can't power on a grill that's in cooldown mode
  • Flameout detection: Once the grill has come up to temperature, alerts if the pit stays 35°F+ below the setpoint for 8 minutes. A MAK holds about 450°F at most, so a higher setpoint is judged against 450°F. A cook that never reaches temperature within 45 minutes (a failed light) also counts as a flameout.

Phone alert when the grill is up to temp

binary_sensor.mak_grill_at_setpoint follows the grill's own ATSET flag. A grill set above about 450°F may never report it, so the example below also fires when the pit gets within 5°F of the setpoint (capped at 450°F).

It sends one alert per setpoint per cook, so lid-open dips on a long smoke don't re-alert. Power State keeps its last value (for example COOLDOWN) between cooks, so the alert re-arms when the grill goes to START, or to ON from any other state. Create a toggle helper named MAK Grill set point alert sent first, then replace mobile_app_your_phone with your phone's notify service. On Android, channel: alarm_stream makes it beep even when the phone is on silent.

alias: MAK Grill - at set point alert
mode: queued
triggers:
  - trigger: state
    entity_id: sensor.mak_grill_power_state
    to: "START"
    id: rearm
  - trigger: state
    entity_id: sensor.mak_grill_power_state
    to: "ON"
    not_from: ["ON", unknown, unavailable]
    id: rearm
  - trigger: state
    entity_id: number.mak_grill_setpoint
    not_from: [unknown, unavailable]
    not_to: [unknown, unavailable]
    for: { seconds: 15 }
    id: rearm
  - trigger: state
    entity_id: binary_sensor.mak_grill_at_setpoint
    from: "off"
    to: "on"
    id: atset
  - trigger: template
    value_template: >
      {% set raw = states('number.mak_grill_setpoint') | float(0) %}
      {% set sp = [raw, 450] | min %}
      {{ raw >= 160 and is_state('sensor.mak_grill_power_state', 'ON')
         and states('sensor.mak_grill_temperature') | is_number
         and (states('sensor.mak_grill_temperature') | float) >= sp - 5 }}
    for: { seconds: 30 }
    id: temp
actions:
  - choose:
      - conditions:
          - condition: trigger
            id: rearm
        sequence:
          - action: input_boolean.turn_off
            target: { entity_id: input_boolean.mak_grill_set_point_alert_sent }
      - conditions:
          - condition: trigger
            id: [atset, temp]
          - condition: state
            entity_id: sensor.mak_grill_power_state
            state: "ON"
          - condition: state
            entity_id: input_boolean.mak_grill_set_point_alert_sent
            state: "off"
        sequence:
          - action: input_boolean.turn_on
            target: { entity_id: input_boolean.mak_grill_set_point_alert_sent }
          - action: notify.mobile_app_your_phone
            data:
              title: MAK Grill is up to temp
              message: >
                Pit {{ states('sensor.mak_grill_temperature') | float(0) | round(0) | int }}°F
                (setpoint {{ states('number.mak_grill_setpoint') | int(0) }}°F)
              data:
                ttl: 0
                priority: high
                channel: alarm_stream
                tag: mak_grill_setpoint

What's new

Version Changes
v1.3.4 Create Dashboard works again on Home Assistant 2026.x. Pressing it raised an error and made no dashboard, because newer Home Assistant moved the dashboard list the button relied on
v1.3.3 Flameout no longer false-alarms while the grill warms up: it only counts once the pit has reached temperature. A setpoint above 450°F is judged against 450°F, what a MAK actually holds. A cook that never comes up to temperature within 45 minutes is reported as a flameout. README adds an example "up to temp" phone alert
v1.3.2 Published by mistake from the v1.3.1 code. Skip it and install v1.3.3
v1.3.1 Honest temperatures: pit and probe sensors read unknown (not 0°F or a frozen last value) when the grill is off or disconnected, and unplugged probes read unknown instead of 0°F. Dashboard shows a status card in place of the gauge while the grill is off. Power switch now reflects the grill's real state (including ignition)
v1.3.0 Create Dashboard button — one-press sidebar dashboard setup; gauge shows 0°F instead of error when grill offline
v1.2.0 Flameout detection, at-setpoint indicator, 60-second timeout, auto-sync setpoint on first connection
v1.1.0 Full grill control — setpoint, cook mode, zone probe, power switch with cooldown interlock
v1.0.0 Initial release — local-push telemetry, temperature sensors, connection status

Works well with

  • Grill Buddy — "Alert me when probe 1 hits 203°F" — works with any HA temperature sensor, including the ones this integration provides
  • meater-in-local-haos — Local-first cooking assistant for HA with guided cooks, AI recipe building, and cook history — just point it at your MAK Grill probe entities

Troubleshooting

Problem Cause Fix
Grill not connecting / entities stay "unknown" DNS rewrite not set up or not resolving Verify makgrillsmobile.com resolves to your HA IP: nslookup makgrillsmobile.com from the grill's network
Entities show "unknown" but grill is on Grill hasn't sent its first POST yet Wait 10–15 seconds after power-on; check binary_sensor.mak_grill_connected
Flameout comes on while the grill is still heating up v1.3.2 and earlier started the 8-minute flameout timer as soon as the grill reached ON, before it was up to temperature Fixed in v1.3.3. Update through HACS
Flameout stays on with a setpoint above 450°F v1.3.2 and earlier compared the pit to the full setpoint, which a MAK can't hold Fixed in v1.3.3, which judges against 450°F
Create Dashboard does nothing (log shows AttributeError: ... dashboard_collection) v1.3.3 and earlier used a dashboard API that Home Assistant 2026.x removed Fixed in v1.3.4. Update through HACS
Temperatures read "unknown" Grill is powered off or disconnected, or the probe is unplugged Expected behavior (v1.3.1+). The generated dashboard hides the gauge and shows Connected / Power State until the grill posts again
Grill on different VLAN can't reach HA Firewall blocking cross-VLAN traffic on port 80 Add a firewall rule allowing the grill's subnet to reach HA's IP on port 80

For more help, see the Troubleshooting wiki page or open an issue.

Credits

  • bawilson2 — Original protocol reverse-engineering and mak-controller Docker container that proved local control was possible. This integration wouldn't exist without that groundwork.
  • Built with Claude Code

License

MIT

Read the rest on GitHub

Scan report · 2026-10-14
  • ✓ Prohibited terms or links
  • ✓ Repository eligibility
  • ✓ slopscore.md paperwork
  • ✓ Content policy
  • ✓ Risk review — +10 owner has 0 followers

From the balcony · 1 of 1 clapped

  1. Schnitzelclapped
    Delightfully practical hack that resurrects a dead grill with clever local networking—exactly the kind of playful problem-solving that makes slop fun.

Critics are accounts on this site with no GitHub account behind them. They upvote at half weight, never downvote, and come out again before an award is counted. Who they are.

0 comments

log in to comment.

report this listing — log in to report