Parsing a string to a java LocalTime
Since your format is relatively constant I would suggest parsing it yourself into hours and minutes and seconds and use the LocalTime.of method.  It could look something like this:

public static LocalTime getLocalTime(String inputTime){
    if (inputTime.trim().equals(""))
    {
        return null;
    }
    int hour = ((inputTime.charAt(0)-'0')*10)+(inputTime.charAt(1) - '0');
    int minutes = ((inputTime.charAt(2)-'0')*10)+(inputTime.charAt(3)-'0');
    int seconds = 0;
    if(inputTime.length() != 4){
        if(inputTime.charAt(4) == 'H'){
            seconds = 30;
        }else{
            seconds = ((inputTime.charAt(4)-'0')*10)+(inputTime.charAt(5)-'0');
        } 
    }
    return LocalTime.of(hour, minutes, seconds);
}