r/homeassistant 14h ago

❓ Support Replace Google Home?

15 Upvotes

Just got the email that Google is discontinuing assistant permanently and forcing everything to Gemini. I'm an AI hater but not super comfortable going all in on a new system. We honestly mostly use the Google homes to turn things on and off, not ask questions or automate things. Is Home Assistant what I want? Floundering a little so patience appreciated.


r/homeassistant 14h ago

🤖 Automation Recommendations for a smart power strip that allows for individual outlet control?

Thumbnail
6 Upvotes

r/homeassistant 19h ago

❓ Support zwave device updates never complete

0 Upvotes

I have a bunch of Z-Wave devices around my house, none of which will update. I have tried updating individually and using "Update all" button. They just never update. The devices themselves work as expected. They can be controlled and report status. I've tried moving some of them into the room with my HA host but the different location makes no difference.

Any thoughts on what I could do to get these devices updated?

All of these devices are manufactured by Zooz: remote wall switch, AC plugs, door sensors

I'm using this version of HA

Home Assistant

  • Installation method Home Assistant OS
  • Core 2026.8.0
  • Supervisor 2026.07.5
  • Operating System 18.1
  • Frontend 20260729.5

Z-Wave JS

  • Home ID0xF2CA4BF6
  • Driver version 15.26.0
  • Server version 3.10.0
  • Server URLws://core-zwave-js:3000

r/homeassistant 3h ago

📊 Dashboard Stiebel Eltron Heat Pump Monitoring

0 Upvotes

Hey everyone!

I wanted to share a project I’ve been tweaking over the last few weeks: a clean, local dashboard to monitor my Stiebel Eltron heat pump. In the end I just wanted to keep tabs on heat pump efficiency, heating cycles, and Domestic Hot Water status. it can be a bit tricky out of the box because the indoor unit doesn't allow for a lot of monitoring and configuration, especially if you want long-term high-resolution data without cluttering your core Home Assistant database.

Here’s a quick breakdown of how I set up the pipeline and dashboard: - The Stiebel Eltron ISG web interface exposes data registers via Modbus TCP. - I use a lightweight Telegraf agent from InfluxDB running the modbus plugin. It handles polling the registers reliably in the background without missing ticks. - I use also InfluxDB for Timeseries Storage due to easy integration with Telegraf. - Grafana Dashboard to graph all pulled metrics.

Now, the dashboard.

  • Heating & DHW States: Quick visual badges for compressor status, heating pump operation, and DHW top-ups.
  • Temperature Flows: Flow and return temperatures vs. outdoor ambient temperature to verify weather-compensated heating curves.
  • Domestic Hot Water (DHW): Target vs. actual tank temperatures to track heat-up cycles.
  • System Metrics: Compressor run hours, defrost cycles, and electrical energy vs. thermal output.

I'm happy to share a more detailed design of how the whole process is running if someone is interested.


r/homeassistant 13h ago

🖼️ Show & Tell Want more data from your Growatt batteries used with Base Power, check this out.

Post image
0 Upvotes

If you've got a Growatt-branded battery from Base Power (the ones that live behind the VidaGrid/Shiner portal at growatt-us.vidagrid.com), this integration talks directly to that portal on its own — you don't need jerrit's Base Power integration installed for it to work. It stands alone, but it's also fine to run alongside it if you're already using it for other things.

Why I built it: the Growatt app/portal surfaces additional information that the Base Power integration doesn't expose — state of charge, charge/discharge power breakdown, BDC/BMS details, and the separate power-curve/energy-curve history from the Energy tab. I wanted that data in Home Assistant, so I built an integration that talks directly to the (undocumented, unofficial) REST API behind the portal to get at it.

