anchor.diff:            begin
               layer.handleNewTime(aClient, selectedTime, fPrivateModelSensorEvent);
             end);
  +      end;
  +      if aPayload.TryGetValue<TJSONValue>('selectedEvent', selectedEvent) then
  +      begin
  +        Log.WriteLn('selected event: '+selectedEvent.toJSON, llWarning);
  +      end;
  +      if aPayload.TryGetValue<TJSONValue>('brush', brush) then
  +      begin
  +        Log.WriteLn('brush: '+brush.toJSON, llWarning);
         end;
       end);
   
  
positive.code:   srp: TPair<TSensor, Integer>;
    sensorValue: Double;
    sr: TSensorsRecord;
  begin
    // todo: use cursor, if a sensor has no value on a specific time it is not accounted for and a higher value
    // could be shown then calculated for the time stamp
  
negative.code:               entry :=
                  '"start":"'+startTime+'"'+','+
                  '"end":"'+endTime+'"'+','+
                  '"color":"'+fillColorPrev+'"'+','+
                  '"tooltip":'+'"max value: '+prevmax.toString+'"'; // localized double
                jsonAdd(Result, '{'+entry+'}');
              end;
              // start new range
              fillColorPrev := fillColor;
              startTime := endTime;
              prevMax := benzene;
            end
            else
            begin
              if prevMax<benzene
              then prevMax := benzene;
            end;
          until not cursor.Next;
          // add last step
          endTime := FormatDateTime(publisherDateTimeFormat, cursor.fCurrentTimeStamp+1/24); // 1 hour
          if (startTime<>'') and (startTime<>endTime) then
          begin
            entry :=
              '"start":"'+startTime+'"'+','+
              '"end":"'+endTime+'"'+','+
              '"color":"'+fillColorPrev+'"'+','+
              '"tooltip":'+'"max value: '+prevmax.toString+'"'; // localized double
            jsonAdd(Result, '{'+entry+'}');
          end;
        end;
  