diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm
index 9d25220c4..d02bd3ea7 100644
--- a/fhem/contrib/DS_Starter/76_SolarForecast.pm
+++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm
@@ -3655,6 +3655,7 @@ sub collectAllRegConsumers {
my $type = $hash->{TYPE};
+ delete $data{$type}{$name}{consumers};
delete $data{$type}{$name}{current}{consumerdevs};
for my $c (1..$maxconsumer) {
@@ -5020,6 +5021,7 @@ return $ret;
################################################################
sub _flowGraphic {
my $paref = shift;
+ my $hash = $paref->{hash};
my $name = $paref->{name};
my $flowgh = $paref->{flowgh};
my $flowgani = $paref->{flowgani};
@@ -5112,6 +5114,39 @@ sub _flowGraphic {
END0
+ ## get consumer list and display it in Graphics
+ ################################################
+ my $type = $hash->{TYPE};
+ my @consumers = sort{$a<=>$b} keys %{$data{$type}{$name}{consumers}}; # definierte Verbraucher ermitteln
+ my $consumercount = scalar @consumers;
+ my $consumer_start = 0;
+ my $consumer_distance = 100;
+
+ if ($consumercount % 2) {
+ $consumer_start = 250 - ($consumer_distance * (($consumercount -1) / 2));
+ }
+ else {
+ $consumer_start = 250 - ((($consumer_distance ) / 2) * ($consumercount-1));
+ }
+
+ $consumer_start = 0 if ($consumer_start < 0);
+ my $pos_left = $consumer_start;
+
+ for my $c0 (@consumers) {
+ next if (!$c0);
+ my ($cons,$im,$start,$end) = split (':', $c0);
+ #Log3 ($name, 1, "$name - Energieflussgrafik, Consumer to show a -> $cons");
+
+ my $cname = ConsumerVal ($hash, $c0, "name", ""); # Name des Consumerdevices
+ my $cicon = ConsumerVal ($hash, $c0, "icon", ""); # Icon des Consumerdevices
+
+ $ret .= '';
+ #$ret .= FW_makeImage($cicon,$cname);
+ $ret .= '';
+ $ret .= ' ';
+ $pos_left = $pos_left + $consumer_distance;
+ }
+
if ($hasbat) {
$ret .= << "END1";
@@ -5140,6 +5175,23 @@ END2
END3
}
+
+ ## get consumer list and display it in Graphics
+ ################################################
+ $pos_left = $consumer_start * 2;
+
+ for my $c1 (@consumers) {
+ next if(!$c1);
+ my ($cons,$im,$start,$end) = split (':', $c1);
+ #Log3 ($name, 1, "$name - Energieflussgrafik, Consumer to show b -> $cons");
+
+ my $consumer_style = 'flowg inactive_out';
+ $consumer_style = 'flowg active_out' if(ReadingsNum($name, "consumer${cons}_currentPower", 0) > 0);
+
+ $ret .= qq{};
+
+ $pos_left = $pos_left + ($consumer_distance * 2);
+ }
$ret .= qq{$cpv} if ($cpv);
$ret .= qq{$soc %} if ($hasbat);
@@ -5149,6 +5201,22 @@ END3
$ret .= qq{$batout} if ($batout && $hasbat);
$ret .= qq{$batin} if ($batin && $hasbat);
+ ## get consumer list and display it in Graphics
+ ################################################
+ $pos_left = $consumer_start * 2;
+
+ for my $c2 (@consumers) {
+ next if(!$c2);
+ my ($cons,$im,$start,$end) = split (':', $c2);
+ #Log3 ($name, 1, "$name - Energieflussgrafik, Consumer to show c -> $cons");
+
+ my $power = ReadingsNum($name, "consumer${cons}_currentPower", 0);
+
+ $ret .= qq{$power};
+
+ $pos_left = $pos_left + ($consumer_distance * 2);
+ }
+
$ret .= qq{};
return $ret;