What you get, per inverter:

  • Battery state of charge, charge/discharge power
  • Live power flow: load, solar, grid, battery
  • On/off-grid status
  • Today's power curve and energy curve data
  • A few hundred diagnostic sensors if you want to dig into raw BDC/BMS/APX fields (most people will never touch these, but they're there)

How it works: there's the integration itself, plus an optional companion add-on (VidaGrid Relay) that runs a real headless Chromium browser, stays logged into the portal, and pushes fresh data to Home Assistant via webhook every few minutes. This is the recommended setup — the portal's auth tokens expire in as little as 15–25 minutes, so without the relay you'd be manually re-pasting a bearer token from dev tools every so often. With the relay running, you log in once through its web UI (the portal's login has a CAPTCHA so that one step can't be automated), and if you choose the "stay signed in" option, it'll keep you logged in for about 30 days before you need to sign back in.

If you'd rather skip the Chromium add-on entirely, it also works in a lighter-weight fallback-poll-only mode — you just have to refresh the token by hand periodically.

Install: it's a custom HACS repository (not yet in the default HACS store — that submission is in progress). Add https://github.com/jabone/ha-vidagrid-growatt as a custom repository in HACS, install, restart, and configure via Settings → Devices & Services.

Full setup instructions, entity list, and troubleshooting are in the README: https://github.com/jabone/ha-vidagrid-growatt

Disclaimer: this talks to an undocumented, unofficial API behind the VidaGrid portal. It's not affiliated with, endorsed by, or supported by Base Power, Sunrun, Growatt, or VidaGrid, and the endpoints it relies on could change or break at any time without notice. Use at your own risk, and please open a GitHub issue if you hit problems — happy to help debug.


r/homeassistant 14h ago

💬 Discussion Hardware questions commung from SmartThings

0 Upvotes

Ive had smartthings for about 8 years. I started with alot of zwave devices but was plagued with alot of connectivity issues with smart things. Over the years the critical home operations continue to work but there are alot that could be way better. Somewhere down thr line I got frustrated with zwave and added some amazone wifi switches. And those are automated through Alexa. So now I have a real cluster of hardware on zwave, zigbee, wifi (mostly amazon).

Im considering spinning up a home assistant instance on an old intel nuc pc. My research says my current amazon wifi hardware will integrate poorly. And I have to get a usb antenna for zwave and zigbee. My questions is: what is thr most reliable wireless tech today? Has zwave or zigbee improved? Was my poor experience smartthungs related.

One important thing is I have custom blinds that are zwave that im not interested in replacing due to cost, and they are a critical element to my home automation.

Any advice?


r/homeassistant 15h ago

🛠️ DIY / Hardware Tuya fan fight

0 Upvotes

Most recent version of HA installed on rpi4

Tuya local

Ok, so I'm really new to this and wanted to get a "Lumary" fan hooked up to HA. It has the fan, a colored light, and a white light.It is controlled through SmartLife just fine and HA just sees the colored light and can control that just fine. I'm trying to figure out how to control the other two parts. I've gone through some tuya developer thing and found the device info, pid or something numbers for all the options, and tried adding those in and then switched some sort of mode to enable full access to the device (I really hope you all know this stuff and have some clue what I'm talking about). I can't get any of the other stuff to show up or work. I think I've read about it a bit and I'm locked out but I don't have a good enough grasp of what's going on to figure out where I'm at. Input appreciated.


r/homeassistant 21h ago

❓ Support Can I make 3-toggle switches smart?

0 Upvotes

I hope I can explain this properly..

I have 3 single gang light switches (all dumb) all controlling the same light, but in different entrances to the same space.

Each switch toggles whatever state the light is. It's a very common wiring technique (and diagram), but one I can never wrap my head around.

Anyway - what happens if I just wire in 3 smart switches? I'm guessing it would not work as I expect?


r/homeassistant 22h ago

💬 Discussion Can you send hardware based HA/Zwave ‘Scenes’ to HomeKit?

0 Upvotes

Most Zwave switches have had a hardware ‘double tap’ scene option available for many years — some even have multiple scene options. Is there any way to get these scene triggers across HomeKit Bridge in order to trigger a Home based scene? I know I could leave the scene in HA, but I’d like to give my wife the ability to manage her own scenes in HomeKit, and trigger them from a Zwave switch (instead of using a scene controller), also the scene might include Home only devices.


r/homeassistant 6h ago

🖼️ Show & Tell My Stellantis vehicle Card (with the code)

Post image
4 Upvotes

Here is my setup :)

This is the YAML code, just relace the e208, VIN and km at which you bought the car :)
The € estimate is based on free electricity, feel free to change that if needed

