Mod that lets buildings report on / off status?

Looking for a mod? Have a review on a mod you'd like to share?
Post Reply
User avatar
Locane
Long Handed Inserter
Long Handed Inserter
Posts: 88
Joined: Fri Jan 04, 2019 8:46 am
Contact:

Mod that lets buildings report on / off status?

Post by Locane »

Does anyone know of a mod that makes buildings attachable to the circuit network and report working / not working status?

Why does this seem like such a huge miss on the part of the devs?

Rseding91
Factorio Staff
Factorio Staff
Posts: 13209
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: Mod that lets buildings report on / off status?

Post by Rseding91 »

Why do you think knowing the on/off status of an entity is important?
If you want to get ahold of me I'm almost always on Discord.

User avatar
Locane
Long Handed Inserter
Long Handed Inserter
Posts: 88
Joined: Fri Jan 04, 2019 8:46 am
Contact:

Re: Mod that lets buildings report on / off status?

Post by Locane »

Locane wrote:
Fri Jun 02, 2023 6:25 am
Does anyone know of a mod that makes buildings attachable to the circuit network and report working / not working status?

Why does this seem like such a huge miss on the part of the devs?
It would help a lot for recipes that produce unwanted byproducts, or whose products are always or sometimes parts of the recipe.

Space Exploration has a good example for Holomite; one of the recipes produces at a 50% rate 2 of the ingredients for that recipe. Feeding it too much raw material means it can't get rid of its output material, not feeding it enough means it's slow or not working at all.

Knowing if the entity is working or not would help determine whether to feed it more ingredients or to wait.

It could also be useful for alarms when you want something running 24/7 (tech labs? Nuclear reactors / Turbines? Water pumps?) and I'm sure other things I can't think of off the top of my head.

I guess it just feels like given the complexity of circuits, trains, logistics, belts, and grabbers, attaching a wire to a building to read its working status or even better its contents would be super obvious.

Tertius
Filter Inserter
Filter Inserter
Posts: 670
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Mod that lets buildings report on / off status?

Post by Tertius »

Production that creates input material isn't a reason for me I need the working status of a machine. Standard approach of this is to feed back the output to the input and at the splitter that combines input and output belt prefer the input that comes from the machine output, so the output will never stall. At the same time this splitter can be applied a filter to sort out the output material I'm interested in.

If the material is a fluid, feed the machine input from a storage tank and feed back the output to that same storage tank. At the input of the tank that comes from the outside, put a pump that is wired with the storage tank and activated only if the tank level is below some threshold. That's how advanced oil processing can work with and balance the 3 different oil products and cracking.

If one was able to wire a production machine, there are these options in general:
  • activate/deactivate machine
  • read working state
  • read input buffer content
  • read output buffer content
Reading the working state alone to enable feeding is not a viable strategy, because you cannot distinguish between input empty and output full. In both cases the machine is stopped.

What is promising is the ability to validate both input and output: a machine is supposed to work if there is enough input and not too much output.

It would be convenient to not get these numbers directly but instead available input buffer space and available output buffer space, because this implicitly includes the respective buffer sizes.
Then, a machine is supposed to be working, if available output buffer space > 0 and available input buffer space == 0.

The ability to read the output buffer could help optimization. One can enable a stack inserter as soon as output buffer > inserter hand size.
In this case, we don't want available buffer space but instead buffer content. Then directly wire the stack inserter with the machine with activation criteria buffer content >= <hand size>. This could also work with available buffer space, if we subtract: activate inserter if available buffer space <= <buffer space> - <hand size>, which can be hardcoded within the inserter, since buffer space and hand size are constant.

But I didn't find a use case for reading the input of a machine. It can be used for detecting and visualizing underflows, but I don't see a role of this for regular production. If the input buffer is full, ok, nice. If the input buffer is empty, the engineer has to build better feeding. For visualizing overflow and underflow, mods like Bottleneck are the better tool.

If it comes to the rocket silo, which is actually a huge assembling machine, reading the output buffer could give us the currently produced rocket parts, so we can see, well, um, I forgot what I once wanted to do with this information. If we want to know we got enough rocket parts for a launch, we could read the hand content of the satellite inserter: if it pulses a satellite, we just finished 100 rocket parts.

The ability to disable a machine would be handy for a mall. For example, if we decide we have enough nuclear reactors buffered in our mall, we could disable the reactor assembling machine. This way, we would not create an additional reactor that sits in limbo in the output buffer as it is currently, because currently we have to deactivate the inserter at the machine output. Deactivating the input inserters is a worse option, because the input buffers contain up to 2 makes, so we get even one reactor more we don't currently want.

So if you ask me, I find it useful to have these circuit network options for a building machine:
  • active/deactivate
  • read output buffer content
  • alternative: read available output buffer space
For fluids, it's the same. Take the content of all output buffers and report the average as percent of the output buffer size. Fluid level is highly fluctuating because of the high throughput, so it may be an option to get a 1/5/10 second average instead of the exact value each tick.

This also fits what I find in actual real world machines. I can turn off machines (there is this big red button everywhere). And I can look at its output what it has just produced and tell the factory about that something is coming or not yet coming. A view of the input is not visible: the input vanishes somewhere in the machine, and it's not clear how much is still there and how much is being used currently.

There are extra values and long standing requests to report for special buildings:
  • read temperature of a heat producing or heat consuming entity such as a reactor or heat exchanger
  • aehm, forgot what else.

User avatar
Locane
Long Handed Inserter
Long Handed Inserter
Posts: 88
Joined: Fri Jan 04, 2019 8:46 am
Contact:

Re: Mod that lets buildings report on / off status?

Post by Locane »

Rseding91 wrote:
Sun Jun 04, 2023 6:35 pm
Why do you think knowing the on/off status of an entity is important?
Hey Rseding - any thoughts on building state? I hope what I wrote wasn't offensive, I don't want to get in to a state of "we will never support this" out of some kind of bad blood or the like.

Post Reply

Return to “Questions, reviews and ratings”