Automatically updates the firmware of all your Shelly devices at once.

shelly-bulk-update

Automatically updates the firmware of all your Shelly devices at once.

Installation

Download the binary for your platform:

macOS

curl -sSL https://github.com/fermayo/shelly-bulk-update/releases/download/v1.0/shelly-bulk-update-Darwin-x86_64 -o shelly-bulk-update; chmod +x shelly-bulk-update

Linux

curl -sSL https://github.com/fermayo/shelly-bulk-update/releases/download/v1.0/shelly-bulk-update-Linux-x86_64 -o shelly-bulk-update; chmod +x shelly-bulk-update

Windows

Click here to download the binary

Usage

Ensure you are on the same network as your Shelly devices. Then run the binary:

./shelly-bulk-update

It will automatically discover all your Shelly devices using mDNS and attempt to update them if possible.

Please note:

  • The initial discovery can take up to 1 minute.
  • While updates are in progress and devices are restarting, you might see connection errors. Sometimes it takes a few minutes, please be patient :-)

TODO

  • Better UI
  • Support authentication
Owner
Fernando Mayo
Director of Engineering @datadog
Fernando Mayo
Similar Resources

Quick and simple Go application that fixes updates on non TPM, UEFI devices on the latest insider builds.

Quick and simple Go application that fixes updates on non TPM, UEFI devices on the latest insider builds.

W11-Updater Quick and simple Go application that fixes updates on non TPM, UEFI devices on the latest insider builds. Sick of this bullshit? Build Ins

Oct 21, 2021

scrapligo -- is a Go library focused on connecting to devices, specifically network devices (routers/switches/firewalls/etc.) via SSH and NETCONF.

scrapligo -- is a Go library focused on connecting to devices, specifically network devices (routers/switches/firewalls/etc.) via SSH and NETCONF.

scrapligo -- scrap(e c)li (but in go!) -- is a Go library focused on connecting to devices, specifically network devices (routers/switches/firewalls/etc.) via SSH and NETCONF.

Jan 4, 2023

A CLI tool that can be used to disrupt wireless connectivity in your area by jamming all the wireless devices connected to multiple access points.

sig-716i A CLI tool written in Go that can be used to disrupt wireless connectivity in the area accessible to your wireless interface. This tool scans

Oct 14, 2022

Automatically compress podcasts to tiny file sizes for bandwidth constrained devices like cellular.

Automatically compress podcasts to tiny file sizes for bandwidth constrained devices like cellular.

tinycast Automatically compress podcasts to tiny file sizes for bandwidth constrained connections like cellular or satellite.

Sep 18, 2022

Write your SQL queries in raw files with all benefits of modern IDEs, use them in an easy way inside your application with all the profit of compile time constants

About qry is a general purpose library for storing your raw database queries in .sql files with all benefits of modern IDEs, instead of strings and co

Dec 25, 2022

Retro-Floppy UI is a web based application for managing & using a GoTek floppy emulator running the Flash Floppy firmware.

Retro-Floppy UI is a web based application for managing & using a GoTek floppy emulator running the Flash Floppy firmware.

A web user interface for a GoTek running flashfloppy utilising a Raspberry PI 0W as the storage. This allows for remote uploading of files & selecting which disk image is loaded on a retro computer like the BBC Micro or Amiga A1200

Dec 10, 2022

Lg-ess-mqtt - MQTT Firmware Extension for 1st generation LG ESS BESS

lg-ess-mqtt This projects is a firmware extension for the 1st generation LG ESS

Oct 19, 2022

Nerdlight-firmwarebuilder - Nerdlight NodeMCU Firmware Builder CLI

nerdlight-firmwarebuilder ⚒ ⚡️ Nerdlight NodeMCU Firmware Builder CLI ⚒ Descript

Feb 12, 2022

DepCharge is a tool designed to help orchestrate the execution of commands across many directories at once.

DepCharge DepCharge is a tool that helps orchestrate the execution of commands across the many dependencies and directories in larger projects. It als

Sep 27, 2022

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Nov 10, 2022

🐑 Share files at once

🐑 share Share files at once Getting started Step 1. Install go install Step 2. Set your account Create these environment variables. export CH

Nov 9, 2022

Automatically capture all potentially useful information about each executed command (as well as its output) and get powerful querying mechanism

Automatically capture all potentially useful information about each executed command (as well as its output) and get powerful querying mechanism

nhi is a revolutionary tool which automatically captures all potentially useful information about each executed command and everything around, and delivers powerful querying mechanism.

Nov 29, 2022

Checks if there are any updates for imports in your module.

Go Up goup checks if there are any updates for imports in your module. It parses go.mod files to get dependencies with their version, uses go-git to r

Jul 7, 2022

send current weather updates from openweathermap api to your slack profile status using github action