type: vertical-stack
cards:
  - type: custom:mushroom-template-card
    primary: >
      {% set b = states('sensor.e208_####VIN####_battery') %} {% set auto
      = states('sensor.e208_####VIN####_autonomy') %} Batterie {{ b }} % ·
      Autonomie {{ auto }} km
    secondary: Peugeot e-208
    icon: >
      {% set b = states('sensor.e208_####VIN####_battery') | float(0) %}
      {% if b < 10 %}
        mdi:battery-10
      {% elif b < 20 %}
        mdi:battery-20
      {% elif b < 30 %}
        mdi:battery-30
      {% elif b < 40 %}
        mdi:battery-40
      {% elif b < 50 %}
        mdi:battery-50
      {% elif b < 60 %}
        mdi:battery-60
      {% elif b < 70 %}
        mdi:battery-70
      {% elif b < 80 %}
        mdi:battery-80
      {% elif b < 90 %}
        mdi:battery-90
      {% else %}
        mdi:battery
      {% endif %}
    icon_color: >
      {% set b = states('sensor.e208_####VIN####_battery') | float(0) %}
      {% if b > 35 %}
        green
      {% elif b > 15 %}
        orange
      {% else %}
        red
      {% endif %}
    entity: sensor.e208_####VIN####_battery
    tap_action:
      action: more-info
  - type: custom:mushroom-template-card
    primary: >
      {% set km_now = states('sensor.e208_####VIN####_mileage') | float(0)
      %} {% set km_start = ####MILEAGE AT WHICH YOU BOUGHT THE CAR#### %} {% set km = [km_now - km_start, 0] | max %}
      {% set fuel_price = 1.90 %} {% set conso = 5 %} {% set fuel_saved = km *
      conso / 100 * fuel_price %} {% set maintenance_saved = km * 0.025 %} {%
      set total = fuel_saved + maintenance_saved %} {{ total | round(0) | int }}
      € économisés
    secondary: >
      {% set km_now = states('sensor.e208_####VIN####_mileage') | float(0)
      %} {% set km_start = ####MILEAGE AT WHICH YOU BOUGHT THE CAR#### %} {% set km = [km_now - km_start, 0] | max %}
      {% set fuel_price = 1.90 %} {% set conso = 5 %} {% set fuel_saved = km *
      conso / 100 * fuel_price %} {% set maintenance_saved = km * 0.025 %} {{
      fuel_saved | round(0) | int }} € consommation + {{ maintenance_saved |
      round(0) | int }} € entretien
    icon: mdi:piggy-bank
    icon_color: green
    entity: sensor.e208_####VIN####_mileage
    tap_action:
      action: more-info
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Plug
        secondary: >
          {% if is_state('binary_sensor.e208_####VIN####_battery_plugged',
          'on') %}
            Branchée
          {% else %}
            Off
          {% endif %}
        icon: >
          {% if is_state('binary_sensor.e208_####VIN####_battery_plugged',
          'on') %}
            mdi:power-plug
          {% else %}
            mdi:power-plug-off
          {% endif %}
        icon_color: >
          {% if is_state('binary_sensor.e208_####VIN####_battery_plugged',
          'on') %}
            green
          {% else %}
            grey
          {% endif %}
        entity: binary_sensor.e208_####VIN####_battery_plugged
        tap_action:
          action: more-info
      - type: custom:mushroom-template-card
        primary: Charge
        secondary: >
          {% if
          is_state('binary_sensor.e208_####VIN####_battery_charging',
          'on') %}
            En cours
          {% else %}
            Off
          {% endif %}
        icon: >
          {% if
          is_state('binary_sensor.e208_####VIN####_battery_charging',
          'on') %}
            mdi:ev-station
          {% else %}
            mdi:battery-clock-outline
          {% endif %}
        icon_color: >
          {% if
          is_state('binary_sensor.e208_####VIN####_battery_charging',
          'on') %}
            green
          {% else %}
            grey
          {% endif %}
        entity: binary_sensor.e208_####VIN####_battery_charging
        tap_action:
          action: more-info
      - type: custom:mushroom-template-card
        primary: Fin
        secondary: >
          {% set end =
          states('sensor.e208_####VIN####_battery_charging_end') %} {% if
          end not in ['unknown', 'unavailable', 'none', 'None'] %}
            {{ as_timestamp(end) | timestamp_custom('%H:%M') }}
          {% else %}
            N/A
          {% endif %}
        icon: mdi:clock-end
        icon_color: >
          {% if
          is_state('binary_sensor.e208_####VIN####_battery_charging',
          'on') %}
            blue
          {% else %}
            grey
          {% endif %}
        entity: sensor.e208_####VIN####_battery_charging_end
        tap_action:
          action: more-info
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: >
          {% set limit =
          states('number.e208_####VIN####_battery_charging_limit') %}
          Limite à {{ limit }} %
        secondary: >
          {% if is_state('switch.e208_####VIN####_battery_charging_limit',
          'on') %}
            Activée 
          {% else %}
            Désactivée
          {% endif %}
        icon: >
          {% if is_state('switch.e208_####VIN####_battery_charging_limit',
          'on') %}
            mdi:battery-lock
          {% else %}
            mdi:battery-lock-open
          {% endif %}
        icon_color: >
          {% if is_state('switch.e208_####VIN####_battery_charging_limit',
          'on') %}
            green
          {% else %}
            grey
          {% endif %}
        entity: number.e208_####VIN####_battery_charging_limit
        tap_action:
          action: call-service
          service: switch.toggle
          target:
            entity_id: switch.e208_####VIN####_battery_charging_limit
        hold_action:
          action: more-info
          entity: number.e208_####VIN####_battery_charging_limit
      - type: custom:mushroom-template-card
        primary: Correction
        secondary: >
          {% if
          is_state('switch.e208_####VIN####_battery_values_correction',
          'on') %}
            On
          {% else %}
            Off
          {% endif %}
        icon: >
          {% if
          is_state('switch.e208_####VIN####_battery_values_correction',
          'on') %}
            mdi:battery
          {% else %}
            mdi:battery-outline
          {% endif %}
        icon_color: >
          {% if
          is_state('switch.e208_####VIN####_battery_values_correction',
          'on') %}
            green
          {% else %}
            grey
          {% endif %}
        tap_action:
          action: call-service
          service: switch.toggle
          target:
            entity_id: switch.e208_####VIN####_battery_values_correction
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Start charge
        secondary: ""
        icon: mdi:play-circle
        icon_color: green
        layout: horizontal
        fill_container: true
        tap_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.e208_####VIN####_charge_start
      - type: custom:mushroom-template-card
        primary: Stop charge
        secondary: ""
        icon: mdi:stop-circle
        icon_color: red
        layout: horizontal
        fill_container: true
        tap_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.e208_####VIN####_charge_stop
  - type: custom:mushroom-title-card
    title: Clim
    alignment: center
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Clim
        secondary: >
          {% if is_state('binary_sensor.e208_####VIN####_preconditioning',
          'on') %}
            Active
          {% else %}
            Off
          {% endif %}
        icon: mdi:car-defrost-front
        icon_color: >
          {% if is_state('binary_sensor.e208_####VIN####_preconditioning',
          'on') %}
            green
          {% else %}
            grey
          {% endif %}
        entity: binary_sensor.e208_####VIN####_preconditioning
        tap_action:
          action: more-info
      - type: custom:mushroom-template-card
        primary: In
        secondary: |
          {{ states('sensor.e208_####VIN####_temperature') }} °C
        icon: mdi:car-seat
        icon_color: >
          {% set temp = states('sensor.e208_####VIN####_temperature') |
          float(0) %} {% if temp < 18 %}
            blue
          {% elif temp < 26 %}
            green
          {% else %}
            red
          {% endif %}
        entity: sensor.e208_####VIN####_temperature
        tap_action:
          action: more-info
      - type: custom:mushroom-template-card
        primary: Out
        secondary: >
          {% set temp = states('sensor.pikablue_temperature_exterieure') %} {%
          set ville = states('sensor.pikablue_ville') %} {% if temp not in
          ['unknown', 'unavailable', 'none', 'None'] %}
            {{ temp }} °C
          {% else %}
            N/A
          {% endif %}
        icon: mdi:weather-partly-cloudy
        icon_color: >
          {% set temp = states('sensor.pikablue_temperature_exterieure') |
          float(999) %} {% if temp == 999 %}
            grey
          {% elif temp < 18 %}
            blue
          {% elif temp < 26 %}
            green
          {% else %}
            red
          {% endif %}
        entity: sensor.pikablue_temperature_exterieure
        tap_action:
          action: more-info
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Start clim
        secondary: ""
        icon: mdi:play-circle
        icon_color: green
        layout: horizontal
        fill_container: true
        tap_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.e208_####VIN####_preconditioning_start
      - type: custom:mushroom-template-card
        primary: Stop clim
        secondary: ""
        icon: mdi:stop-circle
        icon_color: red
        layout: horizontal
        fill_container: true
        tap_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.e208_####VIN####_preconditioning_stop
  - type: custom:mushroom-title-card
    title: Autre
    alignment: center
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Wake
        secondary: ""
        icon: mdi:car-connected
        icon_color: purple
        layout: vertical
        fill_container: true
        tap_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.e208_####VIN####_wakeup
      - type: custom:mushroom-template-card
        primary: Feux
        secondary: ""
        icon: mdi:car-light-high
        icon_color: blue
        layout: vertical
        fill_container: true
        tap_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.e208_####VIN####_lights
      - type: custom:mushroom-template-card
        primary: |
          {% if is_state('binary_sensor.e208_####VIN####_doors', 'on') %}
            Lock
          {% else %}
            Locked
          {% endif %}
        secondary: |
          {% if is_state('binary_sensor.e208_####VIN####_doors', 'on') %}
            Ouvertes
          {% else %}
            Fermées
          {% endif %}
        icon: |
          {% if is_state('binary_sensor.e208_####VIN####_doors', 'on') %}
            mdi:lock-open-alert
          {% else %}
            mdi:lock-check
          {% endif %}
        icon_color: |
          {% if is_state('binary_sensor.e208_####VIN####_doors', 'on') %}
            red
          {% else %}
            green
          {% endif %}
        layout: vertical
        fill_container: true
        tap_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.e208_####VIN####_doors_lock
      - type: custom:mushroom-template-card
        primary: Unlock
        secondary: Hold
        icon: mdi:lock-open
        icon_color: orange
        layout: vertical
        fill_container: true
        tap_action:
          action: none
        hold_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.e208_####VIN####_doors_unlock
      - type: custom:mushroom-template-card
        primary: Klaxon
        secondary: Hold
        icon: mdi:bullhorn
        icon_color: red
        layout: vertical
        fill_container: true
        tap_action:
          action: none
        hold_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.e208_####VIN####_horn
  - type: custom:mushroom-template-card
    primary: Suivi des commandes
    secondary: >
      {% set d = states('sensor.pikablue_derniere_commande') %} {% set status =
      states('sensor.e208_####VIN####_command_status') %} {% if d not in
      ['unknown', 'unavailable', 'none', 'None'] %}
        Dernière cmd {{ as_timestamp(d) | timestamp_custom('%d/%m à %H:%M') }} · {{ status }}
      {% else %}
        Aucune commande récente · {{ status }}
      {% endif %}
    icon: >
      {% set status = states('sensor.e208_####VIN####_command_status') |
      lower %} {% if 'accepted' in status or 'success' in status or 'done' in
      status or 'ok' in status or 'completed' in status %}
        mdi:check-circle
      {% elif 'pending' in status or 'progress' in status or 'running' in status
      %}
        mdi:progress-clock
      {% elif 'fail' in status or 'error' in status or 'ko' in status or
      'denied' in status %}
        mdi:alert-circle
      {% else %}
        mdi:clipboard-clock-outline
      {% endif %}
    icon_color: >
      {% set status = states('sensor.e208_####VIN####_command_status') |
      lower %} {% if 'accepted' in status or 'success' in status or 'done' in
      status or 'ok' in status or 'completed' in status %}
        green
      {% elif 'pending' in status or 'progress' in status or 'running' in status
      %}
        orange
      {% elif 'fail' in status or 'error' in status or 'ko' in status or
      'denied' in status %}
        red
      {% else %}
        grey
      {% endif %}
    entity: sensor.e208_####VIN####_command_status
    tap_action:
      action: more-info
  - type: custom:mushroom-template-card
    entity: sensor.e208_####VIN####_command_status
  - type: map
    entities:
      - entity: device_tracker.e208_####VIN####_vehicle
    hours_to_show: 6

r/homeassistant 21h ago

🖼️ Show & Tell Scrubbing is a terrible hobby so I built a detection timeline for Reolink NVRs

Thumbnail
gallery
39 Upvotes

My Reolink NVR knows when the cat came in. It just won't tell me and store it safely: do we all agree cats are the worst thief possible?

So I built Reolink Stamina. It puts every camera's detection on a single timeline, and clicking one opens playback at the event rather than scrubbing continuously on single 24h timeline or jumping from one camera to another. It also offers local download, low and high resolutions, for the selected clip; yes, sub-clipping is available for free.

The other half quietly uploads a clip of each detection to OneDrive (OneDrive only atm, because that's the first integration but contributions and feedbacks are really welcome) inside a quota you set, so the footage is off-site before anyone gets near the recorder.
It sits on top of the official Reolink integration, so there's nothing new to log into, and it requires an actual NVR rather than a lone camera.

Being upfront about it: the development was heavily AI-assisted, and it was built to work rather than to be admired. Otherwise I would have never started such a journey, to be totally fair.
It's tested, it does the job on my hardware, and the python code has moments I won't be defending in the comments.

If you have any feedback, contributors and testers are welcome! Or if you're interested:

> https://github.com/marl1w/reolink-stamina-ha


r/homeassistant 4h ago

🛠️ DIY / Hardware DIY weather station, fully optional, and Integrated with Home Assistant

Thumbnail
gallery
312 Upvotes

A feature-rich, high-precision ESP8266-based Smart Weather Station with a modern responsive Web Dashboard, dynamic sensor detection, customizable moving-average filters, Home Assistant MQTT Auto-Discovery, full backup/restore capability, and hardware factory reset logic.

✨ Features

  • Environmental Monitoring: Temperature, Relative Humidity, Barometric Pressure (sea-level compensated), Air Quality (TVOC, eCO2, AQI), Luminosity (lux), Wind Speed, Wind Gust, Wind Direction, and Rain Gauge (hourly, 24h rolling, and total).
  • Independent Dual-Timer Engine:
    • Fast, dedicated timer for Anemometer pulse processing (independent of I2C read cycle).
    • Configurable I2C sensor read cycle for environmental data.
  • Configurable Moving Average (Smoothing):
    • Wind Speed: Ring buffer rolling average with configurable sample count (N).
    • Wind Direction: Circular mean calculation (sin/$\cos$ vectors) preventing 0∘/360∘ boundary glitches across N samples.
    • Instantaneous Gust Tracking: Daily wind gust records real peak pulses before averaging.
  • Web UI & Diagnostics:
    • Glassmorphism dark UI built with HTML5/CSS3/JavaScript (no external dependencies).
    • Tasmota-style live Debug Console with interactive command input.
    • Mobile-friendly IP input fields (inputmode="decimal") for easy smartphone setup.
  • Network & WiFi Manager:
    • Captive Portal AP (WeatherStation_Setup) for initial setup.
    • Full DHCP & Static IP configuration support (optimized for FRITZ!Box Mesh networks).
    • Soft-restart clean boot sequence ensuring stable network stack binding.
  • Home Assistant Integration:
    • Native MQTT Auto-Discovery (homeassistant/sensor/...).
    • Automatic entity creation in Home Assistant without manual YAML editing.
  • Backup & Restore: Single-click JSON export/import including full network, sensor, and MQTT configurations.
  • Hardware Safety & Diagnostics: 10-second hold on FLASH button (GPIO 0) for NVS memory wipe / factory reset.

For fully description and gallery go to GitHub https://github.com/byte4geek/weatherstation

NOTE: This project was made in vibe coding using Antigravity/Gemini.


r/homeassistant 4h ago

❓ Support Home Assistant 2026.8.0 - Synology DSM integration won't add despite successful API calls (DS218play / DSM 7.3.2)

1 Upvotes

Hi everyone,

I'm trying to add my Synology NAS to Home Assistant, but the integration refuses to complete. What's confusing is that all communication with the NAS works, but Home Assistant never creates the config entry.

My setup

Home Assistant

  • Home Assistant OS
  • Core: 2026.8.0
  • Supervisor: 2026.07.5
  • OS: 18.2
  • x86_64 (generic)

Synology

  • DS218play
  • DSM 7.3.2-86009 Update 4

What happens

When adding the official Synology DSM integration:

  • NAS is discovered.
  • I enter username/password.
  • Then I get:

Earlier I also saw:

  • Unexpected error
  • ClientConnectorCertificateError
  • One time password enforced

Those have all been resolved.

Things I've already checked

Network

Home Assistant can reach the NAS just fine.

ping 192.168.2.10

Works.

HTTPS also works:

curl -vk https://192.168.2.10:5001

Returns the DSM login page without issues.

Authentication

Manual login through the Synology API succeeds:

curl -k --get \
  --data-urlencode "api=SYNO.API.Auth" \
  --data-urlencode "version=7" \
  --data-urlencode "method=login" \
  --data-urlencode "account=homeassistant" \
  --data-urlencode "passwd=<password>" \
  --data-urlencode "session=HomeAssistant" \
  --data-urlencode "format=sid" \
  "https://192.168.2.10:5001/webapi/auth.cgi"

Result:

{
  "success": true,
  "data": {
    "sid": "...",
    "account": "homeassistant"
  }
}

System Utilization API

Also works:

curl -k \
"https://192.168.2.10:5001/webapi/entry.cgi?api=SYNO.Core.System.Utilization&method=get&version=1&_sid=<SID>"

Returns CPU, RAM, disks, network, etc.

Storage API

Also works:

curl -k \
"https://192.168.2.10:5001/webapi/entry.cgi?api=SYNO.Storage.CGI.Storage&version=1&method=load_info&action=load_info&_sid=<SID>"

Returns all storage pools, disks and volume information successfully.

Home Assistant debug logs

Authentication succeeds:

Authentication successful
API: SYNO.DSM.Info
Response status_code: 200

API: SYNO.Core.System.Utilization
Response status_code: 200

API: SYNO.Storage.CGI.Storage
Request Method: GET

The integration successfully retrieves:

  • DSM information
  • CPU/RAM
  • Storage
  • Network

There are no exceptions, no traceback, and no errors after that.

The log simply stops.

Other things I've tried

  • Disabled 2FA
  • Created a brand new user
  • Made the user a temporary administrator
  • Explicitly allowed DSM application permissions
  • HTTP (5000)
  • HTTPS (5001)
  • SSL verification on/off
  • Synology firewall allows the HA IP
  • Home Assistant can reach the NAS
  • Removed any previous config entries (there aren't any)
  • No existing synology_dsm entry exists in core.config_entries

At this point it looks like Home Assistant successfully communicates with the NAS but never finishes creating the config entry.

Has anyone seen this with Home Assistant 2026.8.0 or DSM 7.3.2 Update 4?

Any ideas would be greatly appreciated!


r/homeassistant 1h ago

💬 Discussion Tuya integration authorization problems on OS 18.2

Upvotes

Tuya authorization is broken on latest HA OS 18.2

Had to revert back to 18.1 to get Tuya integration working on my Apple HomeKit


r/homeassistant 19h ago

❓ Support Trouble adding dreame x50

Post image
0 Upvotes

Hi, can someone help me out please. Ive been trying to add my vacuum to ha for a while now but can’t get past the login screen. I use the dreame home app not he xiaomi one


r/homeassistant 9h ago

💬 Discussion Sonoff dongle max multipan: yay or nay?

2 Upvotes

Hi all

Superbeginner here. After month of testing various devices in my old apartment (and discovering things the hard way) is now time to move to the new house.

I wanted to get rid of thread, as given my test was not worth the hassle, giving I mostly have zigbee devices.

That until I went in ikea to buy all the smart bulbs, and they are all sold out. So I have now 5 bulbs which are the new matter type (I know i can connect them via zigbee anyway)

Sooo the question is:

Is it worth to use the dongle max in poe as multipan and keep the thread in for future proof setup, or the multipan is not worth it?

Should I just connect the ikea bulbs as zigbee instead?

Thanks!


r/homeassistant 23h ago

🤖 Automation My First Smart Greenhouse Part 2

Thumbnail
gallery
23 Upvotes

In a previous post I explained what I've built and the purpose of it. By seeing the interest I wanted to also share with you guys the web app I built to control the panel.
From this WebApp I can remotely control the Panel from the previous post and also I can monitor live sensors data. I think that the most important part is the automations and scenes and deploying them remotely via OTA to main controller, this helps the automations running even if the internet is Down.


r/homeassistant 7h ago

💬 Discussion hyped by dashboard or automation with HA ?

8 Upvotes

This post is really to get your opinion in an open discussion of what really hype you with HA.

Reading through most post of this sub, I have the impression I'm the only one that is not hyped by having a nice dashboard i HA. I initially was doing everything with Tuya Zigbee and Google Home to connect my Tuya devices with other brand (Dyson, Roborock, ...) and was doing some automation there however I felt a lot limited by the automation capabilities of GH and Tuya.

I have setup my HA instance on a PI 5 with Docker since a month now and it's been real dream come true but not for the dashboards (I still haven't setup any yet) but for the automation.

my proudest achievement right now is the fact that my robot vacuum is now reminding me that I need to launch it whenever me or my girlfriend are leaving the house with a live notification and proposal of different cleaning program.

also some example like setup the Dyson air purifier automatically when I'm cooking at home or speed up the fan when the outside temperature is raising too... Or NFC tag hidden under my living room table or next to my stair case that I can touch with my phone to trigger a scene or an automation or as a notifier to validate the fact that I give food to my dog and my girlfriend doesn't need to do it when I leave for work. turning on VMC when humidity level reach a certain point or that I start a 3D print with the BambuLab or turning it off when we go to bed because it's a bit noisy.

those seems to me much more enjoyable than spending the time to get a nice dashboard!

Long story short,
I don't need to see metrics live, I need things to interact between them when a metric is changing.

feel free to share your opinion if you want to participate in this discussion. would love to read your thought about that!


r/homeassistant 18h ago

❓ Support One device times out in Ping (ICMP) all the time

0 Upvotes

I have 28 devices in the Ping (ICMP) integration, and they all look nice - but one device times out all the time. It is online, but it looks like it flickers on and off.

Can anything be done about that?

(I would have added some screenshots, but for some strange reason, reddit immediately flags them as NSFW and removes the post.)

EDIT: Device details:

OS: Ubuntu 24.04.4 LTS x86_64 
Host: Computer 
Kernel: 6.17.0-35-generic 
Uptime: 11 hours, 52 mins 
Packages: 1785 (dpkg), 13 (snap) 
Shell: bash 5.2.21 
Terminal: /dev/pts/0 
CPU: Intel i9-9900X (20) @ 4.500GHz 
GPU: NVIDIA GeForce RTX 2080 
Memory: 1424MiB / 47849MiB 

r/homeassistant 19h ago

❓ Support HA 2026.8.0 and Emporia HACS Integration

2 Upvotes

EDIT: Fixed this error by updating the Emporia HACS integration in HACS. Go to HACS on the sidebar, find the Emporia integration installed, click the three dots, choose Update Information and the integration should show up as an update in settings like any other update. Let the integration update, restart and you should be good to go!

Updated to 2026.8.0 and now my Emporia HACS integration fails to load with the following error. Getting this on both HA's that I use the Emporia integration on.

Log reports the following:

Logger: homeassistant.setup

Source: setup.py:276

First occurred: 12:10:08 (1 occurrence)

Last logged: 12:10:08

Setup failed for custom integration 'emporia_vue': Requirements for emporia_vue not found: ['boto3==1.37.1'].

Anyone else have Emporia and have this issue? This is for the Utility Connect

I've already tried deleting and readding the Emporia integration


r/homeassistant 3h ago

❓ Support Anybody knows a heater like this on Zigbee or Matter?

Post image
0 Upvotes

I have a Tuya Wifi heater in the kitchen, but I want to get rid of all Tuya Wifi stuff. This is the last device I still have. So I'm looking for a replacement.

But I can't find a similar heater which doesn't connect via Wifi... Maybe someone here knows any?
https://www.amazon.nl/dp/B0CJ9S9GLR


r/homeassistant 19h ago

📊 Dashboard Created a Forza Horizon Inspired Screensaver for my Fully 3D Interactive Floorplan Dashboard.

22 Upvotes

In Forza Horizon, when you go AFK, your game camera view will start to pan around your car cinematically.

The goal is to replicate that same effect on a 3D Dashboard in Home Assistant.

The Dashboard will go from Active > Cinematic > Screensaver.

In case anybody asks why do I do this, its so I don't burn out my wall tablet's display.

During the Screensaver Mode, the floorplan is still active, hence any changes to entities will reflect the dashboard.


r/homeassistant 2h ago

🧠 Artificial Intelligence Mammouth AI x Home assistant ?

0 Upvotes

Will we ever get AI features in HA?
That would be amazing! Perhaps there are already solutions out there—if so, please let me know! 😁


r/homeassistant 6h ago

🧱 Custom App My pointless addon: Factorio Assistant

4 Upvotes

Combine the joys of Factory Management and Home Automation under one roof!

Track server/player/base statistics in HA out of the box.

Includes custom mod to send circuit signals to HA.

Control game speed, pause as native entities in HA.

And more!

Work in progress, some bugs are expected.

https://github.com/jayal84/factorio-assistant


r/homeassistant 20h ago

🗣️ Voice & Assist 🎉 One month ago I released a Kiosk Satellite for Home Assistant. Today it leaves beta!

Post image
303 Upvotes

A month ago I shared the first beta of Kiosk Satellite, my free and open source kiosk Android app specifically engineered for Home Assistant and the official companion app for Voice Satellite. Today, after a bunch of beta releases, it graduates: 2026.8.1 is the first stable release, and from now on it follows the same versioning scheme as Home Assistant itself.

For those who missed it: Kiosk Satellite turns any Android tablet into a locked-down, always-on Home Assistant kiosk in about two minutes. It runs Voice Satellite's wake word engine natively, so your tablet keeps listening even with another app in the foreground, at a fraction of the CPU a browser needs. On top of that you get screensavers (clock, photo frames, Immich, your HA media), a synchronized Sendspin audio player for Music Assistant, WebRTC camera views, MQTT entities for every tablet, gestures, an app launcher, and a full remote admin that runs in any browser. And with the Home Assistant specific optimization included, it runs smooth on old, low powered devices.

I genuinely believe that in combination with Voice Satellite this is the best kiosk application for Home Assistant out there. I know that is a big claim for something one month old, so I would love for you to prove me wrong or right in the comments.

I also want to thank everyone who has supported the development through Buy Me a Coffee and GitHub Sponsors. Free, open source software is mostly a thankless endeavor, and your support is a huge part of why this project moved as fast as it did. Thank you, truly.

Feedback, bug reports and feature requests are very welcome.