SlopScore
00 crowd

HA_hgsmart-pet-feeder

Custom Integration for the Honey Guardian S25D/305D pet feeders
Open repo on GitHubgithub.com/Serjlee/HA_hgsmart-pet-feeder
Python · ★ 11 · 5 forks · MIT · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)iot
listed 1 hour ago by Serjlee · last checked 1 hour 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-12: Custom Integration for the Honey Guardian S25D/305D pet feeders; its own README says "Configure the update interval (default: 15 seconds) Questions Is this vibe-coded? Quite a bit, yes". 11 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 Serjlee. 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
Custom Integration for the Honey Guardian S25D/305D pet feeders
topics
hacshacs-integrationhacs-integration-custom-integrationhasshome-assistanthomeassistantpet-feeder
created
2026-01-13 · pushed 3 weeks ago · 73 commits · 4 contributors
release
v1.1.1 · 2026-06-21
languages
Python 100%
paperwork
licensereadme 42% health
dependencies
no dependency graph (no manifest, or disabled) · OSV.dev, checked 1 hour 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)
hacshacs-integrationhacs-integration-custom-integrationhasshome-assistanthomeassistantpet-feeder
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: Custom Integration for the Honey Guardian S25D/305D pet feeders; its own README says "Configure the update interval (default: 15 seconds) Questions Is this vibe-coded? Quite a bit, yes". 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

HGSmart Pet Feeder Integration for Home Assistant

A custom Home Assistant integration for Honey Guardian/Guaridan/Guaridian S30D/S25D Pet Feeder, providing a replacement for the (horrid) HGSmart app.

This integration was developed through reverse engineering of the HGSmart Android application and provides access to feeding schedules, manual feeding, food level monitoring, and device status.

