Back to All Posts

EcoFlow STREAM Ultra: Schedule Protocol Reverse Engineered

June 15, 2026

Today, I am excited to share a major breakthrough in the world of smart home energy management. After several days of intensive research and analysis, I have successfully reverse-engineered the communication protocol used by the EcoFlow Power STREAM Ultra to manage its internal scheduling system (allTimerTask).

The Challenge

EcoFlow units are incredibly powerful, but their official API often lacks write access to advanced features like custom scheduling. This makes it difficult to automate the battery behavior based on dynamic energy tariffs like Octopus Intelligent Go.

The Breakthrough: timeTable Encoding

The core of the scheduling system lies in a single uint32 field called timeTable. This field encodes both the Start Time and End Time using bitwise packing.

packed_value = (endMinute << 16) | startMinute

By shifting the end time (in minutes from midnight) by 16 bits and ORing it with the start time, we get the exact integer the EcoFlow app sends over the wire.

Why it Matters

By unlocking this protocol, we can now programmatically trigger charge and discharge sessions. This means your home battery can now respond in real-time to grid dispatch signals, charging when prices are negative and discharging when demand is highest.

I have released the full technical details, including a Protobuf definition and Python examples, on my GitHub.