TariffTransaction for zero production

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

TariffTransaction for zero production

turban
Hi John,

I am doing some experiments with solar power production customers. These customers sometimes don’t produce any energy (during the night since there is no sunlight).
Sadly these customers also don’t report that they are not producing anything (the broker doesn’t get a TariffTransaction message). On the broker side it is hard to notice if you have lost the customer or if the customer is simply not producing anything. Accounting this is not really hard to implement but is kind of annoying to keep track of weather a production customer withdraw from a tariff (and did not subscribe to another tariff of my broker) or simply didn’t produce anything.

Do you get my problem or am I simply missing something?

Also I noticed that the “sample broker code” which is handling the TariffTransaction messages is kind of outdated.
The code in the sample broker is:
else if (TariffTransaction.Type.PRODUCE == txType) {…}

Shouldn’t it be something like this:
else if (TariffTransaction.Type.PRODUCE == txType && !ttx.isRegulation()) {…}

Otherwise it might confuse some people who are not really familiar with the Power TAC framework since controllable devices “suddenly” produce energy.

Cheers,
 Tobias
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TariffTransaction for zero production

grampajohn
Administrator
Hello, Tobias -

Thanks for your suggestions. The first is now Issue #897, and the second is Issue #898. Both should be relatively easy to fix.

Cheers -

John
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TariffTransaction for zero production

grampajohn
Administrator
In reply to this post by turban
Hello, Tobias -
turban wrote
I am doing some experiments with solar power production customers. These customers sometimes don’t produce any energy (during the night since there is no sunlight).
Sadly these customers also don’t report that they are not producing anything (the broker doesn’t get a TariffTransaction message). On the broker side it is hard to notice if you have lost the customer or if the customer is simply not producing anything. Accounting this is not really hard to implement but is kind of annoying to keep track of weather a production customer withdraw from a tariff (and did not subscribe to another tariff of my broker) or simply didn’t produce anything.
...
I've looked through the code, and I can find no cases where customers (producers or consumers) fail to issue a TariffTransaction, regardless of whether the amount is zero. On the other hand, the distinction between a PRODUCE and a CONSUME transaction is not exactly what you probably think it is. A consumer can issue both CONSUME and PRODUCE transaction, regardless of whether it's a "producer" or a "consumer". For example, in the case where a consumer is asked to supply up-regulation in the balancing market, a PRODUCE transaction will be issued. More significantly for the problem you are seeing, a producer will only issue a PRODUCE transaction if it's production > 0; otherwise it issues a zero-quantity CONSUME transaction. This admittedly strange behavior is there because the choice of transaction type is being made in a place that's outside the scope of the customer model itself. I suppose it might be better to remove the distinction between PRODUCE and CONSUME transactions - just call them TRANSFER or something, and let the sign on the quantity tell you whether it's production or consumption.

Does this help?

John
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TariffTransaction for zero production

grampajohn
Administrator
In reply to this post by grampajohn
Tobias and all -

Today I pushed an update to the sample-broker PortfolioManager that distinguishes between normal and regulation tariff transactions, and properly uses them to fine-tune its records of customer consumption/production. This broker outperforms the un-fixed sample-broker, although the difference does not show up until 3-4 weeks into a game. This is presumably because it takes some time for the improved customer energy tracking to show an effect. This should fix Issue #898.

Cheers -

John
Loading...