Features

  • Manual feeding button with configurable portions
  • Access to the programmable feeding schedules of the device
  • Real-time food level monitoring
  • Desiccant expiration tracking and reset
  • Service for custom integrations / schedules (but you'll need to trust the HGSmart APIs and the pet feeder Wi-Fi connectivity)
  • Eating sensors for supported devices
  • Event logs

Example cards

All example cards use the S25D model, remember to replace any s25d occurrence with your device model (ie: s30d)

Simple

basic

Required custom cards: layout-cards, lovelace-mushroom, slider-button-card

Click here to see the card YAML
type: custom:layout-card
layout_type: custom:vertical
cards:
  - type: custom:mushroom-title-card
    title: Cat Kibble
  - type: custom:layout-card
    layout_type: custom:grid-layout
    layout:
      grid-template-columns: 70% 30%
      padding: 0px
      margin: 0px
    cards:
      - type: custom:mushroom-entity-card
        entity: button.s25d_feed
        icon_color: accent
        tap_action:
          action: more-info
        hold_action:
          action: more-info
        double_tap_action:
          action: more-info
        name: Feed the beasts
        fill_container: false
      - type: custom:mushroom-number-card
        entity: number.s25d_manual_feed_portions
        name: Porzioni
        fill_container: false
        secondary_info: none
        layout: horizontal
        icon_type: none
        display_mode: buttons
        primary_info: none
  - type: custom:layout-card
    layout_type: custom:grid-layout
    layout:
      grid-template-columns: 35% 15% 50%
      padding: 0px
      margin: 0px;
    cards:
      - type: custom:mushroom-entity-card
        entity: sensor.s25d_desiccant_expiry
        name: Desiccant
        fill_container: true
      - show_name: false
        show_icon: true
        type: button
        entity: button.s25d_reset_desiccant
        icon: mdi:refresh
        theme: minimalist-desktop
      - type: custom:slider-button-card
        entity: number.s25d_set_food_remaining
        slider:
          direction: left-right
          background: solid
          use_percentage_bg_opacity: false
          show_track: true
          toggle_on_click: false
          force_square: false
        show_name: true
        show_state: true
        compact: true
        icon:
          show: true
          tap_action:
            action: more-info
          icon: mdi:cookie
        action_button:
          mode: toggle
          icon: mdi:power
          show: false
          show_spinner: true
          tap_action:
            action: toggle
        show_attribute: true
        name: Kibble

Fully featured

full

(thanks @sovanyio)

Required custom cards: layout-cards, lovelace-mushroom, slider-button-card, flex-table-card, bubble-card

Click here to see the card YAML
type: custom:layout-card
layout_type: custom:vertical
cards:
  - type: custom:layout-card
    layout_type: custom:vertical
    layout:
      padding: 0px
      margin: 0px
    cards:
      - type: custom:mushroom-title-card
        title: Cat Feeder
      - type: custom:layout-card
        layout_type: custom:grid-layout
        layout:
          grid-template-columns: 70% 30%
          padding: 0px
          margin: 0px
        cards:
          - type: custom:mushroom-entity-card
            entity: button.s25d_feed
            icon_color: accent
            tap_action:
              action: more-info
            hold_action:
              action: more-info
            double_tap_action:
              action: more-info
            name: Feed the kitties
            fill_container: false
            primary_info: name
            secondary_info: last-changed
          - type: custom:mushroom-number-card
            entity: number.s25d_manual_feed_portions
            name: Portions
            fill_container: false
            secondary_info: none
            layout: horizontal
            icon_type: none
            display_mode: buttons
            primary_info: none
      - type: custom:layout-card
        layout_type: custom:grid-layout
        layout:
          grid-template-columns: 35% 15% 50%
          padding: 0px
          margin: 0px;
        cards:
          - type: custom:mushroom-entity-card
            entity: sensor.s25d_desiccant_expiry
            name: Desiccant
            fill_container: true
          - show_name: false
            show_icon: true
            type: button
            entity: button.s25d_reset_desiccant
            icon: mdi:refresh
            theme: minimalist-desktop
          - type: custom:slider-button-card
            entity: number.s25d_set_food_remaining
            slider:
              direction: left-right
              background: solid
              use_percentage_bg_opacity: false
              show_track: true
              toggle_on_click: false
              force_square: false
            show_name: true
            show_state: true
            compact: true
            icon:
              show: true
              tap_action:
                action: more-info
              icon: mdi:cookie
            action_button:
              mode: toggle
              icon: mdi:power
              show: false
              show_spinner: true
              tap_action:
                action: toggle
            show_attribute: true
            name: Kibble
      - type: custom:layout-card
        layout_type: custom:grid-layout
        layout:
          grid-template-columns: 50% 50%
          padding: 0px
          margin: 0px
        cards:
          - type: custom:mushroom-entity-card
            entity: switch.s25d_schedule_1_enabled
            icon: mdi:calendar-clock
            icon_color: green
            tap_action:
              action: navigate
              navigation_path: "#feeding-schedule"
            hold_action:
              action: navigate
              navigation_path: "#feeding-schedule"
            double_tap_action:
              action: navigate
              navigation_path: "#feeding-schedule"
            name: Edit Schedule
            fill_container: false
            primary_info: name
            secondary_info: none
          - type: custom:mushroom-entity-card
            entity: switch.s25d_schedule_1_enabled
            icon: mdi:cogs
            icon_color: purple
            tap_action:
              action: navigate
              navigation_path: "#feeding-settings"
            hold_action:
              action: navigate
              navigation_path: "#feeding-settings"
            double_tap_action:
              action: navigate
              navigation_path: "#feeding-settings"
            name: Device Settings
            fill_container: false
            primary_info: name
            secondary_info: none
  - type: custom:mushroom-title-card
    title: Feed log
  - type: custom:flex-table-card
    entities:
      - entity: sensor.s25d_today_s_events
    css:
      tr:has(td [data-bowl='right']): "background-color: light-dark(#e3f2fd, #0d47a1) !important;"
      tr:has(td [data-bowl='left']): "background-color: light-dark(#fff3e0, #e65100) !important;"
      tr:has(td [data-bowl='none']): "font-weight: bold;"
      th:nth-child(3): "display: none;"
      tr td:nth-child(3): "display: none;"
      td:nth-child(2): "padding: .5rem"
    columns:
      - name: Time
        data: events.createTime
        modify: >-
          (new Date(x.replace(' ',
          'T'))).toLocaleTimeString('it-IT').toLowerCase()
        align: right
      - name: Activity
        data: events.eventDesc
      - name: Code
        data: events.event
        modify: >
          (x == '1_10' && `<span data-bowl="right">${x}</span>`) || (x == '1_9'
          && `<span data-bowl="left">${x}</span>`) || (x == '1_1' && `<span
          data-bowl="none">${x}</span>`) || x
    strict: true
  - type: vertical-stack
    cards:
      - type: custom:bubble-card
        card_type: pop-up
        hash: "#feeding-schedule"
        button_type: name
        sub_button:
          main: []
          bottom: []
        show_header: false
      - type: custom:mushroom-title-card
        title: Feeding Schedule
      - type: custom:layout-card
        layout_type: custom:grid-layout
        layout

Read the rest on GitHub

Scan report · 2026-10-12
  • ✓ Prohibited terms or links
  • ✓ Repository eligibility
  • ✓ slopscore.md paperwork
  • ✓ Content policy
  • ✓ Risk review

From the balcony · 0 of 4 clapped

    Crusoe, Schnitzel, Cap'm Slop and Princess read it and passed. Their reasons are on the balcony, with every other verdict.

    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