send current weather updates from openweathermap api to your slack profile status using github action

go-slack-weather Send current weather updates from OpenWeatherMap API to your Slack profile status using GitHub Action Contents Setup Change Update Pe

Oct 31, 2022

A simple tool to detect WAN IP changes and updates your cloudflare DNS entries.

Cloudflare IP Updater A simple tool to detect WAN IP changes and updates your cloudflare DNS entries. Usage Create a new Cloudflare API token Copy the

Dec 1, 2022

List your dependencies capabilities and monitor if updates require more capabilities.

A take on supply chain security in Go List your dependencies capabilities and monitor if dependency updates require more capabilities. The Problem Rec

Nov 16, 2022

Connect your devices into a single private WireGuard®-based mesh network.

Wiretrustee A WireGuard®-based mesh network that connects your devices into a single private network. Why using Wiretrustee? Connect multiple devices

Dec 31, 2022

A golang tool to list out all EKS clusters with active nodegroups in all regions in json format

eks-tool A quick and dirty tool to list out all EKS clusters with active nodegro

Dec 18, 2021

Peoplenect - Keep track of all your professional connections on your machine

Peoplenect Keep track of all your professional connections. TODO Create database

Jun 2, 2022
Comments
  • Support for restricted access Shelly devices

    Support for restricted access Shelly devices

    Hi,

    When I run the bulk update tool (on Windows) I get the following message for each Shelly that is discovered:

    Failed to query update status: invalid character 'U' after top-level value, aborting

    I suspect this is because access to each Shelly is restricted with a password (to block tinkering visitors and teenagers). A GUI or CLI that allows the entry of credentials would be useful.

    Thanks!

    CP.

  • Support for Raspberry Pi

    Support for Raspberry Pi

    I'm getting the following error on my Raspberry Pi when I try to run the ./shelly-bulk-update command: bash: ./shelly-bulk-update: cannot execute binary file: Exec format error.

    I've downloaded the linux version with the following command: curl -sSL https://github.com/fermayo/shelly-bulk-update/releases/download/v1.0/shelly-bulk-update-Linux-x86_64 -o shelly-bulk-update; chmod +x shelly-bulk-update.

    I'm not 100% sure if the files aren't supported on the Raspberry Pi or if I did something wrong. Thank you for the help.

  • Missing username and password entry in Windows app

    Missing username and password entry in Windows app

    Hi Fernando,

    I'm using your shelly bulk update app via Raspberry, I really like it! Thanks for all the great work.

    I saw you also had a Windows app, in some cases this is also very handy, but I miss the feature to enter username and password since all my Shelly devices are restricted with username and password.

    In the Raspberry version I use: ./shelly-bulk-update --username admin --password MyPa$$w0rd Is there a way to this also with the Windows app?

    Kind regards, Xavier (The Netherlands)

Suite of libraries for IoT devices (written in Go), experimental for x/exp/io

Go libraries/drivers for IoT devices This repo contains a suite of libraries for IoT devices/sensors/actuators. The suite is meant to be as dependency

Sep 26, 2022
Securely access remote devices and servers
Securely access remote devices and servers

Deviceplane is an open source device management tool for embedded systems and edge computing. It solves various infrastructure problems related to rem

Dec 15, 2022
A opinionated multi-tenant hyperscale Internet of Things platform to connect IoT devices fast and securely with minimal TCO

infinimesh IoT Platform infinimesh is a opinionated multi-tenant hyperscale Internet of Things platform to connect IoT devices fast and securely with

Feb 14, 2022
Count once - Just once? no, when appear many it run once, but it can run many times

countOnce just once? no, when appear many it run once, but it can run many times

Jan 29, 2022
Keyboard-firmware - Go Keyboard Firmware framework

Go Keyboard Firmware framework This is an experimental project that I am using t

Dec 31, 2022
A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons.

Cron.go This is a simple library to handle scheduled tasks. Tasks can be run in a minimum delay of once a second--for which Cron isn't actually design

Dec 17, 2022
A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons.

Cron.go This is a simple library to handle scheduled tasks. Tasks can be run in a minimum delay of once a second--for which Cron isn't actually design

Dec 17, 2022
Tabouli: a TUI for interacting with firmware/embedded devices that support a CLI via serial interface/virtual COM Port
Tabouli: a TUI for interacting with firmware/embedded devices that support a CLI via serial interface/virtual COM Port

Tabouli Information Tabouli is a TUI for interacting with firmware/embedded devi

Apr 2, 2022
Simple application in Golang that retrieves your ip and updates your DNS entries automatically each time your IP changes.

DNS-Updater Simple application in Golang that retrieves your ip and updates your DNS entries automatically each time your IP changes. Motivation Havin

Mar 10, 2022